]> git.decadent.org.uk Git - dak.git/blobdiff - docs/melanie.1.sgml
Stop using silly names, and migrate to a saner directory structure.
[dak.git] / docs / melanie.1.sgml
index 4a23f0894be8e2b915d083645ab4f2ba189a231e..79ec89af6a9d65bf3d61b778492325b3936834c4 100644 (file)
   
   <RefSect1><Title>Description</>
     <para>   
-      <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.
+    </PARA>
+  </REFSECT1>
 
   <RefSect1><Title>Options</>
     
     <VariableList>
       <VarListEntry><term><option>-a/--architecture=<replaceable>architecture</replaceable></option></>
-       <ListItem><Para>
-           Restrict the packages being considered to the architecture(s) listed.
+       <ListItem>
+         <Para>Restrict the packages being considered to the architecture(s) listed.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-b/--binary</option></>
-       <ListItem><Para>
-           Only look at binary packages.
+       <ListItem>
+         <Para>Only look at binary packages.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-c/--component=<replaceable>component</replaceable></option></>
-       <ListItem><Para>
-           Restrict the packages being considered to those found in the component(s) listed.  The default is <literal>main</literal>.
+       <ListItem>
+         <Para>Restrict the packages being considered to those found in the component(s) listed.  The default is <literal>main</literal>.</PARA>
+       </LISTITEM>
+      </VarListEntry>
+
+      <VarListEntry><term><option>-C/--carbon-copy=<replaceable>[ bug number | 'package' | email address ]</replaceable></option></>
+       <ListItem>
+         <Para>Carbon copy the bug closing mail to the address(es) given.  If the removal was not requested by the maintainer, this option should always be used to inform the maintainer of the package's removal.  3 types of address are accepted.</PARA>
+           <itemizedlist>
+             <listitem>
+               <para>number - assumed to be a bug number, and expanded to nnnnn@bugs.debian.org.</para>
+             </listitem>
+             <listitem>
+               <para>'<literal>package</literal>' - carbon copy package@package.debian.org for each package given as an argument.</para>
+             </listitem>
+             <listitem>
+               <para>anything containing '@' - assumed to be an email address, and carbon copied as is.</para>
+             </listitem>
+           </itemizedlist>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-d/--done=<replaceable>done</replaceable></option></>
-       <ListItem><Para>
-           Close the bug(s) listed on successful completion.
+       <ListItem>
+         <Para>Close the bug(s) listed on successful completion.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-m/--reason=<replaceable>reason</replaceable></option></>
-       <ListItem><Para>
-           The reason for the removal or addition of the package(s).  This is a required option; if not provided an editor will be spawned so the reason can be added there.
+       <ListItem>
+         <Para>The reason for the removal or addition of the package(s).  This is a required option; if not provided an editor will be spawned so the reason can be added there.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-n/--no-action</option></>
-       <ListItem><Para>
-           Don't actually do anything; just show what would be done.
+       <ListItem>
+         <Para>Don't actually do anything; just show what would be done.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-p/--partial</option></>
-       <ListItem><Para>
-           Partial removal of a package, so the package is not removed from the overrides.  This option is implied by <option>-a/--architecture</option>.
+       <ListItem>
+         <Para>Partial removal of a package, so the package is not removed from the overrides.  This option is implied by <option>-a/--architecture</option>.</PARA>
+       </LISTITEM>
+      </VarListEntry>
+
+      <VarListEntry><term><option>-R/--rdep-check</option></>
+       <ListItem>
+         <Para>Check the reverse dependencies (and build-dependencies) of the packages that are to be removed and warn if anything will break.</literal></PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-s/--suite=<replaceable>suite</replaceable></option></>
-       <ListItem><Para>
-           Only add/remove the packages from the suite(s) listed.  The default is <literal>unstable</literal>
+       <ListItem>
+         <Para>Only add/remove the packages from the suite(s) listed.  The default is <literal>unstable</literal></PARA>
+       </LISTITEM>
       </VarListEntry>
 
       <VarListEntry><term><option>-S/--source-only</option></>
-       <ListItem><Para>
-           Only look at source packages.
+       <ListItem>
+         <Para>Only look at source packages.</PARA>
+       </LISTITEM>
       </VarListEntry>
 
     </VariableList>
       <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>
       </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   
+Working... done.
+Will remove the following packages from unstable:
+
+      gmp1 |  1.3.2-8.2 | source, alpha, hppa, arm, i386, m68k, powerpc, sparc
+  gmp1-dev |  1.3.2-8.2 | alpha, hppa, arm, i386, m68k, powerpc, sparc
+
+
+------------------- Reason -------------------
+Requested by tbm@; confirmed with maintainer.  Superseded by libgmp2
+----------------------------------------------
+
+Continue (y/N)? y
+ Deleting... done.
+troup@auric| ~ $
+         </literallayout>
+      </informalexample>
+      <para>The second example is of a binary-only multi-package removal.</para>
+      <informalexample>
+       <literallayout>
+troup@auric| ~ $melanie -d 82562 -m "Requested by paul@; NBS." -b libgtkextra{5,9,10}
+Working... done.
+Will remove the following packages from unstable:
+
+libgtkextra10 |  0.99.10-2 | alpha, i386, m68k, powerpc, sparc
+libgtkextra5 |   0.99.5-1 | alpha, i386, m68k, powerpc, sparc
+libgtkextra9 |   0.99.9-1 | alpha, i386, m68k, powerpc, sparc
+
+Will also close bugs: 82562
+
+------------------- Reason -------------------
+Requested by paul@; NBS.
+----------------------------------------------
+
+Continue (y/N)? y
+ Deleting... done.
+troup@auric| ~ $
+       </literallayout>
+      </informalexample>
   </refsect1>
 
-  <RefSect1><Title>Description</>
-    <para>   
-      <command>melanie</command> is the command line tool to add and remove packages from suites.
-
   <RefSect1><Title>Diagnostics</>
     <para>
       <command>melanie</command> returns zero on normal operation, non-zero on error.
+    </PARA>
   </RefSect1>
 
   &manauthor;