]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/init.cc
* apt-pkg/contrib/configuration.cc:
[apt.git] / apt-pkg / init.cc
index 930c45a87ca7d5c2690f46fe17fe698f51846de9..6310aff112a1ae94ecd4e587e1fed27ecf47dc49 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: init.cc,v 1.16 2001/03/13 06:51:46 jgg Exp $
+// $Id: init.cc,v 1.20 2003/02/09 20:31:05 doogie Exp $
 /* ######################################################################
 
    Init - Initialize the package library
@@ -14,6 +14,7 @@
 
 #include <apti18n.h>
 #include <config.h>
+#include <cstdlib>
 #include <sys/stat.h>
                                                                        /*}}}*/
 
@@ -23,8 +24,6 @@ const char *pkgVersion = VERSION;
 const char *pkgLibVersion = Stringfy(APT_PKG_MAJOR) "."
                             Stringfy(APT_PKG_MINOR) "." 
                             Stringfy(APT_PKG_RELEASE);
-const char *pkgCPU = COMMON_CPU;
-const char *pkgOS = COMMON_OS;
     
 // pkgInitConfig - Initialize the configuration class                  /*{{{*/
 // ---------------------------------------------------------------------
@@ -34,11 +33,10 @@ const char *pkgOS = COMMON_OS;
 bool pkgInitConfig(Configuration &Cnf)
 {
    // General APT things
-   if (strcmp(COMMON_OS,"linux") == 0 ||
-       strcmp(COMMON_OS,"unknown") == 0)
-      Cnf.Set("APT::Architecture",COMMON_CPU);
-   else
-      Cnf.Set("APT::Architecture",COMMON_OS "-" COMMON_CPU);
+   Cnf.Set("APT::Architecture", COMMON_ARCH);
+   Cnf.Set("APT::Build-Essential::", "build-essential");
+   Cnf.Set("APT::Install-Recommends", true);
+   Cnf.Set("APT::Install-Suggests", false);
    Cnf.Set("Dir","/");
    
    // State   
@@ -63,36 +61,63 @@ bool pkgInitConfig(Configuration &Cnf)
    // Configuration
    Cnf.Set("Dir::Etc","etc/apt/");
    Cnf.Set("Dir::Etc::sourcelist","sources.list");
+   Cnf.Set("Dir::Etc::sourceparts","sources.list.d");
    Cnf.Set("Dir::Etc::vendorlist","vendors.list");
    Cnf.Set("Dir::Etc::vendorparts","vendors.list.d");
    Cnf.Set("Dir::Etc::main","apt.conf");
+   Cnf.Set("Dir::Etc::netrc", "auth.conf");
    Cnf.Set("Dir::Etc::parts","apt.conf.d");
    Cnf.Set("Dir::Etc::preferences","preferences");
+   Cnf.Set("Dir::Etc::preferencesparts","preferences.d");
    Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
-             
+   Cnf.Set("Dir::Media::MountPath","/media/apt");
+
+   // State   
+   Cnf.Set("Dir::Log","var/log/apt");
+   Cnf.Set("Dir::Log::Terminal","term.log");
+   Cnf.Set("Dir::Log::History","history.log");
+
+   // Translation
+   Cnf.Set("APT::Acquire::Translation", "environment");
+
    bool Res = true;
    
    // Read an alternate config file
    const char *Cfg = getenv("APT_CONFIG");
-   if (Cfg != 0 && FileExists(Cfg) == true)
-      Res &= ReadConfigFile(Cnf,Cfg);
-   
+   if (Cfg != 0)
+   {
+      if (FileExists(Cfg) == true)
+        Res &= ReadConfigFile(Cnf,Cfg);
+      else
+        _error->WarningE("FileExists",_("Unable to read %s"),Cfg);
+   }
+
    // Read the configuration parts dir
    string Parts = Cnf.FindDir("Dir::Etc::parts");
    if (FileExists(Parts) == true)
       Res &= ReadConfigDir(Cnf,Parts);
-      
+   else
+      _error->WarningE("FileExists",_("Unable to read %s"),Parts.c_str());
+
    // Read the main config file
    string FName = Cnf.FindFile("Dir::Etc::main");
    if (FileExists(FName) == true)
       Res &= ReadConfigFile(Cnf,FName);
-   
+
    if (Res == false)
       return false;
-   
+
    if (Cnf.FindB("Debug::pkgInitConfig",false) == true)
       Cnf.Dump();
-      
+   
+#ifdef APT_DOMAIN
+   if (Cnf.Exists("Dir::Locale"))
+   {  
+      bindtextdomain(APT_DOMAIN,Cnf.FindDir("Dir::Locale").c_str());
+      bindtextdomain(textdomain(0),Cnf.FindDir("Dir::Locale").c_str());
+   }
+#endif
+
    return true;
 }
                                                                        /*}}}*/
@@ -123,7 +148,7 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
       }
       
       if (Sys == 0)
-        return _error->Error(_("Unable to determine a suitable system type"));
+        return _error->Error(_("Unable to determine a suitable packaging system type"));
    }
    
    return Sys->Initialize(Cnf);