From: Sam James <sam@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Deprecating repoman
Date: Sat, 12 Mar 2022 01:57:51 +0000 [thread overview]
Message-ID: <D4C360AE-9992-46BE-A8AC-AC170B52857F@gentoo.org> (raw)
In-Reply-To: <8ff5dd6c-0f9a-3a17-a53d-527c23d46892@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 4893 bytes --]
> On 10 Mar 2022, at 23:18, Joshua Kinard <kumba@gentoo.org> wrote:
>
> On 3/10/2022 14:58, Alec Warner wrote:
>> On Thu, Mar 10, 2022 at 10:27 AM Joshua Kinard <kumba@gentoo.org> wrote:
>>>
>>> On 3/9/2022 16:00, Matt Turner wrote:
>>>> I'd like to deprecate and ultimately remove repoman. I believe that
>>>> dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts)
>>>> are far superior replacements, and it makes sense to have people using
>>>> the same tool and seeing the same warnings as in the CI.
>>>>
>>>> Are there any useful checks or behaviors of repoman that are missing
>>>> from pkgcheck and pkgcommit?
>>>>
>>>> Thanks,
>>>> Matt
>>>
>>> repoman has been //the// goto tool for checking in a change since before I
>>> was a developer in 2003. It does everything we need, in one simple tool.
>>> Your proposal looks to replace repoman's functionality (and snark) with two
>>> or more packages, including tools from a package named after a fellow developer.
>>>
>>> Additionally, "I believe that <foo> are far superior replacements" is an
>>> entirely subjective opinion and, frankly, completely invalid as
>>> justification to replace a tool that has worked fine for the last 20+ years.
>>> What is so fundamentally broken about repoman that cannot be fixed such
>>> that it needs total replacement by multiple independent tools? Please
>>> document. the pros and cons here so that we can all make an informed decision.
Matt could've given more details about why pkgcheck is superior but I think
this is actually showing/exposing the problem again: we've assumed that
everybody should really know repoman lacks a significant number of the checks
pkgcheck has, as well as being much slower.
Those are the two reasons why it's superior.
>>
>> So here is the more basic argument, you can agree or disagree.
>>
>> *The goal I want is for people to commit to the tree and not break things.*
>
> This goal I agree with, and I am rather pedantic about. If not mildly
> fearful of. We've all been there at least once in our dev-lives. It's
> almost a rite of passage, if you will, to break the tree with a dumb commit
> at least once. Goal is to never repeat that mistake again.
>
Right. I spend a fair amount of time fixing issues with repoman doesn't
find but pkgcheck / CI does, or filing bugs for them.
>
>> If we could accomplish this with no tooling at all, that would be
>> great. Sadly humans are fallible and so we have tools to check their
>> work. Currently this tooling has two parts:
>> - pre-push tooling that you run prior to pushing.
>> - post-push CI tooling that informs you when you break the tree.
>>
>> So holding to our goal of not breaking the tree, it's better for
>> developers to run the same QA tool in pre-push that CI is using,
>> because our metric for 'breaking the tree' is the CI tool and if the
>> CI tool passes locally, there is a strong likelihood it will not break
>> in CI either. Note this argument is generic, I'm not even saying which
>> tools are in use, or which tools are better, or anything like that.
>>
>> Here we see Matt discussing a workflow he finds frustrating.
>> - A developer does a push.
>> - Their push breaks CI.
>> - He inquires about their workflow.
>> - He learns they did not run the CI tool in their pre-push workflow.
>> - He tells them they should run the CI tool in their pre-push workflow.
>> - This happens many times, causing this thread.
>>
>> The point of the thread then is to convince people to run the CI tool
>> in pre-push, as a matter of policy, to reduce tree breakage and reduce
>> the occurrence of the above conversation.
>
> I stick to the officially-published method of checking and committing changes:
> https://devmanual.gentoo.org/ebuild-maintenance/git/index.html
>
> The two tools highlighted there for the bulk of the work is repoman and
> pkgdev. repoman is cited twelve times, pkgdev is cited six times. pkgcheck
> is mentioned once. pkgcommit has no mentions.
pkgcommit is just a wrapper around git and pkgcheck, so it is there.
It's not like you aren't allowed to make your own wrappers or aliases or scripts, right?
>>
>
> Back in mid-2002, it was exactly Gentoo's snarkness that tipped the scales
> for me. I'd just given up on FreeBSD-4.x on a sparc64 machine (old Sun
> Blade 100) and LFS turned out to not be a lot of fun, but Gentoo worked fine
> on it. All of the colors on the terminal gave it zing and pop, and made it
> rather fun to work with. rpm and apt-get were dull; emerge was cheeky and
> playful! Still is to this day.
>
I have no objection to (and in fact would rather welcome) contributions
to make other tools more "Gentoo-like". Could you make a PR or provide
some patch to add some more personality to them?
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 618 bytes --]
next prev parent reply other threads:[~2022-03-12 1:58 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-09 21:00 [gentoo-dev] Deprecating repoman Matt Turner
2022-03-09 21:14 ` Rich Freeman
2022-03-09 21:19 ` Matt Turner
2022-03-09 21:37 ` Matthias Maier
2022-03-09 21:47 ` Matt Turner
2022-03-09 22:33 ` Matthias Maier
2022-03-09 23:32 ` Matt Turner
2022-03-10 0:17 ` Matthias Maier
2022-03-10 0:51 ` Matt Turner
2022-03-10 18:28 ` Joshua Kinard
2022-03-10 19:44 ` Andreas K. Huettel
2022-03-10 21:53 ` Joshua Kinard
2022-03-10 22:00 ` John Helmert III
2022-03-10 19:59 ` Alec Warner
2022-03-10 21:57 ` Joshua Kinard
2022-03-10 22:04 ` Sam James
2022-03-09 21:23 ` Brian Evans
2022-03-09 21:25 ` Ionen Wolkens
2022-03-19 4:43 ` Zoltan Puskas
2022-03-19 7:15 ` Ulrich Mueller
2022-03-19 8:48 ` Michał Górny
2022-03-09 21:25 ` Anna Vyalkova
2022-03-09 21:27 ` Maciej Barć
2022-03-09 21:28 ` Matt Turner
2022-03-09 21:32 ` Brian Evans
2022-03-09 21:45 ` Matt Turner
2022-03-10 7:09 ` Joonas Niilola
2022-03-10 17:29 ` Matt Turner
2022-03-10 18:07 ` William Hubbs
2022-03-10 18:22 ` John Helmert III
2022-03-11 7:30 ` Anna Vyalkova
2022-03-11 16:49 ` Brian Dolbec
2022-03-11 17:14 ` Peter Stuge
2022-03-11 18:25 ` Alec Warner
2022-03-11 19:04 ` Brian Dolbec
2022-03-11 19:51 ` Joshua Kinard
2022-03-11 20:11 ` Arthur Zamarin
2022-03-12 1:45 ` Sam James
2022-03-12 1:54 ` Sam James
2022-03-10 18:27 ` Joshua Kinard
2022-03-10 19:58 ` Alec Warner
2022-03-10 23:18 ` Joshua Kinard
2022-03-11 8:54 ` Mart Raudsepp
2022-03-11 19:39 ` Joshua Kinard
2022-03-12 1:54 ` Sam James
2022-03-12 2:17 ` Joshua Kinard
2022-03-12 1:57 ` Sam James [this message]
2022-03-12 2:53 ` Joshua Kinard
2022-03-12 10:37 ` Mart Raudsepp
2022-03-11 19:38 ` Ulrich Mueller
2022-03-11 21:19 ` [gentoo-dev] " Matt Turner
2022-03-12 8:33 ` Fabian Groffen
2022-03-12 19:21 ` [gentoo-dev] " Hank Leininger
2022-03-12 20:26 ` [gentoo-dev] " Matt Turner
2022-03-13 22:52 ` Matt Turner
2022-03-12 0:43 ` [gentoo-dev] " Francesco Riosa
2022-03-12 0:46 ` Matt Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D4C360AE-9992-46BE-A8AC-AC170B52857F@gentoo.org \
--to=sam@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox