[paludis-commits] r4582 - in trunk/paludis: . repositories/e repositories/unpackaged util

ciaranm at svn.pioto.org ciaranm at svn.pioto.org
Thu Apr 17 18:25:29 UTC 2008


Author: ciaranm
Date: 2008-04-17 18:25:28 +0000 (Thu, 17 Apr 2008)
New Revision: 4582

Removed:
   trunk/paludis/ndbam_unmerger.sr
Modified:
   trunk/paludis/files.m4
   trunk/paludis/ndbam_unmerger.cc
   trunk/paludis/ndbam_unmerger.hh
   trunk/paludis/repositories/e/exndbam_repository.cc
   trunk/paludis/repositories/unpackaged/installed_id.cc
   trunk/paludis/util/keys.hh
Log:
More sr -> kc


Modified: trunk/paludis/files.m4
===================================================================
--- trunk/paludis/files.m4	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/files.m4	2008-04-17 18:25:28 UTC (rev 4582)
@@ -43,7 +43,7 @@
 add(`name',                              `hh', `cc', `fwd', `test', `sr', `se')
 add(`ndbam',                             `hh', `cc', `fwd')
 add(`ndbam_merger',                      `hh', `cc')
-add(`ndbam_unmerger',                    `hh', `cc', `sr')
+add(`ndbam_unmerger',                    `hh', `cc')
 add(`override_functions',                `hh', `cc')
 add(`package_database',                  `hh', `cc', `fwd', `test', `se')
 add(`package_id',                        `hh', `cc', `fwd', `se')

Modified: trunk/paludis/ndbam_unmerger.cc
===================================================================
--- trunk/paludis/ndbam_unmerger.cc	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/ndbam_unmerger.cc	2008-04-17 18:25:28 UTC (rev 4582)
@@ -46,8 +46,6 @@
 
 using namespace paludis;
 
-#include <paludis/ndbam_unmerger-sr.cc>
-
 namespace paludis
 {
     template<>
@@ -61,8 +59,8 @@
         Implementation(const NDBAMUnmergerOptions & o) :
             options(o)
         {
-            tokenise_whitespace(o.config_protect, std::back_inserter(config_protect));
-            tokenise_whitespace(o.config_protect_mask, std::back_inserter(config_protect_mask));
+            tokenise_whitespace(o[k::config_protect()], std::back_inserter(config_protect));
+            tokenise_whitespace(o[k::config_protect_mask()], std::back_inserter(config_protect_mask));
         }
     };
 }
@@ -105,8 +103,8 @@
 
 NDBAMUnmerger::NDBAMUnmerger(const NDBAMUnmergerOptions & o) :
     Unmerger(UnmergerOptions::named_create()
-            (k::environment(), o.environment)
-            (k::root(), o.root)),
+            (k::environment(), o[k::environment()])
+            (k::root(), o[k::root()])),
     PrivateImplementationPattern<NDBAMUnmerger>(new Implementation<NDBAMUnmerger>(o)),
     _imp(PrivateImplementationPattern<NDBAMUnmerger>::_imp.get())
 {
@@ -119,29 +117,29 @@
 Hook
 NDBAMUnmerger::extend_hook(const Hook & h) const
 {
-    tr1::shared_ptr<const FSEntrySequence> bashrc_files(_imp->options.environment->bashrc_files());
+    tr1::shared_ptr<const FSEntrySequence> bashrc_files(_imp->options[k::environment()]->bashrc_files());
 
     Hook result(Unmerger::extend_hook(h)
-        ("CONFIG_PROTECT", _imp->options.config_protect)
-        ("CONFIG_PROTECT_MASK", _imp->options.config_protect_mask)
+        ("CONFIG_PROTECT", _imp->options[k::config_protect()])
+        ("CONFIG_PROTECT_MASK", _imp->options[k::config_protect_mask()])
         ("PALUDIS_BASHRC_FILES", join(bashrc_files->begin(), bashrc_files->end(), " ")));
 
-    if (_imp->options.package_id)
+    if (_imp->options[k::package_id()])
     {
-        std::string cat(stringify(_imp->options.package_id->name().category));
-        std::string pn(stringify(_imp->options.package_id->name().package));
-        std::string pvr(stringify(_imp->options.package_id->version()));
-        std::string pv(stringify(_imp->options.package_id->version().remove_revision()));
+        std::string cat(stringify(_imp->options[k::package_id()]->name().category));
+        std::string pn(stringify(_imp->options[k::package_id()]->name().package));
+        std::string pvr(stringify(_imp->options[k::package_id()]->version()));
+        std::string pv(stringify(_imp->options[k::package_id()]->version().remove_revision()));
 
         return result
             ("P", pn + "-" + pv)
             ("PN", pn)
             ("CATEGORY", cat)
-            ("PR", _imp->options.package_id->version().revision_only())
+            ("PR", _imp->options[k::package_id()]->version().revision_only())
             ("PV", pv)
             ("PVR", pvr)
             ("PF", pn + "-" + pvr)
-            ("SLOT", stringify(_imp->options.package_id->slot()));
+            ("SLOT", stringify(_imp->options[k::package_id()]->slot()));
     }
 
     return result;
@@ -175,7 +173,7 @@
 std::string
 NDBAMUnmerger::make_tidy(const FSEntry & f) const
 {
-    std::string root_str(stringify(_imp->options.root)), f_str(stringify(f));
+    std::string root_str(stringify(_imp->options[k::root()])), f_str(stringify(f));
     if (root_str == "/")
         root_str.clear();
     if (0 != f_str.compare(0, root_str.length(), root_str))
@@ -205,7 +203,7 @@
 NDBAMUnmerger::populate_unmerge_set()
 {
     using namespace tr1::placeholders;
-    _imp->options.ndbam->parse_contents(*_imp->options.package_id,
+    _imp->options[k::ndbam()]->parse_contents(*_imp->options[k::package_id()],
             tr1::bind(&NDBAMUnmerger::_add_file, this, _1, _2, _3),
             tr1::bind(&NDBAMUnmerger::_add_dir, this, _1),
             tr1::bind(&NDBAMUnmerger::_add_sym, this, _1, _2, _3)
@@ -217,22 +215,22 @@
 {
     tr1::shared_ptr<FileExtraInfo> fie(tr1::static_pointer_cast<FileExtraInfo>(ei));
 
-    if (! (_imp->options.root / f).is_regular_file())
+    if (! (_imp->options[k::root()] / f).is_regular_file())
         display("--- [!type] " + stringify(f));
-    else if ((_imp->options.root / f).mtime() != fie->_mtime)
+    else if ((_imp->options[k::root()] / f).mtime() != fie->_mtime)
         display("--- [!time] " + stringify(f));
     else
     {
-        std::ifstream md5_file(stringify(_imp->options.root / f).c_str());
+        std::ifstream md5_file(stringify(_imp->options[k::root()] / f).c_str());
         if (! md5_file)
         {
             Log::get_instance()->message("ndbam.unmerger.md5_failed", ll_warning, lc_no_context) << "Cannot get md5 for '" <<
-                (_imp->options.root / f) << "'";
+                (_imp->options[k::root()] / f) << "'";
             display("--- [!md5?] " + stringify(f));
         }
         else if (MD5(md5_file).hexsum() != fie->_md5sum)
             display("--- [!md5 ] " + stringify(f));
-        else if (config_protected(_imp->options.root / f))
+        else if (config_protected(_imp->options[k::root()] / f))
             display("--- [cfgpr] " + stringify(f));
         else
             return true;
@@ -246,11 +244,11 @@
 {
     tr1::shared_ptr<SymlinkExtraInfo> sie(tr1::static_pointer_cast<SymlinkExtraInfo>(ei));
 
-    if (! (_imp->options.root / f).is_symbolic_link())
+    if (! (_imp->options[k::root()] / f).is_symbolic_link())
         display("--- [!type] " + stringify(f));
-    else if ((_imp->options.root / f).mtime() != sie->_mtime)
+    else if ((_imp->options[k::root()] / f).mtime() != sie->_mtime)
         display("--- [!time] " + stringify(f));
-    else if ((_imp->options.root / f).readlink() != sie->_dest)
+    else if ((_imp->options[k::root()] / f).readlink() != sie->_dest)
         display("--- [!dest] " + stringify(f));
     else
         return true;
@@ -267,9 +265,9 @@
 bool
 NDBAMUnmerger::check_dir(const FSEntry & f, tr1::shared_ptr<ExtraInfo>) const
 {
-    if (! (_imp->options.root / f).is_directory())
+    if (! (_imp->options[k::root()] / f).is_directory())
         display("--- [!type] " + stringify(f));
-    else if (DirIterator(_imp->options.root / f, DirIteratorOptions() + dio_include_dotfiles + dio_first_only) != DirIterator())
+    else if (DirIterator(_imp->options[k::root()] / f, DirIteratorOptions() + dio_include_dotfiles + dio_first_only) != DirIterator())
         display("--- [!empt] " + stringify(f));
     else
         return true;

Modified: trunk/paludis/ndbam_unmerger.hh
===================================================================
--- trunk/paludis/ndbam_unmerger.hh	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/ndbam_unmerger.hh	2008-04-17 18:25:28 UTC (rev 4582)
@@ -22,8 +22,9 @@
 #define PALUDIS_GUARD_PALUDIS_REPOSITORIES_UNPACKAGED_NDBAM_UNMERGER_HH 1
 
 #include <paludis/util/private_implementation_pattern.hh>
-#include <paludis/util/sr.hh>
 #include <paludis/util/fs_entry.hh>
+#include <paludis/util/kc-fwd.hh>
+#include <paludis/util/keys.hh>
 #include <paludis/unmerger.hh>
 #include <paludis/environment-fwd.hh>
 #include <paludis/package_id-fwd.hh>
@@ -32,7 +33,15 @@
 {
     class NDBAM;
 
-#include <paludis/ndbam_unmerger-sr.hh>
+    typedef kc::KeyedClass<
+        kc::Field<k::environment, const Environment *>,
+        kc::Field<k::root, FSEntry>,
+        kc::Field<k::contents_file, FSEntry>,
+        kc::Field<k::config_protect, std::string>,
+        kc::Field<k::config_protect_mask, std::string>,
+        kc::Field<k::package_id, tr1::shared_ptr<const PackageID> >,
+        kc::Field<k::ndbam, const NDBAM *>
+            > NDBAMUnmergerOptions;
 
     class PALUDIS_VISIBLE NDBAMUnmergerError :
         public UnmergerError

Deleted: trunk/paludis/ndbam_unmerger.sr
===================================================================
--- trunk/paludis/ndbam_unmerger.sr	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/ndbam_unmerger.sr	2008-04-17 18:25:28 UTC (rev 4582)
@@ -1,19 +0,0 @@
-#!/bin/bash
-# vim: set sw=4 sts=4 et :
-
-make_class_NDBAMUnmergerOptions()
-{
-    visible
-
-    key environment "const Environment *"
-    key root "FSEntry"
-    key contents_file "FSEntry"
-    key config_protect std::string
-    key config_protect_mask std::string
-    key package_id "tr1::shared_ptr<const PackageID>"
-    key ndbam "const NDBAM *"
-
-    allow_named_args
-}
-
-

Modified: trunk/paludis/repositories/e/exndbam_repository.cc
===================================================================
--- trunk/paludis/repositories/e/exndbam_repository.cc	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/repositories/e/exndbam_repository.cc	2008-04-17 18:25:28 UTC (rev 4582)
@@ -414,14 +414,14 @@
 
             /* unmerge */
             NDBAMUnmerger unmerger(
-                    NDBAMUnmergerOptions::create()
-                    .environment(_imp->params.environment)
-                    .root(installed_root_key()->value())
-                    .contents_file(ver_dir / "contents")
-                    .config_protect(config_protect)
-                    .config_protect_mask(config_protect_mask)
-                    .ndbam(&_imp->ndbam)
-                    .package_id(id));
+                    NDBAMUnmergerOptions::named_create()
+                    (k::environment(), _imp->params.environment)
+                    (k::root(), installed_root_key()->value())
+                    (k::contents_file(), ver_dir / "contents")
+                    (k::config_protect(), config_protect)
+                    (k::config_protect_mask(), config_protect_mask)
+                    (k::ndbam(), &_imp->ndbam)
+                    (k::package_id(), id));
 
             unmerger.unmerge();
         }

Modified: trunk/paludis/repositories/unpackaged/installed_id.cc
===================================================================
--- trunk/paludis/repositories/unpackaged/installed_id.cc	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/repositories/unpackaged/installed_id.cc	2008-04-17 18:25:28 UTC (rev 4582)
@@ -703,14 +703,14 @@
     FSEntry ver_dir(fs_location_key()->value());
 
     NDBAMUnmerger unmerger(
-            NDBAMUnmergerOptions::create()
-            .environment(_imp->env)
-            .root(_imp->root)
-            .contents_file(ver_dir / "contents")
-            .config_protect(getenv_with_default("CONFIG_PROTECT", ""))
-            .config_protect_mask(getenv_with_default("CONFIG_PROTECT_MASK", ""))
-            .ndbam(_imp->ndbam)
-            .package_id(shared_from_this()));
+            NDBAMUnmergerOptions::named_create()
+            (k::environment(), _imp->env)
+            (k::root(), _imp->root)
+            (k::contents_file(), ver_dir / "contents")
+            (k::config_protect(), getenv_with_default("CONFIG_PROTECT", ""))
+            (k::config_protect_mask(), getenv_with_default("CONFIG_PROTECT_MASK", ""))
+            (k::ndbam(), _imp->ndbam)
+            (k::package_id(), shared_from_this()));
 
     unmerger.unmerge();
 

Modified: trunk/paludis/util/keys.hh
===================================================================
--- trunk/paludis/util/keys.hh	2008-04-17 17:55:46 UTC (rev 4581)
+++ trunk/paludis/util/keys.hh	2008-04-17 18:25:28 UTC (rev 4582)
@@ -162,6 +162,7 @@
         typedef kc::Key<133> fs_location;
         typedef kc::Key<134> magic;
         typedef kc::Key<135> mutex;
+        typedef kc::Key<136> ndbam;
     }
 }
 



More information about the paludis-commits mailing list