Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH] ebuild-maintenance/removal: Process for virtual removal
Date: Mon, 07 Sep 2020 06:15:04
Message-Id: 20200907061452.143051-1-mgorny@gentoo.org
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 ebuild-maintenance/removal/text.xml | 43 +++++++++++++++++++++++++++++
4 1 file changed, 43 insertions(+)
5
6 diff --git a/ebuild-maintenance/removal/text.xml b/ebuild-maintenance/removal/text.xml
7 index eabbdaf..3575b5c 100644
8 --- a/ebuild-maintenance/removal/text.xml
9 +++ b/ebuild-maintenance/removal/text.xml
10 @@ -83,6 +83,49 @@ Date: Tue Oct 3 21:43:03 2017 +1100
11 Closes: https://bugs.gentoo.org/629144
12 </pre>
13
14 +</body>
15 +</section>
16 +
17 +<section>
18 +<title>Removing a virtual package</title>
19 +<body>
20 +
21 +<p>
22 +Virtual packages are generally removed when they have no more than one
23 +provider left. The removal is preceded by updating the remaining ebuilds
24 +not to use the virtual. Since virtuals do not install any files, there
25 +is little value in proactively forcing them to be uninstalled from user
26 +systems or unnecessarily informing the user about the fact. Therefore,
27 +an alternative removal process is recommended.
28 +</p>
29 +
30 +<p>
31 +In order to remove a virtual package, follow the following procedure:
32 +</p>
33 +
34 +<ol>
35 + <li>
36 + If the virtual is being removed along with its second to last
37 + provider, include the virtual in the last-rites mail. However, please
38 + do not include it in the <c>package.mask</c> entry as users do not need
39 + to be forced to proactively unmerge it. Instead, add it
40 + to <c>package.deprecated</c> to warn developers not to depend on it.
41 + Wait the time appropriate for the last rites.
42 + </li>
43 + <li>
44 + Update all ebuilds not to reference the virtual. Since there is
45 + no urgent need to remove the virtual from user systems
46 + and the resulting rebuilds would be unnecessary, do not bump ebuilds
47 + when replacing the dependency.
48 + </li>
49 + <li>
50 + Remove the package directly
51 + </li>
52 + <li>
53 + Perform the post-removal cleanup, as with regular packages
54 + </li>
55 +</ol>
56 +
57 </body>
58 </section>
59 </chapter>
60 --
61 2.28.0

Replies