chiark / gitweb /
Document some best practices for meta-packages. Extend those for transitional package...
authorhertzog <hertzog@313b444b-1b9f-4f58-a734-7bb04f332e8d>
Tue, 6 Sep 2011 07:26:22 +0000 (07:26 +0000)
committerhertzog <hertzog@313b444b-1b9f-4f58-a734-7bb04f332e8d>
Tue, 6 Sep 2011 07:26:22 +0000 (07:26 +0000)
git-svn-id: svn://anonscm.debian.org/ddp/manuals/trunk/developers-reference@8921 313b444b-1b9f-4f58-a734-7bb04f332e8d

best-pkging-practices.dbk
debian/changelog

index 4f47a696a2cabb836b65aec3552ef1f057f114bf..8b03c4771eeabd5950f8cb180f4ce88d0001df11 100644 (file)
@@ -1670,6 +1670,13 @@ your short description.  If you are looking for examples, just run:
 <command>apt-cache search .|grep dummy</command> or
 <command>apt-cache search .|grep transitional</command>.
 </para>
+<para>
+Also, it is recommended to adjust its section to
+<literal>oldlibs</literal>
+and its priority to
+<literal>extra</literal>
+in order to ease <command>deborphan</command>'s job.
+</para>
 </section>
 
 <section id="bpp-origtargz">
@@ -1897,6 +1904,33 @@ debugging symbols for, and this dependency should be versioned.  For example:
 Depends: libfoo (= ${binary:Version})
 </screen>
 </section>
+<section id="bpp-meta">
+<title>Best practices for meta-packages</title>
+<para>
+A meta-package is a mostly empty package that makes it easy to install a
+coherent set of packages that can evolve over time. It achieves this by
+depending on all the packages of the set. Thanks to the power of APT, the
+meta-package maintainer can adjust the dependencies and the user's system
+will automatically get the supplementary packages. The dropped packages
+that were automaticaly installed will be also be marked as removal
+candidates (and are even automatically removed by <command>aptitude</command>).
+<systemitem role="package">gnome</systemitem> and
+<systemitem role="package">linux-image-amd64</systemitem> are two examples
+of meta-packages (built by the source packages
+<systemitem role="package">meta-gnome2</systemitem> and
+<systemitem role="package">linux-latest</systemitem>)
+</para>
+<para>
+The long description of the meta-package must clearly document its purpose
+so that the user knows what he will lose if he removes the package. Being
+explicit about the consequences is recommended. This is particularly
+important for meta-packages which are installed during initial
+installation and that have not been explicitly installed by the user.
+Those tend to be important to ensure smooth system upgrades and
+the user should be discouraged from uninstalling them to avoid
+potential breakages.
+</para>
+</section>
 
 </section>
 
index 6811e6f077e643d0639323df2aadae76bef22c59..bcc5b6ebd9360b49775d6a20f9e35440d4578a48 100644 (file)
@@ -1,3 +1,11 @@
+developers-reference (3.4.7) UNRELEASED; urgency=low
+
+  * Document some best practices for meta-packages. Extend those for
+    transitional packages. Based on a patch by Luca Falavigna
+    <dktrkranz@debian.org> (thanks!). Closes: #569219
+
+ -- Raphaël Hertzog <hertzog@debian.org>  Tue, 06 Sep 2011 09:19:21 +0200
+
 developers-reference (3.4.6) unstable; urgency=low
 
   [ Raphaël Hertzog ]