]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-get.cc
VersionHash: Do not skip too long dependency lines
[apt.git] / cmdline / apt-get.cc
index 9ffb7b1eee8bac7e06e6b609a3c05802d09720b3..95d88e2ad00539955c29caea5af2cb655598f199 100644 (file)
@@ -248,8 +248,9 @@ static bool DoIndexTargets(CommandLine &CmdL)
 {
    pkgCacheFile CacheFile;
    pkgSourceList *SrcList = CacheFile.GetSourceList();
+   pkgCache *Cache = CacheFile.GetPkgCache();
 
-   if (SrcList == NULL)
+   if (SrcList == nullptr || Cache == nullptr)
       return false;
 
    std::string const Format = _config->Find("APT::Get::IndexTargets::Format");
@@ -262,8 +263,7 @@ static bool DoIndexTargets(CommandLine &CmdL)
       if (ReleaseInfo)
       {
         AddOptions.insert(std::make_pair("TRUSTED", ((*S)->IsTrusted() ? "yes" : "no")));
-        pkgCache &Cache = *CacheFile.GetPkgCache();
-        pkgCache::RlsFileIterator const RlsFile = (*S)->FindInCache(Cache, false);
+        pkgCache::RlsFileIterator const RlsFile = (*S)->FindInCache(*Cache, false);
         if (RlsFile.end())
            continue;
 #define APT_RELEASE(X,Y) if (RlsFile.Y() != NULL) AddOptions.insert(std::make_pair(X, RlsFile.Y()))
@@ -299,6 +299,8 @@ static bool DoIndexTargets(CommandLine &CmdL)
                  stanza << "PDiffs: " << O->second << "\n";
               else if (O->first == "COMPRESSIONTYPES")
                  stanza << "CompressionTypes: " << O->second << "\n";
+              else if (O->first == "KEEPCOMPRESSEDAS")
+                 stanza << "KeepCompressedAs: " << O->second << "\n";
               else if (O->first == "DEFAULTENABLED")
                  stanza << "DefaultEnabled: " << O->second << "\n";
               else
@@ -343,7 +345,7 @@ static bool DoIndexTargets(CommandLine &CmdL)
    return true;
 }
                                                                        /*}}}*/
-bool ShowHelp(CommandLine &, aptDispatchWithHelp const * Cmds)         /*{{{*/
+static bool ShowHelp(CommandLine &)                                    /*{{{*/
 {
    if (_config->FindB("version") == true)
    {
@@ -371,54 +373,35 @@ bool ShowHelp(CommandLine &, aptDispatchWithHelp const * Cmds)            /*{{{*/
               cout << "Pkg:  " << Sys->Label << " (Priority " << Sys->Score(*_config) << ")" << endl;
         }
       }
-      
+
       for (unsigned I = 0; I != pkgSourceList::Type::GlobalListLen; I++)
       {
         pkgSourceList::Type *Type = pkgSourceList::Type::GlobalList[I];
         cout << " S.L: '" << Type->Name << "' " << Type->Label << endl;
-      }      
-      
+      }
+
       for (unsigned I = 0; I != pkgIndexFile::Type::GlobalListLen; I++)
       {
         pkgIndexFile::Type *Type = pkgIndexFile::Type::GlobalList[I];
         cout << " Idx: " << Type->Label << endl;
-      }      
-      
+      }
+
       return true;
    }
 
    std::cout <<
-    _("Usage: apt-get [options] command\n"
-      "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
-      "       apt-get [options] source pkg1 [pkg2 ...]\n"
-      "\n"
-      "apt-get is a simple command line interface for downloading and\n"
-      "installing packages. The most frequently used commands are update\n"
-      "and install.\n")
-      << std::endl;
-   ShowHelpListCommands(Cmds);
-   std::cout << std::endl <<
-      _("Options:\n"
-      "  -h  This help text.\n"
-      "  -q  Loggable output - no progress indicator\n"
-      "  -qq No output except for errors\n"
-      "  -d  Download only - do NOT install or unpack archives\n"
-      "  -s  No-act. Perform ordering simulation\n"
-      "  -y  Assume Yes to all queries and do not prompt\n"
-      "  -f  Attempt to correct a system with broken dependencies in place\n"
-      "  -m  Attempt to continue if archives are unlocatable\n"
-      "  -u  Show a list of upgraded packages as well\n"
-      "  -b  Build the source package after fetching it\n"
-      "  -V  Show verbose version numbers\n"
-      "  -c=? Read this configuration file\n"
-      "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
-      "See the apt-get(8), sources.list(5) and apt.conf(5) manual\n"
-      "pages for more information and options.\n"
-      "                       This APT has Super Cow Powers.\n");
+      _("Usage: apt-get [options] command\n"
+           "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
+           "       apt-get [options] source pkg1 [pkg2 ...]\n"
+           "\n"
+           "apt-get is a command line interface for retrieval of packages\n"
+           "and information about them from authenticated sources and\n"
+           "for installation, upgrade and removal of packages together\n"
+           "with their dependencies.\n");
    return true;
 }
                                                                        /*}}}*/
-std::vector<aptDispatchWithHelp> GetCommands()                         /*{{{*/
+static std::vector<aptDispatchWithHelp> GetCommands()                  /*{{{*/
 {
    return {
       {"update", &DoUpdate, _("Retrieve new lists of packages")},
@@ -449,11 +432,9 @@ std::vector<aptDispatchWithHelp> GetCommands()                             /*{{{*/
                                                                        /*}}}*/
 int main(int argc,const char *argv[])                                  /*{{{*/
 {
-   InitLocale();
-
    // Parse the command line and initialize the package library
    CommandLine CmdL;
-   auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_GET, &_config, &_system, argc, argv);
+   auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_GET, &_config, &_system, argc, argv, &ShowHelp, &GetCommands);
 
    InitSignals();
    InitOutput();