]> git.saurik.com Git - apt.git/blobdiff - apt-private/private-cmndline.cc
apt-helper: cat-file: Add -C/--compress option
[apt.git] / apt-private / private-cmndline.cc
index 4231c4f0ef82088ca2513ebf43d7bb3ca00d6c35..82908591651f3b02a11f0978c69201500181b768 100644 (file)
@@ -156,8 +156,12 @@ static bool addArgumentsAPTInternalSolver(std::vector<CommandLine::Args> &, char
    return true;
 }
                                                                        /*}}}*/
-static bool addArgumentsAPTHelper(std::vector<CommandLine::Args> &, char const * const)/*{{{*/
+static bool addArgumentsAPTHelper(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/
 {
+   if (CmdMatches("cat-file"))
+   {
+      addArg('C', "compress", "Apt-Helper::Cat-File::Compress",CommandLine::HasArg);
+   }
    return true;
 }
                                                                        /*}}}*/
@@ -378,7 +382,8 @@ static void ShowHelpListCommands(std::vector<aptDispatchWithHelp> const &Cmds)/*
    }
 }
                                                                        /*}}}*/
-static bool ShowCommonHelp(APT_CMD const Binary, CommandLine &CmdL, std::vector<aptDispatchWithHelp> const &Cmds)/*{{{*/
+static bool ShowCommonHelp(APT_CMD const Binary, CommandLine &CmdL, std::vector<aptDispatchWithHelp> const &Cmds,/*{{{*/
+      bool (*ShowHelp)(CommandLine &))
 {
    std::cout << PACKAGE << " " << PACKAGE_VERSION << " (" << COMMON_ARCH << ")" << std::endl;
    if (_config->FindB("version") == true && Binary != APT_CMD::APT_GET)
@@ -434,6 +439,7 @@ static void BinarySpecificConfiguration(char const * const Binary)  /*{{{*/
       _config->CndSet("Binary::apt::APT::Cmd::Show-Update-Stats", true);
       _config->CndSet("Binary::apt::DPkg::Progress-Fancy", true);
       _config->CndSet("Binary::apt::Acquire::AllowInsecureRepositories", false);
+      _config->CndSet("Binary::apt::APT::Keep-Downloaded-Packages", false);
    }
 
    _config->Set("Binary", binary);
@@ -442,7 +448,8 @@ static void BinarySpecificConfiguration(char const * const Binary)  /*{{{*/
 }
                                                                        /*}}}*/
 std::vector<CommandLine::Dispatch> ParseCommandLine(CommandLine &CmdL, APT_CMD const Binary,/*{{{*/
-      Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char *argv[])
+      Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char *argv[],
+      bool (*ShowHelp)(CommandLine &), std::vector<aptDispatchWithHelp> (*GetCommands)(void))
 {
    if (Cnf != NULL && pkgInitConfig(**Cnf) == false)
    {
@@ -477,7 +484,7 @@ std::vector<CommandLine::Dispatch> ParseCommandLine(CommandLine &CmdL, APT_CMD c
        (Sys != NULL && pkgInitSystem(*_config, *Sys) == false))
    {
       if (_config->FindB("version") == true)
-        ShowCommonHelp(Binary, CmdL, CmdsWithHelp);
+        ShowCommonHelp(Binary, CmdL, CmdsWithHelp, ShowHelp);
 
       _error->DumpErrors();
       exit(100);
@@ -487,12 +494,12 @@ std::vector<CommandLine::Dispatch> ParseCommandLine(CommandLine &CmdL, APT_CMD c
    if (_config->FindB("help") == true || _config->FindB("version") == true ||
         (CmdL.FileSize() > 0 && strcmp(CmdL.FileList[0], "help") == 0))
    {
-      ShowCommonHelp(Binary, CmdL, CmdsWithHelp);
+      ShowCommonHelp(Binary, CmdL, CmdsWithHelp, ShowHelp);
       exit(0);
    }
    if (Cmds.empty() == false && CmdL.FileSize() == 0)
    {
-      ShowCommonHelp(Binary, CmdL, CmdsWithHelp);
+      ShowCommonHelp(Binary, CmdL, CmdsWithHelp, ShowHelp);
       exit(1);
    }
    return Cmds;