Gentoo Archives: gentoo-project

From: Daniel Robbins <drobbins@××××××.org>
To: gentoo-project@l.g.o
Subject: Re: [gentoo-project] Re: A plan for Gentoo
Date: Tue, 12 Dec 2017 19:01:53
Message-Id: CAPDOV49JL+Y61iPpEPN7XLbFgh4GHEp2tg0m9vpyB+nWuzwLXg@mail.gmail.com
In Reply to: Re: [gentoo-project] Re: A plan for Gentoo by Daniel Robbins
1 Hi All,
2
3 Just want to follow up for anyone following this thread.
4
5 I did participate in my first council meeting! Thanks to all council
6 members for facilitating that.
7
8 I'm going to continue to work on becoming a non-committing developer with
9 my mentor, Zac Medico.
10
11 I also had about 30 mins to chat in #gentoo-portage and outlined a plan for
12 moving Portage into the next generation. I am going to work on both an
13 architecture, as well as a roadmap, with the supervision of Zac Medico and
14 contribution of Zac Medico and others. This will be a fairly detailed
15 document that is going to provide a path so that we can evolve the existing
16 Portage code base organically and with as little disruption as possible to
17 a multi-core-leveraging and very capable modular package manager.
18
19 There are a lot of people who care a ton about Gentoo and Portage but there
20 is a bit of a deadlock about what next steps to take with its evolution.
21 The conflict I referred to earlier in #gentoo-portage was about whether to
22 scrap our package manager code base entirely or continue to evolve it.
23 There is a lot of passion around this issue. I didn't want to give too many
24 details about the conversations since the conversations I had were in
25 private, and the gossipy details aren't really relevant to the technical
26 effort. But I don't think I gave enough context so it sounded to some that
27 I was "causing trouble" by stirring up a hornet's nest. My apologies --
28 that was not my intention.
29
30 Back to the technical stuff. The proposal will attempt to strike a
31 reasonable middle ground -- modularization of the current code base, which
32 will start by creating two packages -- "ebuild" -- a PMS-compliant build
33 system, and "emerge" -- the upper-half dependency resolver and associated
34 tools, between which there will be a clearly documented API. This will both
35 allow us to play around with potential ebuild replacements (with no
36 commitment -- these can be done as side projects and we can decide to adopt
37 one once it proves its merit) as well as more capable multi-threaded emerge
38 replacements. While it may be nice to consider focusing development on
39 replacing ebuild, we need it continue to function and a rewrite will just
40 introduce too many annoying build bugs for users. So it's better to
41 maintain it as-is until something better is adopted. In the transition, our
42 package manager can support BOTH formats and they can interoperate (an
43 ebuild can depend on a "newbuild", and vice versa.) allowing for a gradual
44 and smooth transition of repos (main tree, overlays, projects, other
45 distros) to the new format. The separation of ebuild/emerge also opens up
46 the potential for use of some parts of non-official build systems by
47 hooking into our API, such as pkgcore and paludis, as desired. (While this
48 won't be part of our official plan, interested parties who want to pursue
49 this work will be supported.)
50
51 I think the one goal everyone can agree on is that sophisticated dependency
52 resolution does stand to benefit greatly from multi-core processors, so
53 there will be a roadmap to evolve the top half (emerge) so that it is
54 multi-core capable. This will essentially be a rewrite of emerge. In the
55 mean-time, the single-threaded version will continue to be maintained. The
56 multi-threaded version will be done in-house (in Gentoo-land.) I will also
57 try to specify some useful functionality for the top-half that I think we
58 should incorporate into our next-generation architecture. This may involve
59 the definition of a new spec so that pkgcore and paludis can incorporate
60 and leverage this functionality as well.
61
62 I will plan to incorporate feedback from developers and in particular
63 current and former Portage developers so that concerns are addressed. I'm
64 building the general skeleton of the architecture -- there will be quite a
65 bit that will be left to flesh out by others. I have been thinking about
66 how to tackle Portage's monolithic code base for years and I want to get my
67 ideas formalized and written down. It's exciting to think that we could be
68 finally doing this :)
69
70 I am sharing this all in the interest of transparency and will continue to
71 be transparent and communicate regularly about progress. Realistically I
72 will not be able to start this effort until the new year. I wish you all a
73 great new year and holiday season, and look forward some awesome
74 collaboration in 2018!
75
76 For the sake of keeping gentoo-project on topic, consider this a simple
77 status update of what drobbins is up to and how he's collaborating with
78 Gentoo, so that there is no mystery. Any replies related directly to the
79 Portage proposal -- whether you like the ideas, whether you want me to
80 contribute or not, whether you dislike pkgcore or paludis being mentioned
81 or not, whether you like the idea of splitting portage into ebuild/emerge
82 or not, whether repoman demonstrates that this is a bad idea or not,
83 whether you want to write it in rust, C++ or go or not -- that conversation
84 doesn't belong on this list. Nor is it worth engaging in technical
85 conversation until I have a document that is ready for public review. I
86 will share ideas and gather feedback informally in #gentoo-portage as I
87 work on the document. Consider all of this a fun thing to reflect on over
88 the holidays :)
89
90 Take care, everyone --
91
92 Daniel
93
94 On Sat, Dec 9, 2017 at 3:39 PM, Daniel Robbins <drobbins@××××××.org> wrote:
95
96 > Hey Alex,
97 >
98 > Yes, correct, it doesn't involve you :) I am aware of some dynamics that
99 > you are not.
100 >
101 > I do not want to alarm anyone -- I don't think things are about to
102 > implode. But I do bring up my areas of suggestion for a reason. They are
103 > based on facts and first-hand conversations. I was asked by Ulrich if I was
104 > aware of some dysfunction related to #gentoo-portage -- I wouldn't have
105 > brought it up if not asked directly -- but I definitely am aware. It does
106 > not manifest in the channel in any obvious way, but it's there and it
107 > involves valuable people to the project, on both sides, and some amount of
108 > animosity. Rather than focus on the problem, I would rather focus on the
109 > solution, and I think the solution is to positively engage with and have a
110 > plan for senior developers, one that creates enthusiasm and positive
111 > movement, eases some pent-up frustration points for various people and
112 > supports people in making a difference. I am trying to assist where I can.
113 > But we need to be able to acknowledge the problem before we can actually
114 > have any hope of addressing it.
115 >
116 > Again, the sky is not falling and I see an overwhelming amount of positive
117 > direction in regards to Gentoo as a whole. But I also do see areas of
118 > improvement. Gentoo has not 'arrived' at perfection. Yet the impossibility
119 > of perfection isn't an excuse to not tackle the current challenges on the
120 > horizon. At least, that is my opinion.
121 >
122 > My point is simply that yes, my observations are real and I think
123 > pertinent to the continued positive direction of the project. I'm not
124 > saying that to spread FUD -- but instead to suggest that Gentoo could be so
125 > much better if we found a way for the project to, say, engage with vapier
126 > in a positive way rather than have him leave in frustration, as one example
127 > (and frankly a big enough example that it should suffice to provide ample
128 > evidence for the reality of what I am saying to anyone who questions its
129 > existence.)
130 >
131 > I am looking at what we could be if we didn't just accept these incidents
132 > as inevitable and acceptable losses but looked at them as challenges to
133 > overcome and make us better for the next time. The idea of doing that is
134 > something I find personally exciting.
135 >
136 > -Daniel
137 >
138 > On Sat, Dec 9, 2017 at 1:25 PM, Alexander Berntsen <bernalex@g.o>
139 > wrote:
140 >
141 >> On 09/12/17 18:29, Daniel Robbins wrote:
142 >> > And yes, there is some conflict in regards to the future direction of
143 >> > Portage, but this conflict is not really out in the open.
144 >> There is? Speaking as the former lead dev, who just asked the current
145 >> lead dev (Brian) -- we in the Portage team don't know of any conflict
146 >> about "the future direction of Portage," so if there is a secret plot
147 >> going on somewhere, it doesn't involve us.
148 >>
149 >> --
150 >> Alexander
151 >> bernalex@g.o
152 >> https://secure.plaimi.net/~alexander
153 >>
154 >>
155 >

Replies

Subject Author
Re: [gentoo-project] Re: A plan for Gentoo Matthias Maier <tamiko@g.o>