summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-04-22 12:29:24 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-04-22 12:29:24 +0200
commita88136062dbe189417aa0b4751449637816c8445 (patch)
tree5ad1ea4b7bc456249c356921dd86af09d85825b9
parentd280d03ac50f2b49f7c08f825dccdebf61b62c57 (diff)
* cmdline/apt-config.cc:
- make it possible to limit dump to a subtree - implement --empty and --format option for dump
-rw-r--r--cmdline/apt-config.cc10
-rw-r--r--debian/changelog5
-rw-r--r--doc/apt-config.8.xml16
-rw-r--r--doc/apt-verbatim.ent3
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>&percnt;f &#x0022;&percnt;v&#x0022;;&percnt;n</replaceable>'</option></term>
+ <listitem><para>Defines the output of each config option. &percnt;t will be replaced with the tagname,
+ &percnt;f with the complete tagname and &percnt;v with the value of the option.
+ Use uppercase letters and the respective values will be quoted. Additionally
+ &percnt;n will be replaced by a newline, &percnt;N by a tab. A &percnt; can be
+ printed by using &percnt;&percnt;.</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>&#37;f \"&#37;v\";&#37;n</replaceable>'</option></arg>-->
<!ENTITY synopsis-command-apt-config "<refsynopsisdiv><cmdsynopsis>
<command>apt-config</command>
+ <arg><option>--empty</option></arg>
+ <arg><option>--format '<replaceable>&percnt;f &#x0022;&percnt;v&#x0022;;&percnt;n</replaceable>'</option></arg>
&synopsis-arg-option;
&synopsis-arg-config;
<group choice='req'>