Gentoo Archives: gentoo-dev

From: Brian Dolbec <dolsen@g.o>
To: William Hubbs <williamh@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Deprecating repoman
Date: Fri, 11 Mar 2022 16:49:58
Message-Id: 20220311084948.19f754bc@storm
In Reply to: Re: [gentoo-dev] Deprecating repoman by William Hubbs
1 On Thu, 10 Mar 2022 12:07:40 -0600
2 William Hubbs <williamh@g.o> wrote:
3
4 > On Thu, Mar 10, 2022 at 09:29:59AM -0800, Matt Turner wrote:
5 > > On Wed, Mar 9, 2022 at 11:09 PM Joonas Niilola <juippis@g.o>
6 > > wrote:
7 > > >
8 > > > On 9.3.2022 23.00, Matt Turner wrote:
9 > > > > I'd like to deprecate and ultimately remove repoman. I believe
10 > > > > that dev-util/pkgcheck and pkgcommit (from
11 > > > > app-portage/mgorny-dev-scripts) are far superior replacements,
12 > > > > and it makes sense to have people using the same tool and
13 > > > > seeing the same warnings as in the CI.
14 > > > >
15 > > > > Are there any useful checks or behaviors of repoman that are
16 > > > > missing from pkgcheck and pkgcommit?
17 > > > >
18 > > > > Thanks,
19 > > > > Matt
20 > > > >
21 > > >
22 > > > I still fail to see the "why" in here. Repoman is better than
23 > > > pure 'git commit' that I know some people still like to use, and
24 > > > as long as it's kept maintained.
25 > >
26 > > repoman is inferior to other tooling mentioned. The other tooling is
27 > > actually run in CI. Developers should get the same warnings locally
28 > > as in CI. Restated another way: I'm tired of telling people to stop
29 > > using repoman or "pkgcheck would have caught that".
30 >
31 > I am going to nit-pick here, but pkgcheck pulls in pkgcore still. As
32 > far asI know, pkgcore was meant to be a portage-like package manager,
33 > but it isn't maintained. So, can we break that dependency before we
34 > make pkgcheck the official tool for qa checks? I would rather not have
35 > pkgcore landing on everyone's systems unless it is usable. If I am
36 > wrong about pkgcore, please correct me and I'll be quiet, but if not
37 > let's make pkgcheck independent from it before we deprecate repoman.
38 >
39 > Thanks,
40 >
41 > William
42
43 William. pkgcheck uses pkgcore base code as it's library for accessing
44 and evaluating repositories and ebuilds just like repoman uses portage
45 api's to do the same. This is why pkgcheck is primarily faster than
46 repoman. pkgcore was a re-design from the ground up of how to handle
47 repositories and ebuilds within them, with efficiency and speed in mind.
48
49 Unfortunately, pkgcore never gained enough developer support to to keep
50 up with EAPI changes and the miriad of portage options that kept
51 expanding. So pkgcore never ended up replacing portage as our main
52 package manager. This is one reason why Brian eventually gave up on it
53 and subsequently left gentoo.
54
55
56 While I put a lot of effort into the re-write of repoman so that the
57 code is maintainable, more easily extendable. It will never be as fast
58 as pkgcheck due to the legacy portage code it is based on.
59
60 Yes, repoman could be updated to do more checks and catch everything
61 that pkgcheck does. It can be made to do many of the checks in
62 parrallel, but it will never be as efficient as pkgcheck due to the
63 underlying portage code it uses. I largely stopped working on
64 repoman/gentoo due to the near constant bitching about nearly everything
65 I did from another (ahem) gentoo developer which shall remain un-named.
66
67
68 My only concern about the possible deprecation of repoman, is the fact
69 that is is based on the current official and primary package manager
70 code used in gentoo. While pkgcheck is not. For that reason,
71 changes made to the core code is mostly automatically carried
72 over to repoman without need to change repoman as well. Ideally,
73 development should be moved to pkgcore and portage be put into
74 maintenance mode only. With pkgcore taking over as the primary package
75 manager for gentoo. But Zac is just too damn efficient at
76 updating/fixing portage bugs! As well as adding features and
77 options... (too damn many to remember half of them now)