1 |
Philipp Riegger <lists@××××××××××××.de> posted |
2 |
1243321504.9661.14.camel@×××××××××××××××××××××××××××××××.de, excerpted |
3 |
below, on Tue, 26 May 2009 09:05:03 +0200: |
4 |
|
5 |
> I don't see the connection between the email Fabio wrote and your |
6 |
> answer. Do you want to say, that you agree that he's doing what i |
7 |
> described and that it works the way i described it? I doubt it. If you |
8 |
> really care, could you answer my first email and state there the |
9 |
> problems you see with the approach and why you think this is making |
10 |
> Gentoo worse? |
11 |
|
12 |
I agree that an independent approach is the way to go. Gentoo (or |
13 |
rather, its PMs, package managers, all three of them, of which portage is |
14 |
only one) doesn't do binaries really well, certainly, but I really don't |
15 |
see that changing within Gentoo itself, except at the expense of from- |
16 |
source, which it does quite well indeed. |
17 |
|
18 |
> But how would you make it worse? It already has the functionality to add |
19 |
> repositories for binpackages, why not improve it? Why leave it the way |
20 |
> it is? |
21 |
|
22 |
Sure, improve it, but what you are talking about isn't a simple |
23 |
improvement, but a massive rearchitecting. That's not easily doable |
24 |
without a chance of focus. It's that change of focus that would |
25 |
eventually kill the quality from-source support we have and that |
26 |
continues to develop, now. |
27 |
|
28 |
>> That said, I could envision an eselect like "binary profile" switcher, |
29 |
>> that subject to settings in a config file, changes USE flags, CFLAGS, |
30 |
>> gcc- configs an appropriate gcc version, etc, changing PKGDIR |
31 |
>> appropriately as well, so one could easily enough create as many |
32 |
>> "binary profiles" as desired and as the use case dictated. |
33 |
|
34 |
> Not sure, what the binary profile switcher really would change here. |
35 |
> What I was talking about were mostly USE-flags and packages, and I guess |
36 |
> your binary profile switcher doesn't change too much, there. |
37 |
|
38 |
Sure it does, but incrementally. Basically, your proposal laid out a |
39 |
complicated tree based on metadata, a tree the package manager would have |
40 |
to understand and support, what I'm proposing is to allow the same thing, |
41 |
but not by adding all that complication to the package manager, but |
42 |
rather, by using a newly created application to switch among the branches |
43 |
of that tree on request. Portage (or other PM) would use its configured |
44 |
PKGDIR and wouldn't understand the tree, but it wouldn't need to, because |
45 |
the switcher would manage switching between the branches according to its |
46 |
configuration. |
47 |
|
48 |
The result would be that in a large enough deployment to have build- |
49 |
servers, the build server(s) could build a particular set of CFLAGS/USE- |
50 |
flags/gcc-version/arch/whatever, then switch to another branch and build |
51 |
that set. Individual package clients could simply point at the |
52 |
appropriate tree and get most of their packages, at least the common |
53 |
ones, that way. |
54 |
|
55 |
Now this wouldn't directly give you the flexibility of the package name |
56 |
changes you proposed, but it could do so indirectly, putting that |
57 |
information in the directory tree if configured to do so. Clients may |
58 |
need to use the binprofile switcher as well, for individual packages they |
59 |
chose to build outside their normal USE profile, but the process could be |
60 |
automated once properly configured, using PM hooks as appropriate. |
61 |
|
62 |
> It would be ok to do all this stuff in an extra project, without Gentoo. |
63 |
|
64 |
The proposal above wouldn't be without Gentoo. It'd simply be a package |
65 |
level thing rather than a distribution level thing. But either that or |
66 |
the independent distribution based on Gentoo route that lxnay has taken, |
67 |
either one works, without defocusing Gentoo on its meta-distrib-wide from- |
68 |
source vision. |
69 |
|
70 |
For that matter, Gentoo already has three package managers, and binary |
71 |
support (or the lack thereof) has been deliberately left up to the |
72 |
package manager at this point -- it's NOT part of PMS. It'd be equally |
73 |
possible to either take one of the current PMs and add your enhanced |
74 |
binary package scheme to it, or to start an independent forth package |
75 |
manager, and have it focus on binaries rather than from-source. (It |
76 |
could even take the existing portage binpkgs and rename or otherwise |
77 |
manage them as necessary, thereby avoiding the from-source side entirely, |
78 |
if so desired.) |
79 |
|
80 |
> Well, the last is a little bit impossible outside of Gentoo |
81 |
> (I don't want to fork the tree) and I also don't want to fork portage, |
82 |
> so the first is complicated, too. |
83 |
|
84 |
You mention portage, but don't mention the other PMs at all. As |
85 |
mentioned, binary packages aren't part of PMS (the Package Management |
86 |
Specification, the app-doc/pms package, the standard that allows PMs |
87 |
besides portage, currently, paludis and pkgcore) at all. Gentoo really |
88 |
doesn't have an official binary package format at all (see PMS, Appendix |
89 |
B, Unspecified Items), only individual package managers like portage do, |
90 |
and at present they may conflict with each other. |
91 |
|
92 |
That's both a good and a bad thing. As it's not specified, you're free |
93 |
to define it as necessary to meet your needs for any tool you devise to |
94 |
handle binary packages. Of course, that means that it's just that tool's |
95 |
definition, and at least one package manager, portage, does happen to |
96 |
have binary packages and a working format definition for them. |
97 |
|
98 |
But that leaves you with maximum flexibility in creating whatever you |
99 |
want, either as a separate tool (or even independent Gentoo based |
100 |
distribution), or as an expanded PM, either forked from one of the |
101 |
current ones, or created independently. |
102 |
|
103 |
> And all this layer thing Fabio was talking about. I did not try it and I |
104 |
> did not read the code, but I think it makes things much more |
105 |
> complicated. See also the discussion about mixing package managers |
106 |
> between Gentoo and Sabayon. I do not want these problems. |
107 |
|
108 |
But your proposal adds the complexity that would bring these problems, |
109 |
whether you want them or not. Either way, the technical problems can be |
110 |
worked thru, it's simply a matter of coding for the most part, after all, |
111 |
but the problems are there and must be dealt with either way. You prefer |
112 |
to have Gentoo do it as a whole. I say no, leave Gentoo well enough |
113 |
alone in that regard, and let individual projects, either as Gentoo-based |
114 |
independent distributions, or at the application (either PM or switcher |
115 |
level) deal with the problems. After all, Gentoo's a big organization |
116 |
and getting all of it together addressing a problem is a VERY hard task |
117 |
as I'm sure CiaranM among others can vouch for. A much smaller PM or |
118 |
switcher app project is by definition of the smaller size, also much |
119 |
easier to steer and to get things actually done in. |
120 |
|
121 |
-- |
122 |
Duncan - List replies preferred. No HTML msgs. |
123 |
"Every nonfree program has a lord, a master -- |
124 |
and if you use the program, he is your master." Richard Stallman |