Gentoo Archives: gentoo-dev

From: Brian Dolbec <dolsen@g.o>
To: Alec Warner <antarus@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Deprecating repoman
Date: Fri, 11 Mar 2022 19:04:23
Message-Id: 20220311110414.03602178@storm
In Reply to: Re: [gentoo-dev] Deprecating repoman by Alec Warner
1 On Fri, 11 Mar 2022 10:25:19 -0800
2 Alec Warner <antarus@g.o> wrote:
3
4 > On Fri, Mar 11, 2022 at 9:14 AM Peter Stuge <peter@×××××.se> wrote:
5 > >
6 > > Matt Turner wrote:
7 > > > repoman is inferior to other tooling mentioned. The other tooling
8 > > > is actually run in CI.
9 > >
10 > > The problem seems to be that CI is running something other than
11 > > developers run, not the other way around.
12 > >
13 > >
14 > > > Developers should get the same warnings locally as in CI.
15 > >
16 > > I agree. And developers and their tools should not have to bend to
17 > > whatever CI does, I think the other way around makes more sense.
18 > >
19 > >
20 > > CI doesn't use repoman because of performance issues.
21 >
22 > I think the problem is that making committers use the CI tool is
23 > technically a fairly straightforward change; while everything you
24 > discuss further in the thread is not; because it implies people will
25 > work on improving tools that have shown little or no progress on
26 > improving in the 15 years I've been in Gentoo.
27 >
28
29 Somewhat incorrect here. I did the majority of the re-write to make
30 the code maintainable, extensible not that long ago. It even has the
31 ability to be repository configurable and include the ability for
32 custom repository plugin checks to be added and run. The CI system was
33 being developed at the same time using pkgcheck.
34
35 See my other reply to WilliamH for more detail about that and
36 fundamental speed differences.
37
38
39
40 > >
41 > > What if pkgcore evolves to provide a portage-compatible API?
42 >
43 > No API is planned and no one is working on it.
44 >
45
46 I and a few others did some work to ensure pkgcore had some usable
47 api's from early in it's development. But pkgcore is so different from
48 portage code, it was difficult for early to mediocre python devs to
49 wrap their head around. There was even work to make porthole be able
50 to use pkgcore as it's backend package manager, but it was never fully
51 utilized due to more work needed on pkgcore for some functionality.
52
53
54 > >
55 > > Then CI could use repoman without performance problems, and
56 > > developers would also enjoy improved performance, without spending
57 > > time on replacing tooling which already works for them.
58 >
59
60 No, pkgcore and it's QA tool pkgcheck are designed to work together.
61 Repoman is designed to work with portage base code. Checks can be
62 designed to work on either, but not both. The missing checks that
63 the CI does can be added to repoman, but the primary dev(s) creating
64 them on the CI don't recreate them for repoman. They want to work on
65 pkgcheck.
66
67 Repoman code will NEVER be as fast as pkgcheck due to the legacy
68 portage code structure it relies on. Pkgcore was a re-design from the
69 ground up to to improve upon the shortcomings of the original portage
70 structure. This resulted in vast speed improvements and reduction in
71 lines of code to do the same functionality. Portage (due to Zac) has
72 made vast improvements in structure, but still requires a ton more
73 changes to get to where it should be.
74
75
76 > The benefit of getting people to change their behavior is that the
77 > benefits (less breakage, better tooling) are achieved now; as opposed
78 > to in some hypothetical future where repoman is improved.
79 > Note that we have been waiting for 'improved repoman' for about 8
80 > years; so..I'm not willing to bet on it when we have better tooling
81 > that works today and the primary complaint is that...what exactly?
82 >
83 > The new workflow with pkgcheck was announced at the end of 2019:
84 > https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck
85 >
86 > It's been 2 years, I think we can bring everyone into the fold here.
87 >
88 > >
89 > > Looking into the future then maybe portage could even come to use
90 > > pkgcore for the low-level things that pkgcore does, then even users
91 > > could enjoy improved performance.
92 >
93 > Many things could happen but again, if you talk to people who work on
94 > pkgcore; there is no concrete plan for this. So I don't see why we are
95 > betting on it happening.
96 >
97 > If you read radhermit's blog:
98 > https://pkgcraft.github.io/posts/timesink-chronicles/ you can get one
99 > take on the project and why it struggled.
100 >
101 > -A
102 >
103 > >
104 > >
105 > > Right?
106 > >
107 > > //Peter
108 > >
109 >