1 |
On Saturday 20 May 2006 18:00, Alec Warner wrote: |
2 |
> Paul de Vrieze wrote: |
3 |
> > The promissed glep on package manager requirements. Please comment on it. |
4 |
> > There are some parts that may be controversial (portage has in the past |
5 |
> > not provided support for reverting to stable either), but please keep the |
6 |
> > discussion on topic. |
7 |
> > |
8 |
> > Paul |
9 |
> |
10 |
> s/primary/official/g |
11 |
> |
12 |
> This primary business is silly IMHO. GCC is Gentoo's official compiler, |
13 |
> baselayout is the "official" init system, etc... |
14 |
|
15 |
There might be multiple official package manager. Only one has the lead |
16 |
position from a gentoo point of view. Please also be aware that the term |
17 |
primary is from the point of view of gentoo, not from user point of view. |
18 |
This GLEP does not mean that there can not be multiple package managers that |
19 |
could play the role of primary package manager for a system. |
20 |
|
21 |
> |
22 |
> There is precedent here, and you are ignoring it. |
23 |
> |
24 |
> Basically this whole GLEP is a reactive farse. I realize thats not your |
25 |
> intention, you seriously want a defined manner in which many package |
26 |
> managers can live. However reading the GLEP it seems to be built |
27 |
> completely against Paludis; stacking the deck as it were. However I |
28 |
> left other comments below ;) |
29 |
|
30 |
I am not against paludis at all. I want to set the playing field on which |
31 |
alternate package managers can thrive. This way there would be a way in which |
32 |
package managers can live along eachother and better gentoo. I realise this |
33 |
should have been written earlier, preventing wasted efforts, and I am sorry I |
34 |
did not do it before. |
35 |
|
36 |
On design quality I'd like to say that design quality is not only formed by |
37 |
how well the design is on itself. It is even much more how well a system fits |
38 |
in its environment. Ignoring what is already there is the easy way out. A way |
39 |
in which a transition can be made without breaking what is there, and still |
40 |
ensuring a good design after the transition. That is really great design. |
41 |
|
42 |
I'll react on your comments below. |
43 |
|
44 |
> > |
45 |
> > Not a problem for this GLEP. There is no previous standard as the issue |
46 |
> > did not exist before. This GLEP is to prevent future compatibility |
47 |
> > issues. |
48 |
> |
49 |
> If there is Official and 'everything else" I think this whole section |
50 |
> can be dropped. |
51 |
|
52 |
The thing is that there are possibilities in between them. They might not be |
53 |
used, but we owe it to current and future package manager designers to allow |
54 |
this possibility. A secondary package manager that installs rpm packages |
55 |
(perhaps for LSB compatibility) can very well be official, but not even able |
56 |
to set the standard on packages (hell it uses rpm's). |
57 |
|
58 |
<cut> |
59 |
> > As a package manager is in a state of higher support there are higher |
60 |
> > requirements to it. The purpose of these requirements is to ensure the |
61 |
> > unity of the distribution and the package tree. For this purpose it is |
62 |
> > needed that there is only one primary package manager. |
63 |
> |
64 |
> One official package manager, but many can be used. |
65 |
|
66 |
Certainly true. I've added something to this extend to the next revision. |
67 |
|
68 |
> |
69 |
> > primary package manager requirements <#id13> |
70 |
> > |
71 |
> > The primary package manager is the package manager that sets the |
72 |
> > standards for the tree. All ebuilds in the tree must function with the |
73 |
> > primary package manager. As the primary package manager sets the |
74 |
> > standard it does not have to maintain compatibility with other package |
75 |
> > managers. |
76 |
> |
77 |
> This outlook inhibits innovation in the tree. I agree with stephen, in |
78 |
> that the tree should set the standard. If you want a new feature in the |
79 |
> tree, I think a proposal would be good ( not a GLEP necessarily, but a |
80 |
> tree proposal ). I think crap goes in that is not discussed in advance... |
81 |
> |
82 |
> One could say, the official package manager sets the standard such that |
83 |
> someone needs to have support in the package manager for it to operate |
84 |
> properly. |
85 |
|
86 |
Look at this way. It is only a standard when it is supported in a testing |
87 |
version of the primary package manager. |
88 |
|
89 |
> However in many industries you find the opposite. First a standard is |
90 |
> set, then a prototype (reference board, whathaveyou) is created, then it |
91 |
> is released for companies to use. Here you want the opposite. The |
92 |
> feature as an idea is created, portage implements it, then the other |
93 |
> package managers copy it? Sounds silly ;) |
94 |
|
95 |
Package managers may implement anything they want. Packages (not package |
96 |
managers) may only use it when the primary package manager supports it. I |
97 |
have got clarified it in the new revision that not only the implementation |
98 |
determines the standard, but also the existing guidelines, qa tools, etc. As |
99 |
example paludis would be perfectly right in not supporting all kinds of |
100 |
toplevel magic. Even though portage will not complain it is accepted as |
101 |
something that must not be done. |
102 |
|
103 |
> |
104 |
> > The primary package manager does however have the responsibility that it |
105 |
> > must be very stable. The primary package manager must maintain |
106 |
> > compatibility with old versions of itself for extended periods of time. |
107 |
> > This compatibilty time is set by the council. The suggested time would |
108 |
> > be one year from the point that there is a compatible stable version for |
109 |
> > all supported architectures. |
110 |
> |
111 |
> To be honest even portage never did this. We waited "as long as we felt |
112 |
> necessary" and then broke compat. |
113 |
|
114 |
You are probably right. Maybe the time period is too long. I added the period |
115 |
as indication, In principle I am open for any change in the periods. A glep |
116 |
without filled in periods is kind of silly though. |
117 |
|
118 |
I don't think that this GLEP should avoid setting the standard for portage in |
119 |
the future. As stated in the motivation, I agree with many others that |
120 |
portage is up for replacement. |
121 |
|
122 |
> > The primary package manager is maintained on official gentoo |
123 |
> > infrastructure, under control of gentoo developers. |
124 |
> |
125 |
> This has no reasoning behind it, in my eyes. |
126 |
|
127 |
It shows how important the package manager is to gentoo. The package manager |
128 |
determines the features of gentoo and the perception by users. |
129 |
|
130 |
> > Fourth, there must be support. This means that the package manager is |
131 |
> > actively maintained under control of gentoo. If it is not maintained on |
132 |
> > gentoo infrastructure, the means must be there to move the package |
133 |
> > manager, with its change history, to gentoo infrastructure. This means |
134 |
> > that it must be maintained on a gentoo supported versioning system, or |
135 |
> > on a version system whose history can be converted to a gentoo supported |
136 |
> > versioning system. |
137 |
> |
138 |
> Again I don't see a reason for it to be on Gentoo infra, or even for it |
139 |
> to be managed by Gentoo developers offsite. As long as it's active. |
140 |
> One could say Portage is a bit dormant, sure bugs get fixed |
141 |
> features...take a while, as many people will note :) |
142 |
|
143 |
I don't want to argue with you about portage quality as I agree that portage |
144 |
has these deficiencies. Portage is however not a candidate primary package |
145 |
manager, but a primary package manager. This means that it is likely that |
146 |
portage will be replaced by another package managers. |
147 |
|
148 |
While the GLEP does not say anything about it, I do think it is likely that |
149 |
once a new package manager has been chosen as primary package manager, that |
150 |
the previous package manager does not even qualify as secondary package |
151 |
manager. |
152 |
|
153 |
One of the things that I expect the council to take into account in deciding |
154 |
wether a package manager will replace the current primary package manager is |
155 |
its additional features. |
156 |
|
157 |
Paul |
158 |
|
159 |
-- |
160 |
Paul de Vrieze |
161 |
Gentoo Developer |
162 |
Mail: pauldv@g.o |
163 |
Homepage: http://www.devrieze.net |