[paludis-commits] r4622 - in trunk: . paludis/environments/paludis

dleverton at svn.pioto.org dleverton at svn.pioto.org
Sat Apr 26 14:07:52 UTC 2008


Author: dleverton
Date: 2008-04-26 14:07:51 +0000 (Sat, 26 Apr 2008)
New Revision: 4622

Modified:
   trunk/ChangeLog
   trunk/paludis/environments/paludis/paludis_config.cc
Log:
Use proper defaults when environment.conf doesn't exist.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-04-26 13:59:04 UTC (rev 4621)
+++ trunk/ChangeLog	2008-04-26 14:07:51 UTC (rev 4622)
@@ -5,6 +5,11 @@
 only listed in SVN log. For a summary of what has changed between releases,
 see the NEWS file. This file is occasionally pruned to ChangeLog.old.bz2.
 
+2008-04-26 David Leverton
+
+	* paludis/environments/paludis/: Use proper defaults when
+	environment.conf doesn't exist.
+
 2008-04-26 Ciaran McCreesh
 
 	* (everything): paludis::tr1:: is dead. We no longer support compilers

Modified: trunk/paludis/environments/paludis/paludis_config.cc
===================================================================
--- trunk/paludis/environments/paludis/paludis_config.cc	2008-04-26 13:59:04 UTC (rev 4621)
+++ trunk/paludis/environments/paludis/paludis_config.cc	2008-04-26 14:07:51 UTC (rev 4622)
@@ -175,39 +175,40 @@
             }
         }
         else
+        {
             Log::get_instance()->message("paludis_environment.no_environment_conf", ll_debug, lc_context)
                 << "No environment.conf or environment.bash in '" << config_dir << "'";
+            std::stringstream str;
+            kv.reset(new KeyValueConfigFile(str, KeyValueConfigFileOptions(), KeyValueConfigFile::Defaults(conf_vars)));
+        }
 
-        if (kv)
+        if (! kv->get("reduced_username").empty())
+            reduced_username = kv->get("reduced_username");
+
+        if (! kv->get("portage_compatible").empty())
+            Log::get_instance()->message("paludis_environment.portage_compatible.deprecated", ll_warning, lc_context)
+                << "The 'portage_compatible' variable in environment.conf is deprecated,"
+                << " set 'accept_breaks_portage' to empty instead.";
+        else
         {
-            if (! kv->get("reduced_username").empty())
-                reduced_username = kv->get("reduced_username");
+            std::list<std::string> breakages;
+            tokenise_whitespace(kv->get("accept_breaks_portage"), std::back_inserter(breakages));
+            for (std::list<std::string>::const_iterator it(breakages.begin()),
+                     it_end(breakages.end()); it_end != it; ++it)
+                if ("*" == *it)
+                {
+                    accept_all_breaks_portage = true;
+                    break;
+                }
+                else
+                    accept_breaks_portage.insert(*it);
+        }
 
-            if (! kv->get("portage_compatible").empty())
-                Log::get_instance()->message("paludis_environment.portage_compatible.deprecated", ll_warning, lc_context)
-                    << "The 'portage_compatible' variable in environment.conf is deprecated,"
-                    << " set 'accept_breaks_portage' to empty instead.";
-            else
-            {
-                std::list<std::string> breakages;
-                tokenise_whitespace(kv->get("accept_breaks_portage"), std::back_inserter(breakages));
-                for (std::list<std::string>::const_iterator it(breakages.begin()),
-                         it_end(breakages.end()); it_end != it; ++it)
-                    if ("*" == *it)
-                    {
-                        accept_all_breaks_portage = true;
-                        break;
-                    }
-                    else
-                        accept_breaks_portage.insert(*it);
-            }
+        distribution = kv->get("distribution");
 
-            distribution = kv->get("distribution");
+        if (! kv->get("world").empty())
+            world_file.reset(new FSEntry(kv->get("world")));
 
-            if (! kv->get("world").empty())
-                world_file.reset(new FSEntry(kv->get("world")));
-        }
-
         if (! world_file)
             Log::get_instance()->message("paludis_environment.world.no_world", ll_warning, lc_context)
                 << "No world file specified. You should specify 'world = /path/to/world/file' in "



More information about the paludis-commits mailing list