]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-extracttemplates.cc
ensure a good clock() value for usage and tests
[apt.git] / cmdline / apt-extracttemplates.cc
index cd52cfe3379edc262ed69d45ce89e4699a572834..a4468b9893eb7016ca7d7fa637a6e7d4b7fd4c70 100644 (file)
@@ -34,6 +34,7 @@
 #include <apt-pkg/mmap.h>
 
 #include <apt-private/private-cmndline.h>
+#include <apt-private/private-main.h>
 
 #include <iostream>
 #include <stdio.h>
@@ -214,27 +215,14 @@ bool DebFile::ParseInfo()
        return true;
 }
                                                                        /*}}}*/
-// ShowHelp - show a short help text                                   /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-static bool ShowHelp(CommandLine &, CommandLine::DispatchWithHelp const *)
+static bool ShowHelp(CommandLine &)                                    /*{{{*/
 {
-       ioprintf(std::cout, "%s %s (%s)\n", PACKAGE, PACKAGE_VERSION, COMMON_ARCH);
-
-       if (_config->FindB("version") == true)
-               return true;
-
        cout <<
                _("Usage: apt-extracttemplates file1 [file2 ...]\n"
                "\n"
-               "apt-extracttemplates is a tool to extract config and template info\n"
-               "from debian packages\n"
-               "\n"
-               "Options:\n"
-               "  -h   This help text\n"
-               "  -t   Set the temp dir\n"
-               "  -c=? Read this configuration file\n"
-               "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n");
+               "apt-extracttemplates is used to extract config and template files\n"
+               "from debian packages. It is used mainly by debconf(1) to prompt for\n"
+               "configuration questions before installation of packages.\n");
        return true;
 }
                                                                        /*}}}*/
@@ -342,36 +330,20 @@ static bool Go(CommandLine &CmdL)
        return !_error->PendingError();
 }
                                                                        /*}}}*/
+static std::vector<aptDispatchWithHelp> GetCommands()                  /*{{{*/
+{
+   return {
+       {nullptr, nullptr, nullptr}
+   };
+}
+                                                                       /*}}}*/
 int main(int argc, const char **argv)                                  /*{{{*/
 {
-       CommandLine::Args Args[] = {
-               {'h',"help","help",0},
-               {'v',"version","version",0},
-               {'t',"tempdir","APT::ExtractTemplates::TempDir",CommandLine::HasArg},
-               {'c',"config-file",0,CommandLine::ConfigFile},
-               {'o',"option",0,CommandLine::ArbItem},
-               {0,0,0,0}};
-
-       // Set up gettext support
-       setlocale(LC_ALL,"");
-       textdomain(PACKAGE);
-
-       // Parse the command line and initialize the package library
-       CommandLine::DispatchWithHelp Cmds[] = {{nullptr, nullptr, nullptr}};
        CommandLine CmdL;
-       ParseCommandLine(CmdL, Cmds, Args, &_config, &_system, argc, argv, ShowHelp);
+       auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_EXTRACTTEMPLATES, &_config, &_system, argc, argv, &ShowHelp, &GetCommands);
 
        Go(CmdL);
 
-       // Print any errors or warnings found during operation
-       if (_error->empty() == false)
-       {
-               // This goes to stderr..
-               bool Errors = _error->PendingError();
-               _error->DumpErrors();
-               return Errors == true?100:0;
-       }
-       
-       return 0;
+       return DispatchCommandLine(CmdL, {});
 }
                                                                        /*}}}*/