/[gentoo]/xml/htdocs/proj/en/glep/glep-0049.txt
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0049.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.4
1GLEP: 49 1GLEP: 49
2Title: Alternative Package Manager requirements 2Title: Alternative Package Manager requirements
3Version: $Revision: 1.2 $ 3Version: $Revision: 1.4 $
4Last-Modified: $Date: 2006/05/20 14:22:15 $ 4Last-Modified: $Date: 2006/09/05 20:54:30 $
5Author: Paul de Vrieze <pauldv@gentoo.org>, 5Author: Paul de Vrieze <pauldv@gentoo.org>,
6Status: Draft 6Status: Rejected
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 18-May-2006 9Created: 18-May-2006
10Post-History: 19-May-2006 10Post-History: 19-May-2006, 6-Sep-2006
11
12Status
13======
14
15The council rejected this GLEP in favor of starting from a package manager
16API and requiring Gentoo package managers in the tree to support that
17API. (That API is still pending, however.)
11 18
12 19
13Abstract 20Abstract
14======== 21========
15 22
89============================ 96============================
90 97
91As a package manager is in a state of higher support there are higher 98As a package manager is in a state of higher support there are higher
92requirements to it. The purpose of these requirements is to ensure the unity of 99requirements to it. The purpose of these requirements is to ensure the unity of
93the distribution and the package tree. For this purpose it is needed that there 100the distribution and the package tree. For this purpose it is needed that there
94is only one primary package manager. 101is only one primary package manager. This is from gentoo's perspective. From a
102user perspective it is perfectly possible to use another package
103manager. Candidate primary package managers and secondary package managers are
104also supported in regards to bugs etc.
95 105
96 106
97Primary package manager requirements 107Primary package manager requirements
98------------------------------------ 108------------------------------------
99 109
100The primary package manager is the package manager that sets the standards for 110The primary package manager is the package manager that sets the standards for
101the tree. All ebuilds in the tree must function with the primary package 111the tree. All ebuilds in the tree must function with the primary package
102manager. As the primary package manager sets the standard it does not have to 112manager. As the primary package manager sets the standard it does not have to
103maintain compatibility with other package managers. 113maintain compatibility with other package managers. This does not mean that the
114actual implementation is the standard, but that the maintainers have the ability
115to define new standards, together with the other involved gentoo projects.
104 116
105The primary package manager does however have the responsibility that it must be 117The primary package manager does however have the responsibility that it must be
106very stable. The primary package manager must maintain compatibility with old 118very stable. The primary package manager must maintain compatibility with old
107versions of itself for extended periods of time. This compatibility time is set 119versions of itself for extended periods of time. This compatibility time is set
108by the council. The suggested time would be one year from the point that there 120by the council. The suggested time would be one year from the point that there
113unstable version of the primary package manager to a stable version. This may be 125unstable version of the primary package manager to a stable version. This may be
114done either by first introducing reading compatibility for a new format and only 126done either by first introducing reading compatibility for a new format and only
115having write support later. Another way would be the provision of a conversion 127having write support later. Another way would be the provision of a conversion
116tool that ensures that the on disk information maintained by the package manager 128tool that ensures that the on disk information maintained by the package manager
117is supported by the stable package manager. 129is supported by the stable package manager.
130
131The primary package manager maintainers further have the responsibility to allow
132competition. This means that reasonable patches from the maintainers of
133secondary or candidate primary package managers must be applied, given that
134these patches are as independent of that package manager as possible.
118 135
119The primary package manager is maintained on official Gentoo infrastructure, 136The primary package manager is maintained on official Gentoo infrastructure,
120under control of Gentoo developers. 137under control of Gentoo developers.
121 138
122 139
181and deinstallation by the primary package manager must remain functional. 198and deinstallation by the primary package manager must remain functional.
182 199
183The second kind is formed by those package managers that maintain their own 200The second kind is formed by those package managers that maintain their own
184package database, or a package database incompatible with the primary package 201package database, or a package database incompatible with the primary package
185manager. To ensure the secondary role of these package managers the support in 202manager. To ensure the secondary role of these package managers the support in
186the tree for these package manager is provided along with restrictions. 203the tree for these package managers is provided along with restrictions.
187 204
188The first restriction is that no packages in the tree must rely on the secondary 205The first restriction is that no packages in the tree must rely on the secondary
189package manager. While packages may provide a level of support (while being 206package manager. While packages may provide a level of support (while being
190compatible with the primary package manager) this may not result in a 207compatible with the primary package manager) this may not result in a
191significant increase of features. If this were allowed, this would mean that 208significant increase of features. If this were allowed, this would mean that
239 256
240Primary package manager transition phase 257Primary package manager transition phase
241---------------------------------------- 258----------------------------------------
242 259
243A candidate primary package manager can be chosen to become primary package 260A candidate primary package manager can be chosen to become primary package
244manager. This can only happen by council decision. This decision can only be 261manager. This can only happen by council decision. This decision can only be
245made when the candidate primary package manager is stable on all stable 262made when the candidate primary package manager is stable on all stable
246architectures. (all architectures except experimental ones). 263architectures. (all architectures except experimental ones). There is a
264incubation period of at least 3 months before a candidate primary package
265manager can become the primary package manager.
247 266
248After the decision has been made to replace the primary package manager, the 267After the decision has been made to replace the primary package manager, the
249transition phase starts. The use of the old stable package manager must remain 268transition phase starts. The use of the old stable package manager must remain
250supported for a period of 6 months. This means that core packages must be 269supported for a period of 6 months. This means that core packages must be
251installable by this package manager. Further the possibility to convert the 270installable by this package manager. Further the possibility to convert the

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.20