]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/init.cc
implement correct error reporting
[apt.git] / apt-pkg / init.cc
index 2f15486d9440d0f67742ea69d443cc0bb19793bb..aff585e3b915d4f4beff92ef1b82b8f0c97d702b 100644 (file)
@@ -24,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                  /*{{{*/
 // ---------------------------------------------------------------------
@@ -35,13 +33,9 @@ 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", false);
+   Cnf.Set("APT::Install-Recommends", true);
    Cnf.Set("APT::Install-Suggests", false);
    Cnf.Set("Dir","/");
    
@@ -57,7 +51,8 @@ bool pkgInitConfig(Configuration &Cnf)
        
    Cnf.Set("Dir::State::lists","lists/");
    Cnf.Set("Dir::State::cdroms","cdroms.list");
-   
+   Cnf.Set("Dir::State::mirrors","mirrors/");
+
    // Cache
    Cnf.Set("Dir::Cache","var/cache/apt/");
    Cnf.Set("Dir::Cache::archives","archives/");
@@ -71,30 +66,60 @@ bool pkgInitConfig(Configuration &Cnf)
    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::Etc::trusted", "trusted.gpg");
+   Cnf.Set("Dir::Etc::trustedparts","trusted.gpg.d");
+
    Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
-   
+   Cnf.Set("Dir::Bin::solvers::","/usr/lib/apt/solvers");
+   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");
+
+   Cnf.Set("Dir::Ignore-Files-Silently::", "~$");
+   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$");
+   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$");
+   Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$");
+
+   // Translation
+   Cnf.Set("APT::Acquire::Translation", "environment");
+
+   // Default cdrom mount point
+   Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/");
+
    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 (RealFileExists(Cfg) == true)
+        Res &= ReadConfigFile(Cnf,Cfg);
+      else
+        _error->WarningE("RealFileExists",_("Unable to read %s"),Cfg);
+   }
+
    // Read the configuration parts dir
    string Parts = Cnf.FindDir("Dir::Etc::parts");
-   if (FileExists(Parts) == true)
+   if (DirectoryExists(Parts) == true)
       Res &= ReadConfigDir(Cnf,Parts);
-      
+   else
+      _error->WarningE("DirectoryExists",_("Unable to read %s"),Parts.c_str());
+
    // Read the main config file
    string FName = Cnf.FindFile("Dir::Etc::main");
-   if (FileExists(FName) == true)
+   if (RealFileExists(FName) == true)
       Res &= ReadConfigFile(Cnf,FName);
-   
+
    if (Res == false)
       return false;
-   
+
    if (Cnf.FindB("Debug::pkgInitConfig",false) == true)
       Cnf.Dump();
    
@@ -106,9 +131,6 @@ bool pkgInitConfig(Configuration &Cnf)
    }
 #endif
 
-   // Translation
-   Cnf.Set("APT::Acquire::Translation", "environment");
-   
    return true;
 }
                                                                        /*}}}*/