1 |
On 3/11/2022 20:57, Sam James wrote: |
2 |
> |
3 |
> |
4 |
>> On 10 Mar 2022, at 23:18, Joshua Kinard <kumba@g.o> wrote: |
5 |
>> |
6 |
>> On 3/10/2022 14:58, Alec Warner wrote: |
7 |
>>> On Thu, Mar 10, 2022 at 10:27 AM Joshua Kinard <kumba@g.o> wrote: |
8 |
>>>> |
9 |
>>>> On 3/9/2022 16:00, Matt Turner wrote: |
10 |
>>>>> I'd like to deprecate and ultimately remove repoman. I believe that |
11 |
>>>>> dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts) |
12 |
>>>>> are far superior replacements, and it makes sense to have people using |
13 |
>>>>> the same tool and seeing the same warnings as in the CI. |
14 |
>>>>> |
15 |
>>>>> Are there any useful checks or behaviors of repoman that are missing |
16 |
>>>>> from pkgcheck and pkgcommit? |
17 |
>>>>> |
18 |
>>>>> Thanks, |
19 |
>>>>> Matt |
20 |
>>>> |
21 |
>>>> repoman has been //the// goto tool for checking in a change since before I |
22 |
>>>> was a developer in 2003. It does everything we need, in one simple tool. |
23 |
>>>> Your proposal looks to replace repoman's functionality (and snark) with two |
24 |
>>>> or more packages, including tools from a package named after a fellow developer. |
25 |
>>>> |
26 |
>>>> Additionally, "I believe that <foo> are far superior replacements" is an |
27 |
>>>> entirely subjective opinion and, frankly, completely invalid as |
28 |
>>>> justification to replace a tool that has worked fine for the last 20+ years. |
29 |
>>>> What is so fundamentally broken about repoman that cannot be fixed such |
30 |
>>>> that it needs total replacement by multiple independent tools? Please |
31 |
>>>> document. the pros and cons here so that we can all make an informed decision. |
32 |
> |
33 |
> Matt could've given more details about why pkgcheck is superior but I think |
34 |
> this is actually showing/exposing the problem again: we've assumed that |
35 |
> everybody should really know repoman lacks a significant number of the checks |
36 |
> pkgcheck has, as well as being much slower. |
37 |
> |
38 |
> Those are the two reasons why it's superior. |
39 |
|
40 |
But again, those are subjective observations. Maybe it's my longer |
41 |
experience with the project, or maybe it's because I usually refrain from |
42 |
poking the more complex bits in the tree, or maybe it's the particular niche |
43 |
I've stuck to, the extra checks that pkgcheck runs haven't really applied to |
44 |
me. If I do too many significant changes to an ebuild, I'll re-read its |
45 |
source a half-dozen times or more to make ***sure*** that I didn't miss |
46 |
something. I will grep the tree for similar bits of code to make sure I'm |
47 |
doing something reasonably sane, I will test that ebuild on at least two |
48 |
different arches (amd64 and mips), etc. Maybe I over think it, or maybe I |
49 |
have some form of hyperpedanticism. Or maybe I've just been really lucky. |
50 |
:: shrugs :: |
51 |
|
52 |
And speed, again, is really quite far down on my list of concerns most of |
53 |
the time. |
54 |
|
55 |
That said, yes, I agree with you wholeheartedly that there was a failure at |
56 |
the Project/Distro level to explain the benefits of using pkgcheck over |
57 |
repoman scan/full. That's a communications failure, and it is really |
58 |
symbolic of a larger issue that projects like ours often struggle with. |
59 |
Each of us tends to operate off in their own little fiefdom, something I am |
60 |
just as guilty of as anyone else, and we don't always know what other devs |
61 |
are doing or how they're doing it. I wish I had suggestions to offer up at |
62 |
the moment on fixing this, but, alas... |
63 |
|
64 |
|
65 |
>>> |
66 |
>>> So here is the more basic argument, you can agree or disagree. |
67 |
>>> |
68 |
>>> *The goal I want is for people to commit to the tree and not break things.* |
69 |
>> |
70 |
>> This goal I agree with, and I am rather pedantic about. If not mildly |
71 |
>> fearful of. We've all been there at least once in our dev-lives. It's |
72 |
>> almost a rite of passage, if you will, to break the tree with a dumb commit |
73 |
>> at least once. Goal is to never repeat that mistake again. |
74 |
>> |
75 |
> |
76 |
> Right. I spend a fair amount of time fixing issues with repoman doesn't |
77 |
> find but pkgcheck / CI does, or filing bugs for them. |
78 |
> |
79 |
>> |
80 |
>>> If we could accomplish this with no tooling at all, that would be |
81 |
>>> great. Sadly humans are fallible and so we have tools to check their |
82 |
>>> work. Currently this tooling has two parts: |
83 |
>>> - pre-push tooling that you run prior to pushing. |
84 |
>>> - post-push CI tooling that informs you when you break the tree. |
85 |
>>> |
86 |
>>> So holding to our goal of not breaking the tree, it's better for |
87 |
>>> developers to run the same QA tool in pre-push that CI is using, |
88 |
>>> because our metric for 'breaking the tree' is the CI tool and if the |
89 |
>>> CI tool passes locally, there is a strong likelihood it will not break |
90 |
>>> in CI either. Note this argument is generic, I'm not even saying which |
91 |
>>> tools are in use, or which tools are better, or anything like that. |
92 |
>>> |
93 |
>>> Here we see Matt discussing a workflow he finds frustrating. |
94 |
>>> - A developer does a push. |
95 |
>>> - Their push breaks CI. |
96 |
>>> - He inquires about their workflow. |
97 |
>>> - He learns they did not run the CI tool in their pre-push workflow. |
98 |
>>> - He tells them they should run the CI tool in their pre-push workflow. |
99 |
>>> - This happens many times, causing this thread. |
100 |
>>> |
101 |
>>> The point of the thread then is to convince people to run the CI tool |
102 |
>>> in pre-push, as a matter of policy, to reduce tree breakage and reduce |
103 |
>>> the occurrence of the above conversation. |
104 |
>> |
105 |
>> I stick to the officially-published method of checking and committing changes: |
106 |
>> https://devmanual.gentoo.org/ebuild-maintenance/git/index.html |
107 |
>> |
108 |
>> The two tools highlighted there for the bulk of the work is repoman and |
109 |
>> pkgdev. repoman is cited twelve times, pkgdev is cited six times. pkgcheck |
110 |
>> is mentioned once. pkgcommit has no mentions. |
111 |
> |
112 |
> pkgcommit is just a wrapper around git and pkgcheck, so it is there. |
113 |
> |
114 |
> It's not like you aren't allowed to make your own wrappers or aliases or scripts, right? |
115 |
|
116 |
Yes, I could. but that's not the point I was making. My point was Matt |
117 |
recommended pkgcommit as one of the two tools deemed superior to repoman, |
118 |
but without providing any context. TBH, I didn't even know that the |
119 |
containing package was even in the tree, and I certainly didn't even know |
120 |
pkgcommit existed. I made the point I did about there being no mentions of |
121 |
pkgcommit in that part of the devmanual to underscore that fact. |
122 |
|
123 |
I've got my own small (but growing) collection of trashy little hackscripts |
124 |
(and a collection of aliases) for maintaining my Gentoo and BSD systems. |
125 |
Many of them are so specific to things I do locally on my machines, they're |
126 |
never going to wind up published anywhere, because they likely won't work |
127 |
for anyone but me. |
128 |
|
129 |
|
130 |
>>> |
131 |
>> |
132 |
>> Back in mid-2002, it was exactly Gentoo's snarkness that tipped the scales |
133 |
>> for me. I'd just given up on FreeBSD-4.x on a sparc64 machine (old Sun |
134 |
>> Blade 100) and LFS turned out to not be a lot of fun, but Gentoo worked fine |
135 |
>> on it. All of the colors on the terminal gave it zing and pop, and made it |
136 |
>> rather fun to work with. rpm and apt-get were dull; emerge was cheeky and |
137 |
>> playful! Still is to this day. |
138 |
>> |
139 |
> |
140 |
> I have no objection to (and in fact would rather welcome) contributions |
141 |
> to make other tools more "Gentoo-like". Could you make a PR or provide |
142 |
> some patch to add some more personality to them? |
143 |
|
144 |
Unfortunately, I have been advised by many of my friends and associates to |
145 |
stay well away from anything remotely resembling comedy. Like many people, |
146 |
I get the jokes and laugh along with them, but like a Vogon reading poetry, |
147 |
I should never attempt to create the jokes. I get away with the small pun |
148 |
here and there, but it's only a matter of time before the gallows will find |
149 |
me for one of those. |
150 |
|
151 |
And really, much of Portage's built-in humor is largely a function of |
152 |
carpaski being one of its original authors. He's even got his own Urban |
153 |
Dictionary entry, which should tell you a lot about things: |
154 |
|
155 |
https://www.urbandictionary.com/define.php?term=carpaski |
156 |
|
157 |
Honestly, see that entry brings back a lot of memories... |
158 |
|
159 |
-- |
160 |
Joshua Kinard |
161 |
Gentoo/MIPS |
162 |
kumba@g.o |
163 |
rsa6144/5C63F4E3F5C6C943 2015-04-27 |
164 |
177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943 |
165 |
|
166 |
"The past tempts us, the present confuses us, the future frightens us. And |
167 |
our lives slip away, moment by moment, lost in that vast, terrible in-between." |
168 |
|
169 |
--Emperor Turhan, Centauri Republic |