1 |
> On 10 Mar 2022, at 23:18, Joshua Kinard <kumba@g.o> wrote: |
2 |
> |
3 |
> On 3/10/2022 14:58, Alec Warner wrote: |
4 |
>> On Thu, Mar 10, 2022 at 10:27 AM Joshua Kinard <kumba@g.o> wrote: |
5 |
>>> |
6 |
>>> On 3/9/2022 16:00, Matt Turner wrote: |
7 |
>>>> I'd like to deprecate and ultimately remove repoman. I believe that |
8 |
>>>> dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts) |
9 |
>>>> are far superior replacements, and it makes sense to have people using |
10 |
>>>> the same tool and seeing the same warnings as in the CI. |
11 |
>>>> |
12 |
>>>> Are there any useful checks or behaviors of repoman that are missing |
13 |
>>>> from pkgcheck and pkgcommit? |
14 |
>>>> |
15 |
>>>> Thanks, |
16 |
>>>> Matt |
17 |
>>> |
18 |
>>> repoman has been //the// goto tool for checking in a change since before I |
19 |
>>> was a developer in 2003. It does everything we need, in one simple tool. |
20 |
>>> Your proposal looks to replace repoman's functionality (and snark) with two |
21 |
>>> or more packages, including tools from a package named after a fellow developer. |
22 |
>>> |
23 |
>>> Additionally, "I believe that <foo> are far superior replacements" is an |
24 |
>>> entirely subjective opinion and, frankly, completely invalid as |
25 |
>>> justification to replace a tool that has worked fine for the last 20+ years. |
26 |
>>> What is so fundamentally broken about repoman that cannot be fixed such |
27 |
>>> that it needs total replacement by multiple independent tools? Please |
28 |
>>> document. the pros and cons here so that we can all make an informed decision. |
29 |
|
30 |
Matt could've given more details about why pkgcheck is superior but I think |
31 |
this is actually showing/exposing the problem again: we've assumed that |
32 |
everybody should really know repoman lacks a significant number of the checks |
33 |
pkgcheck has, as well as being much slower. |
34 |
|
35 |
Those are the two reasons why it's superior. |
36 |
|
37 |
>> |
38 |
>> So here is the more basic argument, you can agree or disagree. |
39 |
>> |
40 |
>> *The goal I want is for people to commit to the tree and not break things.* |
41 |
> |
42 |
> This goal I agree with, and I am rather pedantic about. If not mildly |
43 |
> fearful of. We've all been there at least once in our dev-lives. It's |
44 |
> almost a rite of passage, if you will, to break the tree with a dumb commit |
45 |
> at least once. Goal is to never repeat that mistake again. |
46 |
> |
47 |
|
48 |
Right. I spend a fair amount of time fixing issues with repoman doesn't |
49 |
find but pkgcheck / CI does, or filing bugs for them. |
50 |
|
51 |
> |
52 |
>> If we could accomplish this with no tooling at all, that would be |
53 |
>> great. Sadly humans are fallible and so we have tools to check their |
54 |
>> work. Currently this tooling has two parts: |
55 |
>> - pre-push tooling that you run prior to pushing. |
56 |
>> - post-push CI tooling that informs you when you break the tree. |
57 |
>> |
58 |
>> So holding to our goal of not breaking the tree, it's better for |
59 |
>> developers to run the same QA tool in pre-push that CI is using, |
60 |
>> because our metric for 'breaking the tree' is the CI tool and if the |
61 |
>> CI tool passes locally, there is a strong likelihood it will not break |
62 |
>> in CI either. Note this argument is generic, I'm not even saying which |
63 |
>> tools are in use, or which tools are better, or anything like that. |
64 |
>> |
65 |
>> Here we see Matt discussing a workflow he finds frustrating. |
66 |
>> - A developer does a push. |
67 |
>> - Their push breaks CI. |
68 |
>> - He inquires about their workflow. |
69 |
>> - He learns they did not run the CI tool in their pre-push workflow. |
70 |
>> - He tells them they should run the CI tool in their pre-push workflow. |
71 |
>> - This happens many times, causing this thread. |
72 |
>> |
73 |
>> The point of the thread then is to convince people to run the CI tool |
74 |
>> in pre-push, as a matter of policy, to reduce tree breakage and reduce |
75 |
>> the occurrence of the above conversation. |
76 |
> |
77 |
> I stick to the officially-published method of checking and committing changes: |
78 |
> https://devmanual.gentoo.org/ebuild-maintenance/git/index.html |
79 |
> |
80 |
> The two tools highlighted there for the bulk of the work is repoman and |
81 |
> pkgdev. repoman is cited twelve times, pkgdev is cited six times. pkgcheck |
82 |
> is mentioned once. pkgcommit has no mentions. |
83 |
|
84 |
pkgcommit is just a wrapper around git and pkgcheck, so it is there. |
85 |
|
86 |
It's not like you aren't allowed to make your own wrappers or aliases or scripts, right? |
87 |
|
88 |
|
89 |
>> |
90 |
> |
91 |
> Back in mid-2002, it was exactly Gentoo's snarkness that tipped the scales |
92 |
> for me. I'd just given up on FreeBSD-4.x on a sparc64 machine (old Sun |
93 |
> Blade 100) and LFS turned out to not be a lot of fun, but Gentoo worked fine |
94 |
> on it. All of the colors on the terminal gave it zing and pop, and made it |
95 |
> rather fun to work with. rpm and apt-get were dull; emerge was cheeky and |
96 |
> playful! Still is to this day. |
97 |
> |
98 |
|
99 |
I have no objection to (and in fact would rather welcome) contributions |
100 |
to make other tools more "Gentoo-like". Could you make a PR or provide |
101 |
some patch to add some more personality to them? |