<command>melanie</command> is the command line tool to add and remove packages from suites.
<command>melanie</command> is the command line tool to add and remove package sets from suites with enforced logging, optional bug closing and override updates.
<RefSect1><Title>Options</>
...
...
@@ -90,12 +90,13 @@
<para>There are 3 methods for selecting packages.</para>
<itemizedlist>
<listitem>
<para>Source + Binary. (default)</para>
<para>Source + Binaries. (default)</para>
<para>In this mode <command>melanie</command> will assume each of the package(s) passed as arguments are source packages and will also remove any binary packages built from these source packages.</para>
</listitem>
<listitem>
<para>Binary only.</para>
<para>Only binary packages are searched; source packages are ignored. This mode is chosen by use of the <option>-b/--binary</option> switch.</para>
<para>This should <emphasis>only</emphasis> be used for orphaned binary packages (i.e. those no longer built by source packages); otherwise, in any system (e.g. Debian) which has auto-building, pointless (and uninstallable) recompiles will be triggered.</para>
</listitem>
<listitem>
<para>Source only.</para>
...
...
@@ -104,15 +105,71 @@
</itemizedlist>
</refsect1>
<refsect1>
<title>Configuration</title>
<para><command>melanie</command> uses katie's configuration file. It follows the typical ISC configuration format as seen in ISC tools like bind 8 and dhcpd. Apart from being able to alter the defaults for command line options, the following configuration items are used:</para>
<variablelist>
<varlistentry>
<term>Melanie::MyEmailAddress</term>
<listitem>
<para>This is used as the From: line for bug closing mails as per the -d/--done command line switch. It, obviously, must be a RFC-822 valid email address.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Melanie::LogFile</term>
<listitem>
<para>This is the (absolute) file name of the logfile that melanie unconditionally writes too. This can not be empty or an invalid file.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
<para></para>
<para>The first example is of a source+binaries package removal.</para>
<informalexample>
<literallayout>
troup@auric| ~ $melanie -d 68136 -m "Requested by tbm@; confirmed with maintainer. Superseded by libgmp2" gmp1
q=projectB.query("SELECT package FROM override WHERE package = '%s' AND suite = %s AND component = %s AND type = %s"
q=projectB.query("SELECT s.section, p.priority FROM override o, section s, priority p WHERE package = '%s' AND suite = %s AND component = %s AND type = %s AND o.section = s.id AND o.priority = p.id"
q=projectB.query("SELECT package FROM override WHERE package = '%s' AND suite = %s AND component = %s AND type = %s"
q=projectB.query("SELECT s.section, p.priority FROM override o, section s, priority p WHERE package = '%s' AND suite = %s AND component = %s AND type = %s AND o.section = s.id AND o.priority = p.id"