On Mon, 15 Aug 2011, Luca Falavigna wrote: > > Right. Could someone update the patch? > > Patch refreshed with Santiago's suggestions. > I took the time to expand it a little bit.
I merged it but I changed the wording (hopefully improving it!). Cf attached patch. Thanks for your contribution! Cheers, -- Raphaël Hertzog ◈ Debian Developer Follow my Debian News ▶ http://RaphaelHertzog.com (English) ▶ http://RaphaelHertzog.fr (Français)
commit bdd25dee4f0faa21895e09141ce962807b8cc4d2 Author: hertzog <hertzog@313b444b-1b9f-4f58-a734-7bb04f332e8d> Date: Tue Sep 6 07:26:22 2011 +0000 Document some best practices for meta-packages. Extend those for transitional packages. Based on a patch by Luca Falavigna <dktrkr...@debian.org> (thanks!). Closes: #569219 git-svn-id: svn+ssh://svn.debian.org/svn/ddp/manuals/trunk/developers-reference@8921 313b444b-1b9f-4f58-a734-7bb04f332e8d diff --git a/best-pkging-practices.dbk b/best-pkging-practices.dbk index 4f47a69..8b03c47 100644 --- a/best-pkging-practices.dbk +++ b/best-pkging-practices.dbk @@ -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> diff --git a/debian/changelog b/debian/changelog index 6811e6f..bcc5b6e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 + <dktrkr...@debian.org> (thanks!). Closes: #569219 + + -- Raphaël Hertzog <hert...@debian.org> Tue, 06 Sep 2011 09:19:21 +0200 + developers-reference (3.4.6) unstable; urgency=low [ Raphaël Hertzog ]