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 14:56:26
Message-Id: 200605201649.04783.pauldv@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: GLEP 49 - Package manager requirements by Dan Meltzer
1 On Saturday 20 May 2006 15:47, Dan Meltzer wrote:
2 > >A secondary package manager is a package manager that instead of directly
3 > >aiming at replacing portage as primary package manager.
4 >
5 > What does it do instead?
6
7 I've just committed a new revision, but it cooperates. A slip up on my part.
8
9 > >The first restriction is that no packages in the tree must rely on the
10 > >secondary package manager. While packages may provide a level of
11 > >support (while being compatible with the primary package manager)
12 > >this may not result in a significant increase of features.
13 >
14 > Why can a certain ebuild not DEPEND specifically on a third party
15 > package manager?
16
17 Basically if an official ebuild requires a third party package manager, this
18 means that gentoo has a requirement on that package manager. If such a
19 package manager at the same time offers support for all packages that the
20 primary package manager supports, this means that in fact users will consider
21 this secondary package manager to be their primary package manager. This
22 leads to a decision by default as the council can at such a point only rubber
23 stamp things. My aim is to make things such that the council can still make a
24 real decision.
25
26 > I think you raise some good points in this email, however I think the
27 > overall aim is flawed. The package manager should be just as
28 > switching as the compiler, the libc, the baselayout, or the kernel.
29 > None of these require anywhere near as many hoops to jump through to
30 > be supported in gentoo, and they all have their own fixes that need to
31 > be made. No changes should be made to the tree which directly impedes
32 > the ability of the "primary package manager" to do its job, but at the
33 > same time, no changes should be made which impede other package
34 > managers from outperforming the "primary package manager". Forcing
35 > package managers to stay even with all of portages ideosyncrocies is
36 > just holding back new package managers from making progress.
37
38 A package manager is not a compiler. To put it in a compiler setting, imagine
39 that only a C or a C++ compiler can be installed at one point. The primary
40 compiler for all files is C. At some point someone comes around and says.
41 I've got this very nice compiler and it uses the C++ language that is more or
42 less compatible with C. Then some code maintainers run of and use all the
43 additional features of C++. If this code is then to be a consistent whole,
44 this means that all code must be compiled with this C++ compiler. In effect
45 replacing C as default language by C++.
46
47 It is very hard to revert back to C from C++. The leaders of the group had no
48 say in whether it was good to go to C++ (maybe the compilation time is a
49 serious issue), but have to accept it at this point because keeping the old C
50 compiler is a race long lost.
51
52 ------------------------------
53
54 I do not think that alternative package managers should be limited in what
55 they do. What I think is that their additional features should not be used in
56 the official tree (overlays is another point) to avoid the situation where
57 the council can no longer make the decision to go for the better package
58 manager.
59
60 There are many changes that can be made without hitting this problem. Multilib
61 systems can work in such a way that portage just sees it as one package while
62 the multilib package manager knows that it is a package consisting of 3 parts
63 (32bit part, shared part, and 64 bit part). It is also possible to have a
64 functionally equivalent package database that has a higher speed, or no
65 longer needs a cache, than the portage compatible one.
66
67 Paul
68
69 --
70 Paul de Vrieze
71 Gentoo Developer
72 Mail: pauldv@g.o
73 Homepage: http://www.devrieze.net