Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: better support for binary packages
Date: Tue, 26 May 2009 08:50:23
Message-Id: pan.2009.05.26.08.48.11@cox.net
In Reply to: Re: [gentoo-dev] Re: better support for binary packages by Philipp Riegger
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

Replies

Subject Author
Re: [gentoo-dev] Re: better support for binary packages Philipp Riegger <lists@××××××××××××.de>