Gentoo Archives: gentoo-dev

From: Paul de Vrieze <pauldv@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: GLEP 49 - Package manager requirements
Date: Sat, 20 May 2006 18:52:41
Message-Id: 200605202044.54627.pauldv@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: GLEP 49 - Package manager requirements by Alec Warner
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