1 |
On Mon, 2019-09-09 at 08:38 -0700, Alec Warner wrote: |
2 |
> On Sun, Sep 8, 2019 at 11:24 PM Michał Górny <mgorny@g.o> wrote: |
3 |
> |
4 |
> > Hi, |
5 |
> > |
6 |
> > This is something I'd like to pass to the Council for the next meeting. |
7 |
> > |
8 |
> > TL;DR: I'd like to allow using pkgcheck instead of repoman because it's |
9 |
> > 5-26 times faster and more convenient to use. |
10 |
> > |
11 |
> > |
12 |
> > The current policy requires you to test your packages with repoman prior |
13 |
> > to committing. However, repoman is both pretty inconvenient, unreadable |
14 |
> > and slow. For example, for the cleanup of old versions in 4 packages I |
15 |
> > have staged right now: |
16 |
> > |
17 |
> > $ time sh -c '(for x in $(git diff --name-only origin | cut -d/ -f1-2 | |
18 |
> > uniq); do ( cd $x && repoman full -d ); done)' |
19 |
> > |
20 |
> > RepoMan scours the neighborhood... |
21 |
> > RepoMan sez: "If everyone were like you, I'd be out of business!" |
22 |
> > |
23 |
> > RepoMan scours the neighborhood... |
24 |
> > RepoMan sez: "If everyone were like you, I'd be out of business!" |
25 |
> > |
26 |
> > RepoMan scours the neighborhood... |
27 |
> > repo.eapi-deprecated 1 |
28 |
> > media-libs/stops/stops-0.3.0-r1.ebuild: 5 |
29 |
> > RepoMan sez: "You're only giving me a partial QA payment? |
30 |
> > I'll take it this time, but I'm not happy." |
31 |
> > |
32 |
> > RepoMan scours the neighborhood... |
33 |
> > RepoMan sez: "If everyone were like you, I'd be out of business!" |
34 |
> > |
35 |
> > real 1m46,236s |
36 |
> > user 1m38,524s |
37 |
> > sys 0m7,818s |
38 |
> > |
39 |
> > |
40 |
> > For comparison, pkgcheck: |
41 |
> > |
42 |
> > $ time pkgcheck scan --git-disable $(git diff origin --name-only | cut -d/ |
43 |
> > -f1-2 | sort -u) |
44 |
> > media-libs/stops |
45 |
> > DeprecatedEAPI: version 0.3.0-r1: uses deprecated EAPI 5 |
46 |
> > |
47 |
> > real 0m4,408s |
48 |
> > user 0m3,985s |
49 |
> > sys 0m0,559s |
50 |
> > |
51 |
> > |
52 |
> > Note that this is with warm profile cache. Without it: |
53 |
> > |
54 |
> > $ time pkgcheck scan --profile-cache false --git-disable $(git diff origin |
55 |
> > --name-only | cut -d/ -f1-2 | sort -u) |
56 |
> > media-libs/stops |
57 |
> > DeprecatedEAPI: version 0.3.0-r1: uses deprecated EAPI 5 |
58 |
> > |
59 |
> > real 0m18,791s |
60 |
> > user 0m16,279s |
61 |
> > sys 0m0,611s |
62 |
> > |
63 |
> > |
64 |
> > PkgCheck implements most of the checks currently in repoman, |
65 |
> > and implements some more (e.g. for bad SRC_URI filenames). It finally |
66 |
> > had new releases recently, and I think it's matured enough for basic |
67 |
> > development work. |
68 |
> > |
69 |
> |
70 |
> Generally speaking if stuff passes CI I'm happy, and if it doesn't I'm |
71 |
> unhappy. That being said, do we think there any critical repoman checks |
72 |
> that pkgcore does not implement? |
73 |
|
74 |
Nope, critical definitely not. FWIK radhermit doesn't consider any of |
75 |
the missing repoman checks useful. |
76 |
|
77 |
> Is there a plan for continued maintenance? E.g. when EAPI-next comes out I |
78 |
> suspect repoman will get it (via portage), but pkgcore struggled to pick up |
79 |
> new EAPIs as quickly. You mentioned pkgcheck had some releases; do we |
80 |
> expect this to continue? |
81 |
|
82 |
Well, I expect so. radhermit is doing great work. As for EAPIs, |
83 |
usually partial support is sufficient for pkgcheck, and last time |
84 |
I didn't have a major problem doing the necessary work for CI. |
85 |
|
86 |
That said, I dare say pkgcheck has much lower entry barrier right now |
87 |
than repoman. Repoman was never convenient to work with, and the last |
88 |
refactoring made contributing even harder (more resembling working with |
89 |
Windows) than before. PkgCheck is very pythonic in comparison (even if |
90 |
you account for ferringb's weird past work, it usually doesn't affect |
91 |
you). |
92 |
|
93 |
-- |
94 |
Best regards, |
95 |
Michał Górny |