/[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.3
1GLEP: 49 1GLEP: 49
2Title: Alternative Package Manager requirements 2Title: Alternative Package Manager requirements
3Version: $Revision: 1.2 $ 3Version: $Revision: 1.3 $
4Last-Modified: $Date: 2006/05/20 14:22:15 $ 4Last-Modified: $Date: 2006/05/21 10:23:55 $
5Author: Paul de Vrieze <pauldv@gentoo.org>, 5Author: Paul de Vrieze <pauldv@gentoo.org>,
6Status: Draft 6Status: Draft
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 18-May-2006 9Created: 18-May-2006
89============================ 89============================
90 90
91As a package manager is in a state of higher support there are higher 91As 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 92requirements 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 93the distribution and the package tree. For this purpose it is needed that there
94is only one primary package manager. 94is only one primary package manager. This is from gentoo's perspective. From a
95user perspective it is perfectly possible to use another package
96manager. Candidate primary package managers and secondary package managers are
97also supported in regards to bugs etc.
95 98
96 99
97Primary package manager requirements 100Primary package manager requirements
98------------------------------------ 101------------------------------------
99 102
100The primary package manager is the package manager that sets the standards for 103The 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 104the 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 105manager. As the primary package manager sets the standard it does not have to
103maintain compatibility with other package managers. 106maintain compatibility with other package managers. This does not mean that the
107actual implementation is the standard, but that the maintainers have the ability
108to define new standards, together with the other involved gentoo projects.
104 109
105The primary package manager does however have the responsibility that it must be 110The primary package manager does however have the responsibility that it must be
106very stable. The primary package manager must maintain compatibility with old 111very stable. The primary package manager must maintain compatibility with old
107versions of itself for extended periods of time. This compatibility time is set 112versions 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 113by 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 118unstable 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 119done 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 120having 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 121tool that ensures that the on disk information maintained by the package manager
117is supported by the stable package manager. 122is supported by the stable package manager.
123
124The primary package manager maintainers further have the responsibility to allow
125competition. This means that reasonable patches from the maintainers of
126secondary or candidate primary package managers must be applied, given that
127these patches are as independent of that package manager as possible.
118 128
119The primary package manager is maintained on official Gentoo infrastructure, 129The primary package manager is maintained on official Gentoo infrastructure,
120under control of Gentoo developers. 130under control of Gentoo developers.
121 131
122 132
181and deinstallation by the primary package manager must remain functional. 191and deinstallation by the primary package manager must remain functional.
182 192
183The second kind is formed by those package managers that maintain their own 193The second kind is formed by those package managers that maintain their own
184package database, or a package database incompatible with the primary package 194package database, or a package database incompatible with the primary package
185manager. To ensure the secondary role of these package managers the support in 195manager. To ensure the secondary role of these package managers the support in
186the tree for these package manager is provided along with restrictions. 196the tree for these package managers is provided along with restrictions.
187 197
188The first restriction is that no packages in the tree must rely on the secondary 198The 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 199package manager. While packages may provide a level of support (while being
190compatible with the primary package manager) this may not result in a 200compatible with the primary package manager) this may not result in a
191significant increase of features. If this were allowed, this would mean that 201significant increase of features. If this were allowed, this would mean that
239 249
240Primary package manager transition phase 250Primary package manager transition phase
241---------------------------------------- 251----------------------------------------
242 252
243A candidate primary package manager can be chosen to become primary package 253A candidate primary package manager can be chosen to become primary package
244manager. This can only happen by council decision. This decision can only be 254manager. This can only happen by council decision. This decision can only be
245made when the candidate primary package manager is stable on all stable 255made when the candidate primary package manager is stable on all stable
246architectures. (all architectures except experimental ones). 256architectures. (all architectures except experimental ones). There is a
257incubation period of at least 3 months before a candidate primary package
258manager can become the primary package manager.
247 259
248After the decision has been made to replace the primary package manager, the 260After 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 261transition 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 262supported for a period of 6 months. This means that core packages must be
251installable by this package manager. Further the possibility to convert the 263installable by this package manager. Further the possibility to convert the

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

  ViewVC Help
Powered by ViewVC 1.1.20