--- xml/htdocs/proj/en/glep/glep-0049.html 2006/05/21 10:23:55 1.3 +++ xml/htdocs/proj/en/glep/glep-0049.html 2006/09/05 20:55:13 1.4 @@ -10,7 +10,250 @@ GLEP 49 -- Alternative Package Manager requirements - + - + - + - + @@ -46,7 +289,7 @@ - + @@ -54,40 +297,47 @@

Contents

-

Abstract

+

Status

+

The council rejected this GLEP in favor of starting from a package manager +API and requiring Gentoo package managers in the tree to support that +API. (That API is still pending, however.)

+
+
+

Abstract

This GLEP describes four classes of package managers. What the requirements for them are, and what support they can receive.

-

Motivation

+

Motivation

To set a standard that package managers that seek Gentoo project approval and support should adhere to.

-

Rationale

+

Rationale

Currently Portage is showing its age. The code of Portage does not seem to be salvageable for new versions. As of the date of publication, there are two known alternative package managers that claim a level of Portage compatibility. These @@ -96,12 +346,12 @@ and ensuring that decisions can be made clearly.

-

Backwards Compatibility

+

Backwards Compatibility

Not a problem for this GLEP. There is no previous standard as the issue did not exist before. This GLEP is to prevent future compatibility issues.

-

Categories of package managers

+

Categories of package managers

We distinguish four categories of package managers. While a package manager can transition from one category to another, it can not be in two categories at the same time. It can be in a state of transition though.

@@ -139,7 +389,7 @@
-

Package manager requirements

+

Package manager requirements

As a package manager is in a state of higher support there are higher requirements to it. The purpose of these requirements is to ensure the unity of the distribution and the package tree. For this purpose it is needed that there @@ -148,7 +398,7 @@ manager. Candidate primary package managers and secondary package managers are also supported in regards to bugs etc.

-

Primary package manager requirements

+

Primary package manager requirements

The primary package manager is the package manager that sets the standards for the tree. All ebuilds in the tree must function with the primary package manager. As the primary package manager sets the standard it does not have to @@ -175,7 +425,7 @@ under control of Gentoo developers.

-

Candidate primary package manager requirements

+

Candidate primary package manager requirements

A candidate primary package manager aims to replace the primary package manager. The council is responsible for deciding whether this is done. The requirements are there to ensure that it is actually possible to transition a @@ -212,7 +462,7 @@ manager.

-

Secondary package manager requirements

+

Secondary package manager requirements

A secondary package manager is a package manager that instead of directly aiming at replacing the current primary package manager as primary package manager aims to cooperate with the primary package manager. As such a secondary package @@ -259,7 +509,7 @@ manager must take this secondary package manager into account.

-

Third party package manager requirements

+

Third party package manager requirements

A third party package manager is just that. It is a package manager without any support within Gentoo. As there is no control by Gentoo over the package manager this means that there are no requirements on the package manager.

@@ -272,9 +522,9 @@
-

Transition phases

+

Transition phases

-

Primary package manager transition phase

+

Primary package manager transition phase

A candidate primary package manager can be chosen to become primary package manager. This can only happen by council decision. This decision can only be made when the candidate primary package manager is stable on all stable @@ -294,7 +544,7 @@ is no longer needed.

-

Secondary package manager to candidate primary package manager transition

+

Secondary package manager to candidate primary package manager transition

The transition from secondary package manager to candidate primary package manager is straightforward. The secondary package manager must satisfy all requirements for a candidate primary package manager. At that point its @@ -303,14 +553,14 @@ goal.

-

Third party to other transition

+

Third party to other transition

When a third party package manager wants to transition into one of the other categories (except primary package manager) it must satisfy all requirements for that category.

-

References

+

References

@@ -331,7 +581,7 @@
-

Copyright

+

Copyright

This document is copyright 2006 by Paul de Vrieze and licensed under the Open Publication License [3].

@@ -340,7 +590,7 @@