diff options
-rw-r--r-- | cmdline/apt-config.cc | 10 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | doc/apt-config.8.xml | 16 | ||||
-rw-r--r-- | doc/apt-verbatim.ent | 3 |
4 files changed, 31 insertions, 3 deletions
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc index 79ae944df..397ce32df 100644 --- a/cmdline/apt-config.cc +++ b/cmdline/apt-config.cc @@ -63,7 +63,13 @@ bool DoShell(CommandLine &CmdL) /* */ bool DoDump(CommandLine &CmdL) { - _config->Dump(cout); + bool const empty = _config->FindB("APT::Config::Dump::EmptyValue", true); + std::string const format = _config->Find("APT::Config::Dump::Format", "%f \"%v\";\n"); + if (CmdL.FileSize() == 1) + _config->Dump(cout, NULL, format.c_str(), empty); + else + for (const char **I = CmdL.FileList + 1; *I != 0; ++I) + _config->Dump(cout, *I, format.c_str(), empty); return true; } /*}}}*/ @@ -100,6 +106,8 @@ int main(int argc,const char *argv[]) /*{{{*/ {'v',"version","version",0}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, + {0,"empty","APT::Config::Dump::EmptyValue",CommandLine::Boolean}, + {0,"format","APT::Config::Dump::Format",CommandLine::HasArg}, {0,0,0,0}}; CommandLine::Dispatch Cmds[] = {{"shell",&DoShell}, {"dump",&DoDump}, diff --git a/debian/changelog b/debian/changelog index 79c09b092..97a7855fb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,11 @@ apt (0.9.3) unstable; urgency=low - add a more versatile Dump() method * apt-pkg/acquire-worker.cc: - use Dump() to generate the configuration message for sending + * cmdline/apt-config.cc: + - make it possible to limit dump to a subtree + - implement --empty and --format option for dump - -- David Kalnischkies <kalnischkies@gmail.com> Sun, 22 Apr 2012 12:28:13 +0200 + -- David Kalnischkies <kalnischkies@gmail.com> Sun, 22 Apr 2012 12:29:07 +0200 apt (0.9.2) unstable; urgency=low diff --git a/doc/apt-config.8.xml b/doc/apt-config.8.xml index b6fcf4bf2..94aeec059 100644 --- a/doc/apt-config.8.xml +++ b/doc/apt-config.8.xml @@ -85,7 +85,21 @@ eval $RES &apt-cmdblurb; <variablelist> - + <varlistentry> + <term><option>--empty</option></term> + <listitem><para>Include options which have an empty value. This is the default, so + use --no-empty to remove them from the output.</para></listitem> + </varlistentry> + + <varlistentry> + <term><option>--format '<replaceable>%f "%v";%n</replaceable>'</option></term> + <listitem><para>Defines the output of each config option. %t will be replaced with the tagname, + %f with the complete tagname and %v with the value of the option. + Use uppercase letters and the respective values will be quoted. Additionally + %n will be replaced by a newline, %N by a tab. A % can be + printed by using %%.</para></listitem> + </varlistentry> + &apt-commonoptions; </variablelist> diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent index ad4554e2f..3846c17e3 100644 --- a/doc/apt-verbatim.ent +++ b/doc/apt-verbatim.ent @@ -269,8 +269,11 @@ &synopsis-help; </group> </cmdsynopsis></refsynopsisdiv>"> +<!--<arg><option>- -format '<replaceable>%f \"%v\";%n</replaceable>'</option></arg>--> <!ENTITY synopsis-command-apt-config "<refsynopsisdiv><cmdsynopsis> <command>apt-config</command> + <arg><option>--empty</option></arg> + <arg><option>--format '<replaceable>%f "%v";%n</replaceable>'</option></arg> &synopsis-arg-option; &synopsis-arg-config; <group choice='req'> |