• [gentoo-dev] Deprecating repoman

    From Matt Turner@21:1/5 to All on Wed Mar 9 22:10:01 2022
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rich Freeman@21:1/5 to mattst88@gentoo.org on Wed Mar 9 22:20:02 2022
    On Wed, Mar 9, 2022 at 4:00 PM Matt Turner <mattst88@gentoo.org> wrote:

    Are there any useful checks or behaviors of repoman that are missing
    from pkgcheck and pkgcommit?

    Would it make sense to package pkgcommit or otherwise stick it
    somewhere official? I know there is a copy on mgorny's github
    repo/blog, but if this is going to become the recommended way to do
    commits we might want to stick it someplace a bit more canonical, and
    having it in a package would ensure that if there are any changes they
    get distributed.

    Obviously there are other ways to set it, but it lacks obtaining the
    gpg key to use from make.conf. I'm not sure that is really the best
    place to put it in any case. Just figured I'd point it out.

    --
    Rich

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to rich0@gentoo.org on Wed Mar 9 22:20:01 2022
    On Wed, Mar 9, 2022 at 1:15 PM Rich Freeman <rich0@gentoo.org> wrote:

    On Wed, Mar 9, 2022 at 4:00 PM Matt Turner <mattst88@gentoo.org> wrote:

    Are there any useful checks or behaviors of repoman that are missing
    from pkgcheck and pkgcommit?

    Would it make sense to package pkgcommit or otherwise stick it
    somewhere official? I know there is a copy on mgorny's github
    repo/blog, but if this is going to become the recommended way to do
    commits we might want to stick it someplace a bit more canonical, and
    having it in a package would ensure that if there are any changes they
    get distributed.

    I agree, this would be nice. (And it's already in a package, app-portage/mgorny-dev-scripts as I mentioned)

    Obviously there are other ways to set it, but it lacks obtaining the
    gpg key to use from make.conf. I'm not sure that is really the best
    place to put it in any case. Just figured I'd point it out.

    I think some bit of this message was lost? Looks like you're asking
    about where we should set the GPG key used for signing commits. IMO
    .git/config is the right place. Configuring it in make.conf was not a
    good idea, and as a follow-on I'd like to remove that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to xgqt@gentoo.org on Wed Mar 9 22:30:01 2022
    On Wed, Mar 9, 2022 at 1:27 PM Maciej Barć <xgqt@gentoo.org> wrote:

    Are there any useful checks or behaviors of repoman that are missing
    from pkgcheck and pkgcommit?

    Fixing ebuild copyright date is the first one that comes to mind.

    pkgcommit does this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Evans@21:1/5 to All on Wed Mar 9 22:30:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------qEnhaawfRrMJlNLyuz0PX6c0
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMy85LzIwMjIgNDowMCBQTSwgTWF0dCBUdXJuZXIgd3JvdGU6DQo+IEknZCBsaWtlIHRv IGRlcHJlY2F0ZSBhbmQgdWx0aW1hdGVseSByZW1vdmUgcmVwb21hbi4gSSBiZWxpZXZlIHRo YXQNCj4gZGV2LXV0aWwvcGtnY2hlY2sgYW5kIHBrZ2NvbW1pdCAoZnJvbSBhcHAtcG9ydGFn ZS9tZ29ybnktZGV2LXNjcmlwdHMpDQo+IGFyZSBmYXIgc3VwZXJpb3IgcmVwbGFjZW1lbnRz LCBhbmQgaXQgbWFrZXMgc2Vuc2UgdG8gaGF2ZSBwZW9wbGUgdXNpbmcNCj4gdGhlIHNhbWUg dG9vbCBhbmQgc2VlaW5nIHRoZSBzYW1lIHdhcm5pbmdzIGFzIGluIHRoZSBDSS4NCj4gDQo+ IEFyZSB0aGVyZSBhbnkgdXNlZnVsIGNoZWNrcyBvciBiZWhhdmlvcnMgb2YgcmVwb21hbiB0 aGF0IGFyZSBtaXNzaW5nDQo+IGZyb20gcGtnY2hlY2sgYW5kIHBrZ2NvbW1pdD8NCg0KSSBj ZXJ0YWlubHkgd291bGQgbWlzcyAncmVwb21hbiBtYW5pZmVzdCcuICBJIGJldCBvdGhlciBz Y3JpcHRzIHdvdWxkIA0KdG9vIGluY2x1ZGluZyBhdCBsZWFzdCBvbmUgaW4gdGhlIG1lbnRp b25lZCBhcHAtcG9ydGFnZS9tZ29ucnktZGV2LXNjcmlwdHMuDQoNCkJyaWFuDQo=

    --------------qEnhaawfRrMJlNLyuz0PX6c0--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAmIpGuAFAwAAAAAACgkQ0feB7/n0o7YU ChAAhqTVWy83TABaIjgpiOqL3ZnKzeLDHXtUC7QbsthUNBRjXrwIuk2g2H2ZM8CUX6OGP4drI8B7 aEO5Vsvb34NKaDSBZm+T1CoZxTxXXeIeYW8BYPJXJtcVK4EZSqj1TA3R11TTxDOJflLnMqQMQtlG 1M5ZRPtGj9YcMvwkIce/NzGyXDp+yuCXVtmhzUS3Znopwt9vRwjk64h3kX/7/r7fcbK1S2vThUpU GijVsnnHa20wLrU9rTJlTIXAwjW0PmadG0KCcomRLrC2LElEpR8V3BMiISbGftM29bKEVio8VW5O hI2xbxS4Sal2aycfD86SL0A0hXBW3i+21udIm0FzpTKiSmXZbfYMhsDaIny8D821qWv75Y6DAiFz +izTYn23sQFMA/nIFY8hElNo1NeDNMi7VFRjBHqedl1N5Kw56NH8jUx2DtDESjxR4nj0izE3gzhw YD4BQWi9lAPmb3sUwtO/V78xpjWJYnmU9sQF+8temujvPGD/DW3ERGqUBSRq49ZQXInr9M5PlzU/ 3H1FtFPoa5EMmrbhwOyDkh+elZfAbAWlAHmfkztQBvOZkhYJoSCf1nbRCeId0/0ilLaTH6rUoD1p XtVtICP7z+Ug8JL5cg0jMGLiEBtoykMjiQISel8nLtQW/g/nj5Y40gcrEMtW8z8+NDc4I4jwL+nO NOw=
    =kfdS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ionen Wolkens@21:1/5 to Matt Turner on Wed Mar 9 22:30:01 2022
    On Wed, Mar 09, 2022 at 01:00:37PM -0800, 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)

    There's also dev-util/pkgdev as an alternative to pkgcommit with more
    features for those that want them that will feel similar to repoman
    - pkgdev commit -c/-b bugnum (repoman commit -c/-b bugnum)
    - pkgdev manifest (repoman manifest)
    - pkgdev push (runs pkgcheck scan --commits before pushing)
    - updates copyright year / manifest on commit
    - basic commit message templates, like auto "cat/pkg: add <version>" on
    bumps without manual editing -- prepend cat/pkg: like other tools
    if nothing specific

    And other handy features like pkgdev mask --rites days

    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


    --
    ionen

    -----BEGIN PGP SIGNATURE-----

    iQEzBAABCAAdFiEEx3SLh1HBoPy/yLVYskQGsLCsQzQFAmIpGzwACgkQskQGsLCs QzT1Mwf/QPg4gskyKzlpupPhdt0azeckBrqk0WmRlFxLjf2YkM4Yoys1N+YBB9pN g3RRFX4G1HBgQu0bS3a3q17bb84Kuvqd/tEulxo7HjQTsXtFK5NsFPEbR+TXrIgZ Cy+J9MlxNFBdKrfrSBSTaGR8p7iBFr/Ohem053L57/zVqQaE45tJZsaH5/skcfCX qDrtBYgWkbIjhqJdaRfvD97tpa5VmGXoYjSdtHEECHZuWUMWN40bOy3mPSm4gpis y6Pzmqo01jN75mGzRRVK8gU8S5rEGonN7zhhrBk4ucQqgxQKoxUFlgKd8AJCTrP8 l38o+F0hlOR7pjlY3iYfffadPtcX0g==
    =KtNl
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Maciej_Bar=c4=87?=@21:1/5 to All on Wed Mar 9 22:30:01 2022
    To: mattst88@gentoo.org (Matt Turner)

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------bbDJccl5UtfNKKta1VOnpWhq
    Content-Type: multipart/mixed; boundary="------------HwBkR3Mvn0ft9lf0RVS8Ekzn"

    --------------HwBkR3Mvn0ft9lf0RVS8Ekzn
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    PiBBcmUgdGhlcmUgYW55IHVzZWZ1bCBjaGVja3Mgb3IgYmVoYXZpb3JzIG9mIHJlcG9tYW4g dGhhdCBhcmUgbWlzc2luZw0KPiBmcm9tIHBrZ2NoZWNrIGFuZCBwa2djb21taXQ/DQoNCkZp eGluZyBlYnVpbGQgY29weXJpZ2h0IGRhdGUgaXMgdGhlIGZpcnN0IG9uZSB0aGF0IGNvbWVz IHRvIG1pbmQuDQoNCg0KT24gMy85LzIyIDEwOjAwIFBNLCBNYXR0IFR1cm5lciB3cm90ZToN Cj4gSSdkIGxpa2UgdG8gZGVwcmVjYXRlIGFuZCB1bHRpbWF0ZWx5IHJlbW92ZSByZXBvbWFu LiBJIGJlbGlldmUgdGhhdA0KPiBkZXYtdXRpbC9wa2djaGVjayBhbmQgcGtnY29tbWl0IChm cm9tIGFwcC1wb3J0YWdlL21nb3JueS1kZXYtc2NyaXB0cykNCj4gYXJlIGZhciBzdXBlcmlv ciByZXBsYWNlbWVudHMsIGFuZCBpdCBtYWtlcyBzZW5zZSB0byBoYXZlIHBlb3BsZSB1c2lu Zw0KPiB0aGUgc2FtZSB0b29sIGFuZCBzZWVpbmcgdGhlIHNhbWUgd2FybmluZ3MgYXMgaW4g dGhlIENJLg0KPiANCj4gQXJlIHRoZXJlIGFueSB1c2VmdWwgY2hlY2tzIG9yIGJlaGF2aW9y cyBvZiByZXBvbWFuIHRoYXQgYXJlIG1pc3NpbmcNCj4gZnJvbSBwa2djaGVjayBhbmQgcGtn Y29tbWl0Pw0KPiANCj4gVGhhbmtzLA0KPiBNYXR0DQo+IA0KDQotLSANCkhhdmUgYSBncmVh dCBkYXkhDQoNCn4gTWFjaWVqIFhHUVQgQmFyxIcNCg== --------------HwBkR3Mvn0ft9lf0RVS8Ekzn
    Content-Type: application/pgp-keys; name="OpenPGP_0x14D74A1F43A6AC3C.asc" Content-Disposition: attachment; filename="OpenPGP_0x14D74A1F43A6AC3C.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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
    Kamikkyy
    =QepM
    -----END PGP PUBLIC KEY BLOCK-----

    --------------HwBkR3Mvn0ft9lf0RVS8Ekzn--

    --------------bbDJccl5UtfNKKta1VOnpWhq--

    -----BEGIN PGP SIGNATURE-----

    wsB5BAABCAAjFiEE4PFI8SeUY7+5RtMeAxyf5lvtcUoFAmIpG8cFAwAAAAAACgkQAxyf5lvtcUow Hwf/cJ2yXLeeQI50cRbwEAPwbxkyF670yP76h8xSRWrwpeHAuSZ0V1N9lEo5rLCz/ri0uYr4PcRb dqrxRLxy4MjjRMBpdnyA4j7hp6cubPu4eIpNBSC/31vLU1UkW3qnrfDRl82MPRQSLWliyayVLM23 O8ft+E/59VJcKk0Ww/fhua9bE0pCOq/+kCB3t0cV/OgSx50eJ/wTS7RWZQUJBPFVrvIosmpKM+04 KhwpVAMXKFglFh6wxc2YzQ005wco5Li7ZyCEkn2KakbDu46mROIXI6SiGdmL3inlt7o4q3OtWVS9 sTEgTmmRYmVV4ywPgZ1ZsWwdQHPnR9GZzGnUEglSiQ==
    =kA1u
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthias Maier@21:1/5 to All on Wed Mar 9 22:40:01 2022
    Just a quick though:

    Looking at the man page of repoman it doesn't look to difficult to
    replicate the behavior with pkgcheck. Meaning, we could think of
    creating a drop-in replacement for "repoman [full]" (which would just
    call pkgcheck) and "repoman commit" which actually does much more than
    just prepending the git commit summary line: repoman commit does

    - update the manifest
    - bail out if files are not correctly "git add"ed
    - add the output of [pkgcheck] as a comment to the git commit
    description

    Best,
    Matthias

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Evans@21:1/5 to All on Wed Mar 9 22:40:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------M2ybAPO70YjWLgBGLoi5QhHR
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMy85LzIwMjIgNDoyOCBQTSwgTWF0dCBUdXJuZXIgd3JvdGU6DQo+IE9uIFdlZCwgTWFy IDksIDIwMjIgYXQgMToyNyBQTSBNYWNpZWogQmFyxIcgPHhncXRAZ2VudG9vLm9yZz4gd3Jv dGU6DQo+Pg0KPj4+IEFyZSB0aGVyZSBhbnkgdXNlZnVsIGNoZWNrcyBvciBiZWhhdmlvcnMg b2YgcmVwb21hbiB0aGF0IGFyZSBtaXNzaW5nDQo+Pj4gZnJvbSBwa2djaGVjayBhbmQgcGtn Y29tbWl0Pw0KPj4NCj4+IEZpeGluZyBlYnVpbGQgY29weXJpZ2h0IGRhdGUgaXMgdGhlIGZp cnN0IG9uZSB0aGF0IGNvbWVzIHRvIG1pbmQuDQo+IA0KPiBwa2djb21taXQgZG9lcyB0aGlz Lg0KPiANCkkgaGlnaGx5IGRvdWJ0IGl0IGFzIGl0IHNpdHMgaW4gdGhlIGdpdGh1YiByZXBv DQpodHRwczovL2dpdGh1Yi5jb20vbWdvcm55L21nb3JueS1kZXYtc2NyaXB0cy9ibG9iL21h c3Rlci9wa2djb21taXQgDQpiYXNpY2FsbHkgc2V0cyB1cCAkRURJVE9SIHdpdGggImNhdC9w a2c6IiB3aXRoIGFuIG9wdGlvbmFsIG1lc3NhZ2UgaW4gDQpmcm9udCB0aGVuIHBhc3NlcyB0 byAnZ2l0IGNvbW1pdCcNCg==

    --------------M2ybAPO70YjWLgBGLoi5QhHR--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEZsLkTtkOMnWOfVXA0feB7/n0o7YFAmIpHOkFAwAAAAAACgkQ0feB7/n0o7bO EQ//TbHCEWsSPmq3cqZTlowlG1dAO9sHUOnWOsnmJMOQZM1xEvquLmdHjep4j5SoPvpmOMD3gNy6 +6cCMJgcGDTZ9a6ZelSkQXsDbrQSYydc6UcUOpNJDaEXSiXllK2kgx48hXfUNH8HFLlPrpFAmVMa ve8zi1IuFa05aRm630l6Bm/uEwgfrWDB/V8uHbJ4k12549FZ9iq4DSDdBiX5TX02Fhlu+UGIhc+Z Qke6jjScWgiJjjrAb/44vvBPCRQlwzygIdJLIhKopjRRzRRlpr1RsNFBYP4LIg3PJ++WhPZplkn9 WKBFv0ZXysXYLJewOVMY9rxGmApCfwidVmpg5Zxwws08MeDE0eSBgtUD8BMCPidhBTrY5R1tf00i hTGL1FRPtxI8xF/b0qecoFrKatHI25p10l25oEpiJMkbVxJqIQsLbMeWxVA+lelg10yePhbCv0Q+ /98tierIJPEvqt/kFJco7Xvkt2OdcwAurCIyC7ar6iDjwORHlA/56fYyD2nYVlpqVckb/axd5+oa 1lQuw5gFftHS657Jo+ms4f2+LpMCnqWRtSPmz7iMyaspKXrJ8Jz/2dTQS/IDSoPtKnBdii9+rCzB C6pAHVlGf+47xyU581lBVA8wjtZ7lcLsSu081lekxjqW46lgMsWeGDL5yOTRRVm/7d/ivNfBDIBR 5bs=
    =SFW/
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to grknight@gentoo.org on Wed Mar 9 22:50:01 2022
    On Wed, Mar 9, 2022 at 1:32 PM Brian Evans <grknight@gentoo.org> wrote:

    On 3/9/2022 4:28 PM, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 1:27 PM Maciej Barć <xgqt@gentoo.org> wrote:

    Are there any useful checks or behaviors of repoman that are missing
    from pkgcheck and pkgcommit?

    Fixing ebuild copyright date is the first one that comes to mind.

    pkgcommit does this.

    I highly doubt it as it sits in the github repo https://github.com/mgorny/mgorny-dev-scripts/blob/master/pkgcommit
    basically sets up $EDITOR with "cat/pkg:" with an optional message in
    front then passes to 'git commit'

    Ah, sorry. copybump (called by pkgbump) is actually what updates the copyright:

    https://github.com/mgorny/mgorny-dev-scripts/blob/master/copybump

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to tamiko@gentoo.org on Wed Mar 9 22:50:01 2022
    On Wed, Mar 9, 2022 at 1:37 PM Matthias Maier <tamiko@gentoo.org> wrote:


    Just a quick though:

    Looking at the man page of repoman it doesn't look to difficult to
    replicate the behavior with pkgcheck. Meaning, we could think of
    creating a drop-in replacement for "repoman [full]" (which would just
    call pkgcheck) and "repoman commit" which actually does much more than
    just prepending the git commit summary line: repoman commit does

    - update the manifest
    - bail out if files are not correctly "git add"ed
    - add the output of [pkgcheck] as a comment to the git commit
    description

    I wouldn't block anyone from doing this, but it's not something I'm
    personally interested in pursuing. I see very little value here.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anna Vyalkova@21:1/5 to Matt Turner on Wed Mar 9 22:30:01 2022
    On 2022-03-09 13: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.

    "pkgdev commit" (from dev-util/pkgdev) is another great replacement for "repoman commit".

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthias Maier@21:1/5 to Matt Turner on Wed Mar 9 23:40:01 2022
    On Wed, Mar 9, 2022, at 15:47 CST, Matt Turner <mattst88@gentoo.org> wrote:

    [...]

    I wouldn't block anyone from doing this, but it's not something I'm personally interested in pursuing. I see very little value here.

    I did not intend to imply that you should do anything.

    I just want to point out that we had been educating developers for using "repoman" to commit for a long time and looking at the "git log" history
    shows that repoman is still used by a sizable number of developers
    (around 50%-ish).

    So, it would be very nice to have a somewhat official "blessed"
    alternative in place.


    For example, dev-util/pkgdev was suggested as an alternative, but I
    cannot assess whether this is indeed a viable alternative.


    Best,
    Matthias

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to tamiko@gentoo.org on Thu Mar 10 00:40:01 2022
    On Wed, Mar 9, 2022 at 2:34 PM Matthias Maier <tamiko@gentoo.org> wrote:

    On Wed, Mar 9, 2022, at 15:47 CST, Matt Turner <mattst88@gentoo.org> wrote:

    [...]

    I wouldn't block anyone from doing this, but it's not something I'm personally interested in pursuing. I see very little value here.

    I did not intend to imply that you should do anything.

    I just want to point out that we had been educating developers for using "repoman" to commit for a long time and looking at the "git log" history shows that repoman is still used by a sizable number of developers
    (around 50%-ish).

    I think you just made that number up :)

    So, it would be very nice to have a somewhat official "blessed"
    alternative in place.


    For example, dev-util/pkgdev was suggested as an alternative, but I
    cannot assess whether this is indeed a viable alternative.

    Why not? Give it a try.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matthias Maier@21:1/5 to Matt Turner on Thu Mar 10 01:20:01 2022
    On Wed, Mar 9, 2022, at 17:32 CST, Matt Turner <mattst88@gentoo.org> wrote:

    I think you just made that number up :)

    Nah. My sample was just bad (ago just made a sizable number of commits.

    I would estimate the current usage of repoman to be about 20-25%, down
    from well over 80-90% back when we just switched to git:

    https://tamiko.43-1.org/temp/repoman-usage.pdf

    For example, dev-util/pkgdev was suggested as an alternative, but I
    cannot assess whether this is indeed a viable alternative.

    Why not?

    Because I haven't used it so far.

    Give it a try.

    Absolutely, the faster I can ditch repoman, the better.

    Best,
    Matthias

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to tamiko@gentoo.org on Thu Mar 10 02:00:01 2022
    On Wed, Mar 9, 2022 at 4:18 PM Matthias Maier <tamiko@gentoo.org> wrote:


    On Wed, Mar 9, 2022, at 17:32 CST, Matt Turner <mattst88@gentoo.org> wrote:

    I think you just made that number up :)

    Nah. My sample was just bad (ago just made a sizable number of commits.

    I would estimate the current usage of repoman to be about 20-25%, down
    from well over 80-90% back when we just switched to git:

    https://tamiko.43-1.org/temp/repoman-usage.pdf

    Very interesting. Thanks!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joonas Niilola@21:1/5 to Matt Turner on Thu Mar 10 08:10:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------eyRNRx4N2JHff6VD3asS0azM
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 9.3.2022 23.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


    I still fail to see the "why" in here. Repoman is better than pure 'git
    commit' that I know some people still like to use, and as long as it's
    kept maintained.
    We should be teaching people about the alternatives, and let them choose whatever they like more. https://wiki.gentoo.org/wiki/Package_maintainer%27s_responsibilities#Ebuilds_and_git_workflow

    Repoman is a very lightweight tool. All that being said, I can't think
    of a single feature that pkgdev+pkgcheck don't cover when switching from repoman.

    The quick global CI checks after each commit saves us from a lot of
    trouble. If you do bad commits, you get immediately noticed about it and
    you can fix it rather quickly usually. When you "get hit", you also
    learn about pkgcheck and we've seen that this is the point when people
    usually integrate it to their workflows. I'd also like to point out
    whenever doing more complicated pushs, one can trigger the automatic CI
    check in our Github mirror via a pull request before pushing.

    My only worry is: are pkgcheck and pkgdev _really_ maintained anymore?
    More than repoman is?

    -- juippis

    --------------eyRNRx4N2JHff6VD3asS0azM--

    -----BEGIN PGP SIGNATURE-----

    iQGTBAEBCgB9FiEEltRJ9L6XRmDQCngHc4OUK43AaWIFAmIppClfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk2 RDQ0OUY0QkU5NzQ2NjBEMDBBNzgwNzczODM5NDJCOERDMDY5NjIACgkQc4OUK43A aWJaMwf8CXt35zwIPEIAzUnWOPs45nRW1wzNfIJ52EC5TkekD7iNlyh4eZRc90i4 v5/bbVpgRoopMtY68/D5ihMybQ9Rf2Y4LN0okNsLRuqlXM+RwcJ4Q7VzwmnB2xDz t3WT3KPyk0ceqYbNEd5b/Cbcp+4NLVGjQZQuJyspzZ/X5aDEp66LFJ/OyBuQ2EMd C36IMyTGzic/vm774W6101mk3+1o7MwC9kaGbd2MDK7BUk1B7yUHS3tyDni8PPMq wrDlgLPFL1i8nigz89brV2ucAPs8IRXTAGWJzR+0La11RKE3DtwR9Aah5LuDDYW6 PE754zBQOopifS+gaALPArNqwJmmCw==
    =pTCu
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From William Hubbs@21:1/5 to Matt Turner on Thu Mar 10 19:10:01 2022
    On Thu, Mar 10, 2022 at 09:29:59AM -0800, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 11:09 PM Joonas Niilola <juippis@gentoo.org> wrote:

    On 9.3.2022 23.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


    I still fail to see the "why" in here. Repoman is better than pure 'git commit' that I know some people still like to use, and as long as it's
    kept maintained.

    repoman is inferior to other tooling mentioned. The other tooling is
    actually run in CI. Developers should get the same warnings locally as
    in CI. Restated another way: I'm tired of telling people to stop using repoman or "pkgcheck would have caught that".

    I am going to nit-pick here, but pkgcheck pulls in pkgcore still. As far
    asI know, pkgcore was meant to be a portage-like package manager, but it
    isn't maintained. So, can we break that dependency before we make
    pkgcheck the official tool for qa checks? I would rather not have
    pkgcore landing on everyone's systems unless it is usable. If I am wrong
    about pkgcore, please correct me and I'll be quiet, but if not let's
    make pkgcheck independent from it before we deprecate repoman.

    Thanks,

    William

    -----BEGIN PGP SIGNATURE-----

    iF0EABECAB0WIQTVeuxEZo4uUHOkQAluVBb0MMRlOAUCYio+ZgAKCRBuVBb0MMRl OE6BAKCr9cqVLO1vdVWPL4rj9NTJI7dg/gCgj8Ge/2BmzffcErIqFHVaPF4s914=
    =noMS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to juippis@gentoo.org on Thu Mar 10 18:40:02 2022
    On Wed, Mar 9, 2022 at 11:09 PM Joonas Niilola <juippis@gentoo.org> wrote:

    On 9.3.2022 23.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


    I still fail to see the "why" in here. Repoman is better than pure 'git commit' that I know some people still like to use, and as long as it's
    kept maintained.

    repoman is inferior to other tooling mentioned. The other tooling is
    actually run in CI. Developers should get the same warnings locally as
    in CI. Restated another way: I'm tired of telling people to stop using
    repoman or "pkgcheck would have caught that".

    My only worry is: are pkgcheck and pkgdev _really_ maintained anymore?
    More than repoman is?

    More than repoman is, definitely.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Matt Turner on Thu Mar 10 19:30:02 2022
    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.

    I'm not opposed to making our tools better, but I think before anything can replace the RepoMan, several more boxes need to be ticked:

    - functionality from multiple tools should be packaged into a single tool.
    * caveat: at least provide a wrapper that, using args, can invoke the
    individual tools if needed.

    - app-portage/mgorny-dev-scripts needs a new name. It's fine if it's
    intended to only be a collection of useful scripts for individual developers
    on an as-needed basis, but if it's to be the Official Tool(TM), then it
    needs to have a proper name. If not all of the scripts contained within it
    are applicable to the sole function of checking a change into the tree, then only the scripts that deal with change validation and committing should be broken out into a separate package, and ostensibly combined with any other tools/scripts into a single package, and preferably a single tool, to get
    the job done.

    - all of our developer documentation needs to be updated to reference the
    new tool and the new way of doing things, as well as a warning not to use repoman any further after a set date. Additionally, a news item is probably advisable so that developers and proxy maintainers alike can get the message.

    - we need the snark. Gentoo is all about personality, and RepoMan has been scouring our neighborhoods for two decades and change, and while some may
    think this is utterly frivolous, I will actually miss seeing those messages
    on the console every time I commit a change. They give the RepoMan
    personality and a soul, and thus, contribute to the uniqueness that is Gentoo.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to William Hubbs on Thu Mar 10 19:30:02 2022
    On Thu, Mar 10, 2022 at 12:07:40PM -0600, William Hubbs wrote:
    On Thu, Mar 10, 2022 at 09:29:59AM -0800, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 11:09 PM Joonas Niilola <juippis@gentoo.org> wrote:

    On 9.3.2022 23.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


    I still fail to see the "why" in here. Repoman is better than pure 'git commit' that I know some people still like to use, and as long as it's kept maintained.

    repoman is inferior to other tooling mentioned. The other tooling is actually run in CI. Developers should get the same warnings locally as
    in CI. Restated another way: I'm tired of telling people to stop using repoman or "pkgcheck would have caught that".

    I am going to nit-pick here, but pkgcheck pulls in pkgcore still. As far
    asI know, pkgcore was meant to be a portage-like package manager, but it isn't maintained. So, can we break that dependency before we make
    pkgcheck the official tool for qa checks? I would rather not have
    pkgcore landing on everyone's systems unless it is usable. If I am wrong about pkgcore, please correct me and I'll be quiet, but if not let's
    make pkgcheck independent from it before we deprecate repoman.

    Yes, pkgcheck pulls in pkgcore, and yes, pkgcore wants to function as
    a package manager, but it doesn't conflict with Portage, so there's no
    concern in pulling it in. As long as you don't call the executables it
    installs (notably pmerge, maybe others), it won't cause any
    problems. pkgcheck can also already be considered our official CI
    tool, since it's what does our CI.
    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEElFuPenBj6NvNLoABXP0dAeB+IzgFAmIqQdUACgkQXP0dAeB+ Izj81w/+IKEFjGZbRmd2ZGPRyEV5K4IY94DnMKrDueQ2034T2PmHF83cQqvK+EhF uqPNZIxQXAbijYWKtv8tqwDJP3+ZOckaFUWJw2b4wAl6ltyE2JTEjcbJxS1ROyLy y9RR6TphDwV0rnDLdc/VOPqSPVFyau65LR+9dhUCbLQH9jE/43o3ijR5Qb6lSzY1 f9n7RKEo42Q9Pqj+uGU9AH/Jy+11/izma/g40DyXqGDV2ceBgfhkfUIqmxbN6fXP N00TstLQBgKSeKwUMjM7RQ6f+W3fsE9GDCIgKHgXZzRRZiIDsIOB3NEYcsth2YB/ +KIye4LCUTvFvY39rxHX8izatmGoqU9mAiXsvSTpvExRoUJMAM4ZiGbQnSptl0rx bZuWQCaSfP0ULmPXYistE+KJ1TkIYrcuHxN3IXgOTuI7hKB5zypE/XdQcAE5KBj1 0+rvpL4VeMAtkYVGTiXU+/lV2WzJDwJaaKVdj1fLi9RRnr1Vs6PP1rAntqEZ5bA4 vHvSJzwIg7CQPT0UW4HGelO3Ah/cH96qoMpZ67jodb2wxLFi1tji98+Mhb45iTjK qD2Kurx0729qF69d4VnNfKx7/NLI59+octlql9/0hSxtB8MOoQIBZuA+yll/Cb5C +9r8gIyHgLgcROjxuA2rYBVXw5yosN5w3S319o2z86e3mQ6fUjc=
    =5PyE
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alec Warner@21:1/5 to kumba@gentoo.org on Thu Mar 10 21:00:02 2022
    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.

    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.*

    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.

    So the generic argument above, we now get into the specifics.


    I'm not opposed to making our tools better, but I think before anything can replace the RepoMan, several more boxes need to be ticked:

    - functionality from multiple tools should be packaged into a single tool.
    * caveat: at least provide a wrapper that, using args, can invoke the
    individual tools if needed.

    I do not believe it's reasonable to provide a 'drop-in' backwards
    compatibility tool guarantee.
    I believe we should provide a table of common repoman actions, with a
    mapping to their replacements; so that users can understand how to do
    similar actions.


    - app-portage/mgorny-dev-scripts needs a new name. It's fine if it's intended to only be a collection of useful scripts for individual developers on an as-needed basis, but if it's to be the Official Tool(TM), then it
    needs to have a proper name. If not all of the scripts contained within it are applicable to the sole function of checking a change into the tree, then only the scripts that deal with change validation and committing should be broken out into a separate package, and ostensibly combined with any other tools/scripts into a single package, and preferably a single tool, to get
    the job done.

    I don't consider this a blocker, but I think it's mostly a discussion
    between mattst88 and mgorny.


    - all of our developer documentation needs to be updated to reference the
    new tool and the new way of doing things, as well as a warning not to use repoman any further after a set date. Additionally, a news item is probably advisable so that developers and proxy maintainers alike can get the message.

    We should hold Matt accountable for updating any relevant development documentation, including the table I mentioned above.
    I'm not sure a news item is strictly necessary, we might just p.mask
    repoman with a link to the guide that Matt will need to write about
    how repoman is being replaced.


    - we need the snark. Gentoo is all about personality, and RepoMan has been scouring our neighborhoods for two decades and change, and while some may think this is utterly frivolous, I will actually miss seeing those messages on the console every time I commit a change. They give the RepoMan personality and a soul, and thus, contribute to the uniqueness that is Gentoo.

    Cool.


    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alec Warner@21:1/5 to kumba@gentoo.org on Thu Mar 10 21:10:01 2022
    On Thu, Mar 10, 2022 at 10:28 AM Joshua Kinard <kumba@gentoo.org> wrote:

    On 3/9/2022 16:47, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 1:37 PM Matthias Maier <tamiko@gentoo.org> wrote:


    Just a quick though:

    Looking at the man page of repoman it doesn't look to difficult to
    replicate the behavior with pkgcheck. Meaning, we could think of
    creating a drop-in replacement for "repoman [full]" (which would just
    call pkgcheck) and "repoman commit" which actually does much more than
    just prepending the git commit summary line: repoman commit does

    - update the manifest
    - bail out if files are not correctly "git add"ed
    - add the output of [pkgcheck] as a comment to the git commit
    description

    I wouldn't block anyone from doing this, but it's not something I'm personally interested in pursuing. I see very little value here.

    First, you're trying to justify replacing repoman on an entirely subjective opinion of "I think <foo> is superior", then when you get feedback on the idea, you dismiss that feedback with more opinion.

    Why do you not see value here? The actions described are actually quite a few useful steps in the process of checking a change into the tree. If you expect developers to do those steps on their own, that increases, not decreases, the chances of making a mistake. Or are these steps already handled by one of the other scripts in the replacement packages you propose?
    If so, please say so and identify which one(s).

    My opinion is that any tool that replaces repoman should, at a minimum, replace like functionality with like functionality, plus benefits or enhancements. This looks more like a step backwards, not a step forwards.

    I'd be interested in hearing your workflow, so we can capture it in
    the table (mentioned earlier) so its clear how your existing workflow
    will work with the new tools (or perhaps there is a gap, or we need to
    craft / add additional tools?) I agree on the face it may not be
    obvious what workflows look like.

    -A


    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas K. Huettel@21:1/5 to All on Thu Mar 10 20:44:05 2022
    Copy: kumba@gentoo.org (Joshua Kinard)


    I wouldn't block anyone from doing this, but it's not something I'm personally interested in pursuing. I see very little value here.

    First, you're trying to justify replacing repoman on an entirely subjective opinion of "I think <foo> is superior" ...

    Well, if you've ever tried it you'll notice that <foo> for <foo> != repoman actually finishes the checks within a finite amount of time. Kind of, the
    most blatant argument for ditching repoman, actually.


    --
    Andreas K. Hüttel
    dilfridge@gentoo.org
    Gentoo Linux developer
    (council, toolchain, base-system, perl, libreoffice)
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2

    iQKTBAABCgB9FiEE6W4INB9YeKX6Qpi1TEn3nlTQogYFAmIqVQVfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU5 NkUwODM0MUY1ODc4QTVGQTQyOThCNTRDNDlGNzlFNTREMEEyMDYACgkQTEn3nlTQ ogbfUQ//aBzNw44rTBZQ8SfTBRDcO14cF6B9xsPcvBfDqqJQGyx7u0j507mLuaSI KFtk+8OscIdYyw40tfYpIxN4bOo+8LrPDbENL2zM658bnq4oWNVhNuzJp3piIVIu +vtAbhFQPzCcGxj/al8+QFK6ilYWjXudp4FfJG+Wp6x+vXUWdBcEZ9rZs/XM1Ea4 9ZX6TIYpHe4SWyF7PYGq4WIXAmAO3+mV4F1hGBYmmsiu9KKC6YchHlZWEcNvauXh vImQDG6q48yDVf4BH/yyNMsyqdJhrBPPFK6+yRqWRcG7tRLvSowPGmyyNNenocNb sbPj5oHgJqboKZfBvTe5dzaQ+RASX5ECgViOUMKV0LCn0QscBS2Z//aeln+2vdK2 Bqd0gp58d9ka5O2TwmKlqXRwL6w8J0VwfIDi6jGBEDTjjxnnxt5oURfZpGffUmVJ GC5/8+FTDuK1k1U8rUfunitDwqbE0V12ZCEXFqBDWQQUGPtzWJZkecwd0uuRFTX7 i1t05CJhv4ELAWjgjySHnKc8gAVNj2jKe98pFqlPkJ+oYCR0RMJBSTc/YF1zgHkj 05CBkC6NOvHT+H00PR72um0u07gAlysmUjlBpyrX0s/5HeFOWg8znT45
  • From Joshua Kinard@21:1/5 to Andreas K. Huettel on Thu Mar 10 23:00:01 2022
    On 3/10/2022 14:44, Andreas K. Huettel wrote:

    I wouldn't block anyone from doing this, but it's not something I'm
    personally interested in pursuing. I see very little value here.

    First, you're trying to justify replacing repoman on an entirely subjective >> opinion of "I think <foo> is superior" ...

    Well, if you've ever tried it you'll notice that <foo> for <foo> != repoman actually finishes the checks within a finite amount of time. Kind of, the most blatant argument for ditching repoman, actually.

    If this is a concern for some, has anyone looked into whether repoman can be fixed to be more efficient? If so, how was the determination made that it cannot be fixed and instead, needs to be replaced? It's been around for 20+ years. Surely someone has gotten annoyed enough to look at any issues it
    has and attempt to fix them?

    That said, I'm not terribly bothered by it. It is slow, don't get me wrong, but it's not slow enough that my workflow is significantly impacted. It catches most of the mistakes I've ever made before I make them so that I can fix them. For me, that's job well done.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Alec Warner on Thu Mar 10 23:00:01 2022
    On 3/10/2022 14:59, Alec Warner wrote:
    On Thu, Mar 10, 2022 at 10:28 AM Joshua Kinard <kumba@gentoo.org> wrote:

    On 3/9/2022 16:47, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 1:37 PM Matthias Maier <tamiko@gentoo.org> wrote: >>>>

    Just a quick though:

    Looking at the man page of repoman it doesn't look to difficult to
    replicate the behavior with pkgcheck. Meaning, we could think of
    creating a drop-in replacement for "repoman [full]" (which would just
    call pkgcheck) and "repoman commit" which actually does much more than >>>> just prepending the git commit summary line: repoman commit does

    - update the manifest
    - bail out if files are not correctly "git add"ed
    - add the output of [pkgcheck] as a comment to the git commit
    description

    I wouldn't block anyone from doing this, but it's not something I'm
    personally interested in pursuing. I see very little value here.

    First, you're trying to justify replacing repoman on an entirely subjective >> opinion of "I think <foo> is superior", then when you get feedback on the
    idea, you dismiss that feedback with more opinion.

    Why do you not see value here? The actions described are actually quite a >> few useful steps in the process of checking a change into the tree. If you >> expect developers to do those steps on their own, that increases, not
    decreases, the chances of making a mistake. Or are these steps already
    handled by one of the other scripts in the replacement packages you propose? >> If so, please say so and identify which one(s).

    My opinion is that any tool that replaces repoman should, at a minimum,
    replace like functionality with like functionality, plus benefits or
    enhancements. This looks more like a step backwards, not a step forwards.

    I'd be interested in hearing your workflow, so we can capture it in
    the table (mentioned earlier) so its clear how your existing workflow
    will work with the new tools (or perhaps there is a gap, or we need to
    craft / add additional tools?) I agree on the face it may not be
    obvious what workflows look like.

    My workflow is really rather standard when working in the tree itself. I
    work one package directory at a time, apply changes that I've tested outside
    of the tree in my local repo, eyeball everything a second time to make sure
    I didn't miss something, regenerate the manifest, git add, run 'repoman full
    -d -x', fix any issues it finds (if any) and manifest/git add again, then 'repoman commit' and supply a commit message with sign-off. Lather, rinse, repeat for other packages.

    This is more or less how the dev manual and git for developers guide says we should be doing it. Since git is atomic, limit commits to one package at a time, then, when ready, push the changes in a single batch after rebasing
    (to pickup other dev's changes).

    If I'm doing something wrong, yell at me in e-mail, open a bug, or call me
    out on the mailing list and serve me some crow pie. That's how I learn not
    to repeat it. So far, though, this process has worked well for me for a
    very long time and I've only had to make minor adjustments at key points,
    like switching from CVS to git.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Thu Mar 10 23:10:01 2022
    On 10 Mar 2022, at 21:57, Joshua Kinard <kumba@gentoo.org> wrote:

    I'd be interested in hearing your workflow, so we can capture it in
    the table (mentioned earlier) so its clear how your existing workflow
    will work with the new tools (or perhaps there is a gap, or we need to
    craft / add additional tools?) I agree on the face it may not be
    obvious what workflows look like.

    My workflow is really rather standard when working in the tree itself. I work one package directory at a time, apply changes that I've tested outside of the tree in my local repo, eyeball everything a second time to make sure
    I didn't miss something, regenerate the manifest, git add, run 'repoman full -d -x', fix any issues it finds (if any) and manifest/git add again, then 'repoman commit' and supply a commit message with sign-off. Lather, rinse, repeat for other packages.


    Having the same checks applied as in CI (which affects whether changes
    are deployed to users too) is important. pkgcheck has more checks than repoman.

    -----BEGIN PGP SIGNATURE-----

    iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmIqddZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDtldAgAuB2RX0dcWmqzaxDsk4MiWhRbcChmT3fguLTyT3NQ5bPLl47faMgY/bSN +RQCmhzRk6zJWgTSczn1EhjRAMsJv8fXTT+fwWw27e2908EqctW6/gO+2w08a6uz rIggY0l5RcHSoywA7DLeF2WG620UDY5PKTXr5x8nw7HQLNizOsoAF4pswuQh2B7A dEjx1lJ//+TbwUz5v0Zsh/201+6dWyVlj1aGqL1rmbBLuZgkJYTZr4gEy+DD8CvI bPcVwFv3eooewP16ILSobTaWHlce4HwoXtooouZ8BG7TJQwITBl+25bsHO2C/b4T JzFUMuk0uI3KIg3BE48LakNNIyUfpA==
    =Hsuk
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Helmert III@21:1/5 to Joshua Kinard on Thu Mar 10 23:10:01 2022
    On Thu, Mar 10, 2022 at 04:53:10PM -0500, Joshua Kinard wrote:
    On 3/10/2022 14:44, Andreas K. Huettel wrote:

    I wouldn't block anyone from doing this, but it's not something I'm
    personally interested in pursuing. I see very little value here.

    First, you're trying to justify replacing repoman on an entirely subjective
    opinion of "I think <foo> is superior" ...

    Well, if you've ever tried it you'll notice that <foo> for <foo> != repoman actually finishes the checks within a finite amount of time. Kind of, the most blatant argument for ditching repoman, actually.

    If this is a concern for some, has anyone looked into whether repoman can be fixed to be more efficient? If so, how was the determination made that it cannot be fixed and instead, needs to be replaced? It's been around for 20+ years. Surely someone has gotten annoyed enough to look at any issues it
    has and attempt to fix them?

    It's slow enough that Gentoo CI [1] uses pkgcheck to be remotely
    useful.

    [1] https://qa-reports.gentoo.org/output/gentoo-ci/output.html

    That said, I'm not terribly bothered by it. It is slow, don't get me wrong, but it's not slow enough that my workflow is significantly impacted. It catches most of the mistakes I've ever made before I make them so that I can fix them. For me, that's job well done.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEElFuPenBj6NvNLoABXP0dAeB+IzgFAmIqdPIACgkQXP0dAeB+ Izh3Og//RkdQevjnZckfqSiS1V1+RZtyIOgLLAXZrb4AIZ95sHSTEbaEXPW82fdX 1prNIYHA19f7U47JG83TxbUkXguyKO0d7y6hIuMHSV3eBLL2TMnfYVuc/tbPtIpl pUH4gVg/JO9Tf8Prz2/sxELJ+5WfoBnoaFHyc5sy7j/KlSwddIurcYfENoHmEt7/ A/t/UuQRD2MDUH1I5TDDmY3Uq/3J/TTAYmhKuoZ58pJXSJFhBOAaoOyoLKvenD52 iL6mdKXEMf3i/RqI0hO5d3LwL+XTeat4JtSC1ArPB9X3Kh54Rhn9i8q0u3iYW5gS ujgmt40MJ6f5oUJvSj6LLWqs+EFWezhP2YpZjKIyiuf3PEOb9iXcyNnzD81vDXFn DnrkHXrRlGJEKoZzK21JJnO3YKUn4ECtPVxQn64baNru1ONiTsfv6ivgnGdHTIlW tmiaOMFeLFwKnUepqFKcb6GiwZgVpULXoJmTQGV53O89PjhBULhdy8oMmAQgyE5O 9x11QKf/gzXmj4m9zEix9EH8vzuAjy0v6ilVJAEHteL9olCVSgM6BNhl+BeILOcJ oJMi/1SWuJndTslwex0ZsXj/54dsleX4CTUAPpeuJkJRwMqgpBhlLOEe6a8rGnsi 7BGqbK+aIxdQWCAyc/8/0PegLGudqM+mO5I3ae5ycIEk9lOm0CY=
    =Mgv8
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Alec Warner on Fri Mar 11 00:20:01 2022
    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.

    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.


    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.

    From that, one should not be faulted for assuming that repoman is the more important tool, if not preferred tool, with pkgdev coming in second place. pkgcheck comes across as entirely optional and even seems equivalent to 'repoman full', and how would one know that pkgcommit even exists?

    Not all of us devs are involved in the automated CI stuff that goes on
    behind the scenes. Matt and Michał are, so they know how bad it can be and the likely countless hours spent fixing things or yelling at others when
    these mistakes are made. But if this isn't documented somewhere, how are
    those of us not involved in the CI-side able to keep up? When I am in doubt over something, I go to the documentation to address things. Right now,
    that documentation is going to more or less tell me to stick with repoman.

    That all said, most of my checks are done pre-commit, not pre-push. It's annoying trying to unwind a commit with a mistake in git, so I aim to not
    have any in the commit itself. By the time I get to the push stage,
    everything MUST be perfect before I hit 'git push'. Cause once something is public, there's no going back. In a handful of cases, I've gone as far as nuking my local copy of the tree, re-cloning it, and re-doing everything
    again just to fix a mistake that I should have caught pre-commit.


    So the generic argument above, we now get into the specifics.


    I'm not opposed to making our tools better, but I think before anything can >> replace the RepoMan, several more boxes need to be ticked:

    - functionality from multiple tools should be packaged into a single tool. >> * caveat: at least provide a wrapper that, using args, can invoke the
    individual tools if needed.

    I do not believe it's reasonable to provide a 'drop-in' backwards compatibility tool guarantee.
    I believe we should provide a table of common repoman actions, with a
    mapping to their replacements; so that users can understand how to do
    similar actions.

    Not opposed to this. It's a reasonable alternative to crafting a wrapper script or kludging in deprecated argument parsing to achieve likely limited backwards compatibility.


    - app-portage/mgorny-dev-scripts needs a new name. It's fine if it's
    intended to only be a collection of useful scripts for individual developers >> on an as-needed basis, but if it's to be the Official Tool(TM), then it
    needs to have a proper name. If not all of the scripts contained within it >> are applicable to the sole function of checking a change into the tree, then >> only the scripts that deal with change validation and committing should be >> broken out into a separate package, and ostensibly combined with any other >> tools/scripts into a single package, and preferably a single tool, to get
    the job done.

    I don't consider this a blocker, but I think it's mostly a discussion
    between mattst88 and mgorny.

    My fault that I should have stated that I don't think it should block, but I
    do think this it looks....hacky? I mean, say a developer from another
    distro gets curious about how Gentoo developers do their magic, and while reading the devmanual, sees that the officially-sanctioned way to do
    something developer-related is to install app-portage/kumbas-super-awesome-devscripts. It looks wildly out of place
    in official documentation. We used to have a package called app-portage/gentoolkit-dev that contained a collection of utilities intended for Gentoo developers. I'd argue that maybe something like that would be a good starting point for a new name.



    - all of our developer documentation needs to be updated to reference the
    new tool and the new way of doing things, as well as a warning not to use
    repoman any further after a set date. Additionally, a news item is probably >> advisable so that developers and proxy maintainers alike can get the message.

    We should hold Matt accountable for updating any relevant development documentation, including the table I mentioned above.
    I'm not sure a news item is strictly necessary, we might just p.mask
    repoman with a link to the guide that Matt will need to write about
    how repoman is being replaced.

    How about making an edit to repoman to have it throw a deprecation warning
    for itself and to install whatever we all agree should replace it?


    - we need the snark. Gentoo is all about personality, and RepoMan has been >> scouring our neighborhoods for two decades and change, and while some may
    think this is utterly frivolous, I will actually miss seeing those messages >> on the console every time I commit a change. They give the RepoMan
    personality and a soul, and thus, contribute to the uniqueness that is Gentoo.

    Cool.

    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.

    That sparc64 machine eventually became my very first dev machine when
    Seemant was looking for someone to help out with the MIPS port. I got a
    laugh when I ran repoman for the first time and it tells me it is stalking
    my neighborhood, looking for issues. The developer tools were just as
    cheeky and playful as the user-facing tools!

    And we're still the only distro with some rad mascots, like Larry the Cow
    and Znurt the alien (at least I think it's an alien -- bottom of the main
    page, right of the Questions/Comments). And whatever the thing at the very bottom-right looking up is.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anna Vyalkova@21:1/5 to William Hubbs on Fri Mar 11 08:40:05 2022
    On 2022-03-10 12:07, William Hubbs wrote:
    I am going to nit-pick here, but pkgcheck pulls in pkgcore still. As far
    asI know, pkgcore was meant to be a portage-like package manager, but it isn't maintained. So, can we break that dependency before we make
    pkgcheck the official tool for qa checks? I would rather not have
    pkgcore landing on everyone's systems unless it is usable. If I am wrong about pkgcore, please correct me and I'll be quiet, but if not let's
    make pkgcheck independent from it before we deprecate repoman.

    Original pkgcore developer stepped down, now it's maintained not as a
    package manager but as a library for pkgcheck.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mart Raudsepp@21:1/5 to All on Fri Mar 11 10:00:01 2022
    Ühel kenal päeval, N, 10.03.2022 kell 18:18, kirjutas Joshua Kinard:
    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.

    From that, one should not be faulted for assuming that repoman is the
    more important tool, if not preferred tool, with pkgdev coming in
    second place.
    pkgcheck comes across as entirely optional and even seems equivalent
    to 'repoman full', and how would one know that pkgcommit even exists?

    I believe the very purpose of this thread is to have a consensus/pre- announcement before actually editing the official documentation as part
    of the process of deprecating repoman.

    That all said, most of my checks are done pre-commit, not pre-push. 
    It's annoying trying to unwind a commit with a mistake in git, so I
    aim to not have any in the commit itself.  By the time I get to the
    push stage, everything MUST be perfect before I hit 'git push'. 
    Cause once something is public, there's no going back.  In a handful
    of cases, I've gone as far as nuking my local copy of the tree, re-
    cloning it, and re-doing everything again just to fix a mistake that
    I should have caught pre-commit.

    git commit --amend, interactive rebase, etc (all before push).
    I suggest to learn them and embrace them. Re-cloning is not fun, just
    for something that a quick interactive rebase or even a git reset --
    hard destructive operation instead of re-clone would solve.

    Also the benefit of using pkgcheck is to actually be able to make the
    same checks that CI would do before you push, so you can amend your
    commits to fix issues before they hit the server and CI and break the
    tree. pkgcheck is so fast that it can do full tree checks in a
    reasonable time (repoman would take days on a radiator mips when you go
    outside single package), and I believe has features to have it check
    all your commits that haven't been pushed yet at once, checking only
    what it can to not be too slow to not use (so you don't need to run the
    check with each commit but for all of them once you commit - and if
    issues, again, git interactive rebase).

    repoman does not catch many many QA issues that pkgcheck (and therefore
    CI) does.

    How about making an edit to repoman to have it throw a deprecation
    warning for itself and to install whatever we all agree should
    replace it?

    I would think that's a natural next step after this thread, and why
    this thread exists.



    Mart

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Dolbec@21:1/5 to William Hubbs on Fri Mar 11 18:00:01 2022
    On Thu, 10 Mar 2022 12:07:40 -0600
    William Hubbs <williamh@gentoo.org> wrote:

    On Thu, Mar 10, 2022 at 09:29:59AM -0800, Matt Turner wrote:
    On Wed, Mar 9, 2022 at 11:09 PM Joonas Niilola <juippis@gentoo.org>
    wrote:

    On 9.3.2022 23.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


    I still fail to see the "why" in here. Repoman is better than
    pure 'git commit' that I know some people still like to use, and
    as long as it's kept maintained.

    repoman is inferior to other tooling mentioned. The other tooling is actually run in CI. Developers should get the same warnings locally
    as in CI. Restated another way: I'm tired of telling people to stop
    using repoman or "pkgcheck would have caught that".

    I am going to nit-pick here, but pkgcheck pulls in pkgcore still. As
    far asI know, pkgcore was meant to be a portage-like package manager,
    but it isn't maintained. So, can we break that dependency before we
    make pkgcheck the official tool for qa checks? I would rather not have pkgcore landing on everyone's systems unless it is usable. If I am
    wrong about pkgcore, please correct me and I'll be quiet, but if not
    let's make pkgcheck independent from it before we deprecate repoman.

    Thanks,

    William

    William. pkgcheck uses pkgcore base code as it's library for accessing
    and evaluating repositories and ebuilds just like repoman uses portage
    api's to do the same. This is why pkgcheck is primarily faster than
    repoman. pkgcore was a re-design from the ground up of how to handle repositories and ebuilds within them, with efficiency and speed in mind.

    Unfortunately, pkgcore never gained enough developer support to to keep
    up with EAPI changes and the miriad of portage options that kept
    expanding. So pkgcore never ended up replacing portage as our main
    package manager. This is one reason why Brian eventually gave up on it
    and subsequently left gentoo.


    While I put a lot of effort into the re-write of repoman so that the
    code is maintainable, more easily extendable. It will never be as fast
    as pkgcheck due to the legacy portage code it is based on.

    Yes, repoman could be updated to do more checks and catch everything
    that pkgcheck does. It can be made to do many of the checks in
    parrallel, but it will never be as efficient as pkgcheck due to the
    underlying portage code it uses. I largely stopped working on
    repoman/gentoo due to the near constant bitching about nearly everything
    I did from another (ahem) gentoo developer which shall remain un-named.


    My only concern about the possible deprecation of repoman, is the fact
    that is is based on the current official and primary package manager
    code used in gentoo. While pkgcheck is not. For that reason,
    changes made to the core code is mostly automatically carried
    over to repoman without need to change repoman as well. Ideally,
    development should be moved to pkgcore and portage be put into
    maintenance mode only. With pkgcore taking over as the primary package
    manager for gentoo. But Zac is just too damn efficient at
    updating/fixing portage bugs! As well as adding features and
    options... (too damn many to remember half of them now)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Stuge@21:1/5 to Matt Turner on Fri Mar 11 18:20:01 2022
    Matt Turner wrote:
    repoman is inferior to other tooling mentioned. The other tooling is
    actually run in CI.

    The problem seems to be that CI is running something other than
    developers run, not the other way around.


    Developers should get the same warnings locally as in CI.

    I agree. And developers and their tools should not have to bend to
    whatever CI does, I think the other way around makes more sense.


    CI doesn't use repoman because of performance issues.

    What if pkgcore evolves to provide a portage-compatible API?

    Then CI could use repoman without performance problems, and
    developers would also enjoy improved performance, without spending
    time on replacing tooling which already works for them.

    Looking into the future then maybe portage could even come to use
    pkgcore for the low-level things that pkgcore does, then even users
    could enjoy improved performance.


    Right?

    //Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Dolbec@21:1/5 to Alec Warner on Fri Mar 11 20:10:02 2022
    On Fri, 11 Mar 2022 10:25:19 -0800
    Alec Warner <antarus@gentoo.org> wrote:

    On Fri, Mar 11, 2022 at 9:14 AM Peter Stuge <peter@stuge.se> wrote:

    Matt Turner wrote:
    repoman is inferior to other tooling mentioned. The other tooling
    is actually run in CI.

    The problem seems to be that CI is running something other than
    developers run, not the other way around.


    Developers should get the same warnings locally as in CI.

    I agree. And developers and their tools should not have to bend to
    whatever CI does, I think the other way around makes more sense.


    CI doesn't use repoman because of performance issues.

    I think the problem is that making committers use the CI tool is
    technically a fairly straightforward change; while everything you
    discuss further in the thread is not; because it implies people will
    work on improving tools that have shown little or no progress on
    improving in the 15 years I've been in Gentoo.


    Somewhat incorrect here. I did the majority of the re-write to make
    the code maintainable, extensible not that long ago. It even has the
    ability to be repository configurable and include the ability for
    custom repository plugin checks to be added and run. The CI system was
    being developed at the same time using pkgcheck.

    See my other reply to WilliamH for more detail about that and
    fundamental speed differences.




    What if pkgcore evolves to provide a portage-compatible API?

    No API is planned and no one is working on it.


    I and a few others did some work to ensure pkgcore had some usable
    api's from early in it's development. But pkgcore is so different from
    portage code, it was difficult for early to mediocre python devs to
    wrap their head around. There was even work to make porthole be able
    to use pkgcore as it's backend package manager, but it was never fully
    utilized due to more work needed on pkgcore for some functionality.



    Then CI could use repoman without performance problems, and
    developers would also enjoy improved performance, without spending
    time on replacing tooling which already works for them.


    No, pkgcore and it's QA tool pkgcheck are designed to work together.
    Repoman is designed to work with portage base code. Checks can be
    designed to work on either, but not both. The missing checks that
    the CI does can be added to repoman, but the primary dev(s) creating
    them on the CI don't recreate them for repoman. They want to work on
    pkgcheck.

    Repoman code will NEVER be as fast as pkgcheck due to the legacy
    portage code structure it relies on. Pkgcore was a re-design from the
    ground up to to improve upon the shortcomings of the original portage structure. This resulted in vast speed improvements and reduction in
    lines of code to do the same functionality. Portage (due to Zac) has
    made vast improvements in structure, but still requires a ton more
    changes to get to where it should be.


    The benefit of getting people to change their behavior is that the
    benefits (less breakage, better tooling) are achieved now; as opposed
    to in some hypothetical future where repoman is improved.
    Note that we have been waiting for 'improved repoman' for about 8
    years; so..I'm not willing to bet on it when we have better tooling
    that works today and the primary complaint is that...what exactly?

    The new workflow with pkgcheck was announced at the end of 2019: https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck

    It's been 2 years, I think we can bring everyone into the fold here.


    Looking into the future then maybe portage could even come to use
    pkgcore for the low-level things that pkgcore does, then even users
    could enjoy improved performance.

    Many things could happen but again, if you talk to people who work on pkgcore; there is no concrete plan for this. So I don't see why we are betting on it happening.

    If you read radhermit's blog: https://pkgcraft.github.io/posts/timesink-chronicles/ you can get one
    take on the project and why it struggled.

    -A



    Right?

    //Peter



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alec Warner@21:1/5 to peter@stuge.se on Fri Mar 11 19:30:01 2022
    On Fri, Mar 11, 2022 at 9:14 AM Peter Stuge <peter@stuge.se> wrote:

    Matt Turner wrote:
    repoman is inferior to other tooling mentioned. The other tooling is actually run in CI.

    The problem seems to be that CI is running something other than
    developers run, not the other way around.


    Developers should get the same warnings locally as in CI.

    I agree. And developers and their tools should not have to bend to
    whatever CI does, I think the other way around makes more sense.


    CI doesn't use repoman because of performance issues.

    I think the problem is that making committers use the CI tool is
    technically a fairly straightforward change; while everything you
    discuss further in the thread is not; because it implies people will
    work on improving tools that have shown little or no progress on
    improving in the 15 years I've been in Gentoo.


    What if pkgcore evolves to provide a portage-compatible API?

    No API is planned and no one is working on it.


    Then CI could use repoman without performance problems, and
    developers would also enjoy improved performance, without spending
    time on replacing tooling which already works for them.

    The benefit of getting people to change their behavior is that the
    benefits (less breakage, better tooling) are achieved now; as opposed
    to in some hypothetical future where repoman is improved.
    Note that we have been waiting for 'improved repoman' for about 8
    years; so..I'm not willing to bet on it when we have better tooling
    that works today and the primary complaint is that...what exactly?

    The new workflow with pkgcheck was announced at the end of 2019: https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck

    It's been 2 years, I think we can bring everyone into the fold here.


    Looking into the future then maybe portage could even come to use
    pkgcore for the low-level things that pkgcore does, then even users
    could enjoy improved performance.

    Many things could happen but again, if you talk to people who work on
    pkgcore; there is no concrete plan for this. So I don't see why we are
    betting on it happening.

    If you read radhermit's blog: https://pkgcraft.github.io/posts/timesink-chronicles/ you can get one
    take on the project and why it struggled.

    -A



    Right?

    //Peter


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to All on Fri Mar 11 20:40:01 2022
    On 3/11/2022 03:54, Mart Raudsepp wrote:> Ühel kenal päeval, N, 10.03.2022 kell 18:18, kirjutas Joshua Kinard:
    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.

    From that, one should not be faulted for assuming that repoman is the
    more important tool, if not preferred tool, with pkgdev coming in
    second place. pkgcheck comes across as entirely optional and even
    seems equivalent to 'repoman full', and how would one know that
    pkgcommit even exists?

    I believe the very purpose of this thread is to have a consensus/pre- announcement before actually editing the official documentation as part
    of the process of deprecating repoman.

    I feel that the documentation should have had more mentions of these newer tools as their adoption by other developers accelerated. Documentation
    doesn't have to have a fixed point in time when it fully changes over. It
    can change organically, like almost everything else in the project.



    That all said, most of my checks are done pre-commit, not pre-push.
    It's annoying trying to unwind a commit with a mistake in git, so I
    aim to not have any in the commit itself. By the time I get to the
    push stage, everything MUST be perfect before I hit 'git push'. Cause
    once something is public, there's no going back. In a handful of
    cases, I've gone as far as nuking my local copy of the tree, re-
    cloning it, and re-doing everything again just to fix a mistake that I
    should have caught pre-commit.

    git commit --amend, interactive rebase, etc (all before push). I suggest
    to learn them and embrace them. Re-cloning is not fun, just for
    something that a quick interactive rebase or even a git reset -- hard destructive operation instead of re-clone would solve.

    The few times I resorted to a re-clone, the damage done was beyond recoverability of --amend or even rebase. I don't really remember the specifics, as the last time I did a full re-clone was maybe 14-17 months
    ago. My developer tree lives on my NAS now with ZFS snapshotting, so
    recovery is a lot easier, even if I have a really old snapshot.


    Also the benefit of using pkgcheck is to actually be able to make the
    same checks that CI would do before you push, so you can amend your
    commits to fix issues before they hit the server and CI and break the
    tree. pkgcheck is so fast that it can do full tree checks in a
    reasonable time (repoman would take days on a radiator mips when you go outside single package), and I believe has features to have it check all
    your commits that haven't been pushed yet at once, checking only what it
    can to not be too slow to not use (so you don't need to run the check
    with each commit but for all of them once you commit - and if issues,
    again, git interactive rebase).

    Speed is really not a big issue for me. I run repoman from my amd64 dev
    box, and it's like, maybe 10-13 seconds at most during 'repoman full'? And
    my MIPS systems, while not the slowest of slow of that arch, they do teach
    you patience over the years.

    The other bits you mention about pkgcheck do sound useful, though. But I am
    a stickler for official documentation, because my risk aversion level when committing to a public repo that can affect hundreds of thousands of users
    is *extremely* high. When I first signed up as a dev and we had the
    gentoo-x86 CVS repo, there were no CI checks. It was the responsibility of
    the dev committing to get it right the first time, or else. The fact I
    haven't blown the tree up in years, even using archaic workflows, should be proof enough that what I do does work, even if it is sub-optimal in the eyes
    of others.

    If we do deprecate repoman, that's fine. I'll learn the new tooling. My initial beef was the use of subjective opinion in proposing the initial
    change in the first place. Even if it is blatantly obvious to many that A >
    B, these mailing lists serve as a public archive of our work, so when
    proposing key changes, regardless of how many people know/don't know about something, full justification needs to be stated clearly and openly.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ulrich Mueller@21:1/5 to All on Fri Mar 11 20:40:01 2022
    On Thu, 10 Mar 2022, Alec Warner wrote:

    I'm not sure a news item is strictly necessary, we might just p.mask
    repoman with a link to the guide that Matt will need to write about
    how repoman is being replaced.

    We should distinguish between deprecating the repoman(-only) workflow
    and deprecating the repoman tool. Doing the former doesn't imply masking
    and removing the repoman package, at least not while it's working and
    being maintained as part of Portage.

    Also, what would be the harm in having another QA tool available in
    addition to pkgcheck? (Long time ago, we used to have three of them.
    Does anyone remember qualudis? :)

    Ulrich

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmIrpRsPHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4udI4H/jyc6y7EAHasVzsGKYqcDKCArOASU2dMJxXG pDYrdBXJ8F1ciDrfuAwFFZ3ev/M+dK6qTA9tVX1QcKG0Bum9AVK1C8eKzzMsfzTi eO91KQC0/It0UDgLYur5zfjwSYZaqcEmeIilyi/v8p4T7tXNa80fPbJzIAryVoa2 8tH7nXWSYjNRd1wTgPnBSXQiK/WJPGhw+I0I0H9LHRZI2JdmbTybgaycOVqcIefg //ZCz7vDftpe3ik66br3QEzBTxo6Tb4Ou262Rs8kmf/XqGpfLVO1mf8HNgNu08tp zCCyw+U9T7eO5qhZgH0vS4/oNJsYbPKKwWpycL6rKn0LfwUbtt0=
    =EnEH
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Alec Warner on Fri Mar 11 21:00:01 2022
    On 3/11/2022 13:25, Alec Warner wrote:

    [snip]


    The new workflow with pkgcheck was announced at the end of 2019: https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck

    It's been 2 years, I think we can bring everyone into the fold here.

    I've searched my -dev archives for part of that URL, and the only hits I am getting is this e-mail thread. Was this URL previously shared on this
    mailing list or another? I do not track the Gentoo Blogs, so unless
    something is shared to the mailing lists, I will likely miss it.

    That said, I will admit I am uncomfortable with post-commit, pre-push validation. I get that git is vastly different, and vastly superior, to
    CVS. Get it right the first time, and you don't have to worry about fixing
    it later -- CVS teaches you that very well, and it still works well for git workflows. Going back into git post-commit to fix things is still something
    I need to learn more about, as my git-fu is still pretty amateurish beyond
    the common basics. Especially when dealing with kernel patch maintenance
    and maintaining lots of small, discrete changes that kernel upstream prefers.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arthur Zamarin@21:1/5 to Joshua Kinard on Fri Mar 11 21:20:02 2022
    To: kumba@gentoo.org (Joshua Kinard)

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------t4fHAh5eFsgEEv7bSnB0djoF
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    On 11/03/2022 21.51, Joshua Kinard wrote:
    On 3/11/2022 13:25, Alec Warner wrote:

    [snip]


    The new workflow with pkgcheck was announced at the end of 2019:
    https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck

    It's been 2 years, I think we can bring everyone into the fold here.

    I've searched my -dev archives for part of that URL, and the only hits I am getting is this e-mail thread. Was this URL previously shared on this mailing list or another? I do not track the Gentoo Blogs, so unless something is shared to the mailing lists, I will likely miss it.

    That said, I will admit I am uncomfortable with post-commit, pre-push validation. I get that git is vastly different, and vastly superior, to CVS. Get it right the first time, and you don't have to worry about fixing it later -- CVS teaches you that very well, and it still works well for git workflows. Going back into git post-commit to fix things is still something I need to learn more about, as my git-fu is still pretty amateurish beyond the common basics. Especially when dealing with kernel patch maintenance
    and maintaining lots of small, discrete changes that kernel upstream prefers.


    Just to note, when using pkgdev, I use mainly the command `pkgdev commit
    -as`, which stands for auto add files in current working pkg and run
    scan *before commit* - which is identical to `repoman full -dx`.

    I think I'm going to add configuration mode to pkgdev, so you can set
    scan mode to on by default (you can pass `--scan false` to disable it).

    --
    Arthur Zamarin
    arthurzam@gentoo.org
    Gentoo Linux developer (Python, GURU)

    --------------t4fHAh5eFsgEEv7bSnB0djoF--

    -----BEGIN PGP SIGNATURE-----

    iQEzBAEBCgAdFiEE/axFlFuH2ptjtO5EAqCvUD0SBQQFAmIrrOMACgkQAqCvUD0S BQQcywf/aVsPAXp228NmeIcNPzuNFR+USpCi7Bleb6g41Ay5dd63y2yLW02JUnxh S+zv/WfdkDRngMbm3TWI7ryny658yVb8Wr9lcYgCRsQErnmfx9mm2d6aAcnkhyb6 Fj23GVJ1mIywBXH9U5FKIGT3AkJkjubhkjwMi3Xgd68izvvqly8qnlqulEzCDUTz 7ivqYQDhNKyBoSEyOhxBM5E5vwG2kBU5KW0AWWMKRsX0Fp9Wj+S7QK022X7Uuo7J zuo/ouTfZ/bikz2b5UxfFIHq4JFDw0Ps4qFzCga7opjqT7JlPVzo+JTdSNpXgKSG 5bP/sCj+e1nDVZqpPFC0eaGSgmIWMg==
    =n4pp
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to All on Fri Mar 11 22:30:01 2022
    I've filed a PR against devmanual.git to remove references to repoman
    and replace them with references to pkgdev where appropriate. Most
    everywhere already had pkgdev/pkgcheck text in place so there wasn't
    much to do. See: https://github.com/gentoo/devmanual/pull/274

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Francesco Riosa@21:1/5 to All on Sat Mar 12 01:50:01 2022
    Il giorno mer 9 mar 2022 alle ore 22:01 Matt Turner <mattst88@gentoo.org>
    ha scritto:

    I'd like to deprecate and ultimately remove repoman. I believe that dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts)


    Hi using `repoman manifest` in scripts here, what would be the correct replacement for that?

    <div dir="ltr"><div dir="ltr">Il giorno mer 9 mar 2022 alle ore 22:01 Matt Turner &lt;<a href="mailto:mattst88@gentoo.org">mattst88@gentoo.org</a>&gt; ha scritto:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px
    0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I&#39;d like to deprecate and ultimately remove repoman. I believe that<br>
    dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts)<br></blockquote><div><br></div><div>Hi using  `<span style="color:rgb(0,0,0);font-family:monospace">repoman manifest` in scripts here, what would be the correct replacement for that?<
    /span></div><div> </div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to vivo75@gmail.com on Sat Mar 12 01:50:01 2022
    On Fri, Mar 11, 2022 at 4:43 PM Francesco Riosa <vivo75@gmail.com> wrote:

    Il giorno mer 9 mar 2022 alle ore 22:01 Matt Turner <mattst88@gentoo.org> ha scritto:

    I'd like to deprecate and ultimately remove repoman. I believe that
    dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts)


    Hi using `repoman manifest` in scripts here, what would be the correct replacement for that?

    pkgdev manifest

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Sat Mar 12 03:00:01 2022
    On 11 Mar 2022, at 19:39, Joshua Kinard <kumba@gentoo.org> wrote:

    On 3/11/2022 03:54, Mart Raudsepp wrote:> Ühel kenal päeval, N, 10.03.2022 kell 18:18, kirjutas Joshua Kinard:
    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.

    From that, one should not be faulted for assuming that repoman is the
    more important tool, if not preferred tool, with pkgdev coming in
    second place. pkgcheck comes across as entirely optional and even
    seems equivalent to 'repoman full', and how would one know that
    pkgcommit even exists?

    I believe the very purpose of this thread is to have a consensus/pre-
    announcement before actually editing the official documentation as part
    of the process of deprecating repoman.

    I feel that the documentation should have had more mentions of these newer tools as their adoption by other developers accelerated. Documentation doesn't have to have a fixed point in time when it fully changes over. It can change organically, like almost everything else in the project.

    Well, I've done that. I've been adding pkgcheck and pkgdev to the devmanual over time, and to the wiki.

    [snip]

    Also the benefit of using pkgcheck is to actually be able to make the
    same checks that CI would do before you push, so you can amend your
    commits to fix issues before they hit the server and CI and break the
    tree. pkgcheck is so fast that it can do full tree checks in a
    reasonable time (repoman would take days on a radiator mips when you go
    outside single package), and I believe has features to have it check all
    your commits that haven't been pushed yet at once, checking only what it
    can to not be too slow to not use (so you don't need to run the check
    with each commit but for all of them once you commit - and if issues,
    again, git interactive rebase).

    Speed is really not a big issue for me. I run repoman from my amd64 dev
    box, and it's like, maybe 10-13 seconds at most during 'repoman full'? And my MIPS systems, while not the slowest of slow of that arch, they do teach you patience over the years.

    The other bits you mention about pkgcheck do sound useful, though. But I am a stickler for official documentation, because my risk aversion level when committing to a public repo that can affect hundreds of thousands of users
    is *extremely* high. When I first signed up as a dev and we had the

    It is already mentioned in the devmanual, but we can add it in more places
    if you specify which.

    -----BEGIN PGP SIGNATURE-----

    iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmIr/T5fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDulUQf7BrU6s6hq1o8Yt/VZt1KmF2QSJmVaTt8BA9RYjv6bFfK0MKX5I2kalgGL P4Lde+NJDUlk6s0EXSG0qj3Zh1bz1gFlFA6d7WRRRvxD2ROdNUGe94TmYL1g2xhJ wkNyGeFu8W34AO750hArblwHcwHXbMT5Oq59sPLpXkNhsWCGmernlhhfKbJfwa8F 8UE6avSHugHgymMKguqJsrFj8JVGj7+fban+UJSX611TWhKgTtoybHgc6yICJ9Xs ThHWJRDYl3H6tuzUfE+RuMiFQPSBxTEF5rkDn5RJCRcQpv1HjU5nBp0J5415Ee5f Vtx25wbPLLe4XkJDnV8k/Bn2kWip6Q==
    =ExgP
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sam James@21:1/5 to All on Sat Mar 12 02:50:01 2022
    On 11 Mar 2022, at 19:51, Joshua Kinard <kumba@gentoo.org> wrote:

    On 3/11/2022 13:25, Alec Warner wrote:

    [snip]


    The new workflow with pkgcheck was announced at the end of 2019:
    https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck

    It's been 2 years, I think we can bring everyone into the fold here.

    I've searched my -dev archives for part of that URL, and the only hits I am getting is this e-mail thread. Was this URL previously shared on this mailing list or another? I do not track the Gentoo Blogs, so unless something is shared to the mailing lists, I will likely miss it.

    I think you may be latching on a bit to the pkgcommit thing. Nobody is making you use mgorny's scripts. pkgdev has been advertised on this very ML:

    https://marc.info/?l=gentoo-dev&m=161443741531808&w=2


    That said, I will admit I am uncomfortable with post-commit, pre-push validation. I get that git is vastly different, and vastly superior, to CVS. Get it right the first time, and you don't have to worry about fixing it later -- CVS teaches you that very well, and it still works well for git workflows. Going back into git post-commit to fix things is still something I need to learn more about, as my git-fu is still pretty amateurish beyond the common basics. Especially when dealing with kernel patch maintenance
    and maintaining lots of small, discrete changes that kernel upstream prefers.

    You can always do 'pkgcheck scan' before committing, or, I think
    'pkgdev commit -A' might work.

    -----BEGIN PGP SIGNATURE-----

    iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmIr+zhfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDs+Qgf/VfdscbBDsOACX912qZvhAOi/kAZRxyN4BxL490insHzkJzPT9Ifk2cyp zpVQgDA0zQHZLOGQdwwdDswIFc6gMNVjd+A79fp7HkveL6vvk9bFSDBmQB0x0P5f pA0LnTdp4s/UthPKC/yd2FZEpFHXgybYst6szKzaHrnhnqWtnHDHkuePdXKa0W/8 0YQ2y5ZJNdX+OVSlgE8HHY8dc1tcp5cpe8yo5XAs4PZm4YQb1WqzvMoT8pI/4sOY fhR3oGwxXdjodPFMsNoSqeS996HbVLK1k3if7pJTvwHtGKLLwvbE9HPNvGDujs3P ZhZ+7uGCbeP2KlLZuXtM/EkKiv3cQA==
    =DStS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Sam James on Sat Mar 12 04:00:01 2022
    On 3/11/2022 20:57, Sam James wrote:


    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.

    But again, those are subjective observations. Maybe it's my longer
    experience with the project, or maybe it's because I usually refrain from poking the more complex bits in the tree, or maybe it's the particular niche I've stuck to, the extra checks that pkgcheck runs haven't really applied to me. If I do too many significant changes to an ebuild, I'll re-read its
    source a half-dozen times or more to make ***sure*** that I didn't miss something. I will grep the tree for similar bits of code to make sure I'm doing something reasonably sane, I will test that ebuild on at least two different arches (amd64 and mips), etc. Maybe I over think it, or maybe I
    have some form of hyperpedanticism. Or maybe I've just been really lucky.
    :: shrugs ::

    And speed, again, is really quite far down on my list of concerns most of
    the time.

    That said, yes, I agree with you wholeheartedly that there was a failure at
    the Project/Distro level to explain the benefits of using pkgcheck over
    repoman scan/full. That's a communications failure, and it is really
    symbolic of a larger issue that projects like ours often struggle with.
    Each of us tends to operate off in their own little fiefdom, something I am just as guilty of as anyone else, and we don't always know what other devs
    are doing or how they're doing it. I wish I had suggestions to offer up at
    the moment on fixing this, but, alas...



    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?

    Yes, I could. but that's not the point I was making. My point was Matt recommended pkgcommit as one of the two tools deemed superior to repoman,
    but without providing any context. TBH, I didn't even know that the
    containing package was even in the tree, and I certainly didn't even know pkgcommit existed. I made the point I did about there being no mentions of pkgcommit in that part of the devmanual to underscore that fact.

    I've got my own small (but growing) collection of trashy little hackscripts (and a collection of aliases) for maintaining my Gentoo and BSD systems.
    Many of them are so specific to things I do locally on my machines, they're never going to wind up published anywhere, because they likely won't work
    for anyone but me.




    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?

    Unfortunately, I have been advised by many of my friends and associates to
    stay well away from anything remotely resembling comedy. Like many people,
    I get the jokes and laugh along with them, but like a Vogon reading poetry,
    I should never attempt to create the jokes. I get away with the small pun
    here and there, but it's only a matter of time before the gallows will find
    me for one of those.

    And really, much of Portage's built-in humor is largely a function of
    carpaski being one of its original authors. He's even got his own Urban Dictionary entry, which should tell you a lot about things:

    https://www.urbandictionary.com/define.php?term=carpaski

    Honestly, see that entry brings back a lot of memories...

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Kinard@21:1/5 to Sam James on Sat Mar 12 03:20:01 2022
    On 3/11/2022 20:54, Sam James wrote:


    On 11 Mar 2022, at 19:39, Joshua Kinard <kumba@gentoo.org> wrote:

    On 3/11/2022 03:54, Mart Raudsepp wrote:> Ühel kenal päeval, N, 10.03.2022 >> kell 18:18, kirjutas Joshua Kinard:
    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.

    From that, one should not be faulted for assuming that repoman is the
    more important tool, if not preferred tool, with pkgdev coming in
    second place. pkgcheck comes across as entirely optional and even
    seems equivalent to 'repoman full', and how would one know that
    pkgcommit even exists?

    I believe the very purpose of this thread is to have a consensus/pre-
    announcement before actually editing the official documentation as part
    of the process of deprecating repoman.

    I feel that the documentation should have had more mentions of these newer >> tools as their adoption by other developers accelerated. Documentation
    doesn't have to have a fixed point in time when it fully changes over. It >> can change organically, like almost everything else in the project.

    Well, I've done that. I've been adding pkgcheck and pkgdev to the devmanual over time, and to the wiki.

    Yes, I'd seen that, though at least in the ebuild maintenance section on
    git, pkgdev's mentions were added in such a way that it was implied to be comparable to repoman. Not better than repoman, as many people here are stating.

    People like me, when we see that, are going to conduct an internal risk assessment. Use what I know works and get results I know I will get, or use
    a completely new tool that I know nothing about, and maybe get the same
    result with no perceived benefit or gain.


    [snip]

    Also the benefit of using pkgcheck is to actually be able to make the
    same checks that CI would do before you push, so you can amend your
    commits to fix issues before they hit the server and CI and break the
    tree. pkgcheck is so fast that it can do full tree checks in a
    reasonable time (repoman would take days on a radiator mips when you go
    outside single package), and I believe has features to have it check all >>> your commits that haven't been pushed yet at once, checking only what it >>> can to not be too slow to not use (so you don't need to run the check
    with each commit but for all of them once you commit - and if issues,
    again, git interactive rebase).

    Speed is really not a big issue for me. I run repoman from my amd64 dev
    box, and it's like, maybe 10-13 seconds at most during 'repoman full'? And >> my MIPS systems, while not the slowest of slow of that arch, they do teach >> you patience over the years.

    The other bits you mention about pkgcheck do sound useful, though. But I am >> a stickler for official documentation, because my risk aversion level when >> committing to a public repo that can affect hundreds of thousands of users >> is *extremely* high. When I first signed up as a dev and we had the

    It is already mentioned in the devmanual, but we can add it in more places
    if you specify which.

    Matt's posted a pull request in GH that looks to eliminate all remaining references of repoman and replace them with pkgdev. So I think we're done
    with this point now once that request is merged in.

    --
    Joshua Kinard
    Gentoo/MIPS
    kumba@gentoo.org
    rsa6144/5C63F4E3F5C6C943 2015-04-27
    177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

    "The past tempts us, the present confuses us, the future frightens us. And
    our lives slip away, moment by moment, lost in that vast, terrible in-between."

    --Emperor Turhan, Centauri Republic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fabian Groffen@21:1/5 to Matt Turner on Sat Mar 12 09:40:02 2022
    Just wondering, is there a "migration guide" or something? I've never
    used pkg* since joining in 2005. I can derive some things from the
    first look at the below commit, but an "expert opinion" to just map the standard things from repoman to appropriate commands would be nice.

    Are those pkg* keyworded *everywhere*, by the way?

    Thanks,
    Fabian


    On 11-03-2022 13:19:34 -0800, Matt Turner wrote:
    I've filed a PR against devmanual.git to remove references to repoman
    and replace them with references to pkgdev where appropriate. Most
    everywhere already had pkgdev/pkgcheck text in place so there wasn't
    much to do. See: https://github.com/gentoo/devmanual/pull/274


    --
    Fabian Groffen
    Gentoo on a different level

    -----BEGIN PGP SIGNATURE-----

    iQEzBAABCgAdFiEELUvHd/Gtp7LaU1vuzpXahU5EQpMFAmIsWsgACgkQzpXahU5E QpNJiAf/Ubr7vJcLMDGi8d3zbNrTVd39YgQwaqgXlC3AQsUzoU3rNZde0j4YSqn/ WVqMhKtvUrdqYTFP4iU52IlB9qjUizMTu4KHfMjR19BXVxBLrTHIJpx0hAiiyf6t hCceGkLlnkDa83k8rAZeX62ylEHTYRDxcsdrgnKRmVggGJCpK4i3by7+JNph5Ocu J1jnDqwwJj2VTc1O4i3pr/ej1cjNRZnO0WT6r3kbQvIyRz9mCkByKL29+p7ZAYQ3 E8Pof1EY7tahu+GpD8ZFjOuD1bEr7992xtjlMElLBumrreKQ8VdrwDSKbNMgMLsB +ALMqCuElbnmlI4AiDLZ9p15VLwjAg==
    =QgkL
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mart Raudsepp@21:1/5 to All on Sat Mar 12 11:40:02 2022
    Ühel kenal päeval, R, 11.03.2022 kell 21:53, kirjutas Joshua Kinard:
    the extra checks that pkgcheck runs haven't really applied to me.

    Looks to be mostly true, as you maintain only a few packages, but you
    might find these links useful to filter the CI output per maintainer regardless:

    https://qa-reports.gentoo.org/output/gentoo-ci/output.html;maintainer=kumba https://qa-reports.gentoo.org/output/gentoo-ci/output.html;maintainer=kumba;include-projects

    Or some of these:

    https://packages.gentoo.org/maintainer/kumba@gentoo.org/stabilization https://packages.gentoo.org/maintainer/kumba@gentoo.org/outdated


    Mart

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hank Leininger@21:1/5 to Fabian Groffen on Sat Mar 12 20:30:01 2022
    On 11-03-2022 13:19:34 -0800, Matt Turner wrote:
    I've filed a PR against devmanual.git to remove references to repoman
    and replace them with references to pkgdev where appropriate.

    On 2022-03-12, Fabian Groffen wrote:

    Just wondering, is there a "migration guide" or something? I've never
    used pkg* since joining in 2005. I can derive some things from the
    first look at the below commit, but an "expert opinion" to just map the standard things from repoman to appropriate commands would be nice.

    Yes, please this, and not just in devmanual, but also:

    https://www.gentoo.org/glep/glep-0066.html
    https://wiki.gentoo.org/wiki/Gentoo_git_workflow
    https://wiki.gentoo.org/wiki/Gentoo_GitHub

    All three of those mention repoman some or a lot, and pkgcheck/pkgdev
    little or none.

    I'm not a dev, just a forgetful proxy maintainer. When I went to learn
    the right workflow to submit better-quality PRs on GitHub instead of
    just attaching patches to b.g.o. bugs some years back, I looked at
    devmanual but the git workflow specific content seemed to be targeted
    only at people with access to git.gentoo.org, so I looked elsewhere.

    Those Wiki pages talked specifically about my use case. I think they
    only mentioned repoman back then. Even now they are 10x more specific
    and detailed about how to use repoman in your workflow, vs how to use
    pkgcheck.

    And indeed, the devmanual still doesn't line up 1:1 with the apparently soon-to-be-obsolete content in the wikis. For example, wikis say to use "repoman -dx full"; devmanual only talks about "repoman full" and
    replacing that with "pkgcheck scan --commits". What happened to
    --include-dev and --xmlparse? Are they not needed/implied in the
    pkgcheck case? (From its manpage, I think maybe the default behavior is equivalent to enabling both of those, but...?)

    This is why you can't trust ignorant fools like me to figure it out for ourselves :-P

    Thanks,

    --

    Hank Leininger <hlein@korelogic.com>
    9606 3BF9 B593 4CBC E31A A384 6200 F6E3 781E 3DD7

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCAAdFiEElgY7+bWTTLzjGqOEYgD243gePdcFAmIs8rkACgkQYgD243ge Pdde+RAAgfRqbQSsnfLUZZCVbFgSdOT76aPabzVs2y4ErxKYgutJchj8HGfT6I7t gBZnr8pRKLWH8XghphhiMOHwEfQ3y2kFrv1yCuMWDudQ2VZdYxCNNVwMKVnNGMp6 y2+E3esk042/8szTw3qwsL+9eVwZI456XNAbarWfGsQ6gv5MFRctNesuGphVHgSA oQvKlE8lNPjazjt8R4xGaf6KgStejfjK0S6CeFCd6O5TM9uPeYEwp3KKAh5fy152 6sDn654/a4A7y5Va/dIgfSOflFyhakA1TOzFY5UfU//lKDU1FwOPuJQLpCNyMp01 0775cBzHSyEuaGed6ef2oPWi71tjO5oDSPyTNaSbNZjTl4wk6HoPCJYuqR61Fi8H M73IczElAcoyFWldnGCBKOHsSnuIIAWg88ZoY772uTZMASuwilhoGE2SKCs88oKr u9gC5wNP42Pb8glSjxSD9akFSw8bWNNTgXJnCu8K/kzvj4z4jC/PAVwAQGAJfGD5 7VDPyDU6fe7tvM/UztpvHwJNAj6Fz2mti5psz14LaI8wd/4N5Rriy8T9+0EjGoL1 pCPJKMoSX4juXDGQ0su8gVmJpvEPvPDT0ulITuiYMG5vZCOd6xFfW5aHZxsEvKzu DGYodt6JU8fpP/BwegTYCJjq561B0yFTl4ieLyj/bUGn/2iIUgM=
    =K3jE
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to All on Sat Mar 12 21:30:01 2022
    I've filed a Council bug to approve the plan for deprecating repoman.
    See https://bugs.gentoo.org/835013

    The proposed plan, as copied from the bug is:

    The devmanual has already been updated to contain information about pkgdev, in March 2021. See https://gitweb.gentoo.org/proj/devmanual.git/log/?qt=grep&q=pkgdev

    I have opened a devmanual pull request to remove references to repoman that might suggest that it is still an appropriate tool to use. See https://github.com/gentoo/devmanual/pull/274

    The next steps once the devmanual change is committed, I think, are

    - Give the wiki similar treatment as the devmanual, replacing and removing references to repoman that would suggest it is an appropriate tool to use.

    - Modify repoman to emit a warning informing users of its deprecation

    - After some period of time, maybe 6 months, give last rites to repoman

    - Delete repoman from portage.git

    (and of course adding any features/behaviors we find lacking in pkgdev, et al)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Matt Turner@21:1/5 to mattst88@gentoo.org on Mon Mar 14 00:00:01 2022
    On Sat, Mar 12, 2022 at 12:26 PM Matt Turner <mattst88@gentoo.org> wrote:
    I've filed a Council bug to approve the plan for deprecating repoman.
    See https://bugs.gentoo.org/835013

    With a vote of 6-0, the Council approved the following motion:

    pkgcheck is now considered the primary Gentoo tool for ebuild QA. repoman is no longer considered sufficient. Council condones the deprecation and removal of repoman by the portage team.

    There was resistance to the idea of making repoman print a deprecation
    warning when executed, so I will drop that idea from the plan.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zoltan Puskas@21:1/5 to Ionen Wolkens on Sat Mar 19 05:50:02 2022
    I've been using both repoman _and_ pkgcheck becasue I was not sure which
    one covers all the checks I need to make. In fact [Pull Requests wiki](https://wiki.gentoo.org/wiki/Project:GitHub/Pull_requests) has a
    big red warning box with the following message, and I quote:

    "CI is not an excuse not to run repoman full, at least for the packages
    being committed."

    [Package maintainer's responsibilities wiki](https://wiki.gentoo.org/wiki/Package_maintainer%27s_responsibilities) says "When committing changes, repoman commit **or** pkgdev commit (from the dev-util/pkgdev package) can be used.", emphasis mine.

    I use documentation from time to time to remind myself of details, as I
    want to avoid bugging people on IRC or the mailing list, and to provide
    up to date and clean PRs. Per said documentation repoman is (was?)
    a cornerstone of the workflow, as mentioned by others too. Developers
    should not be frowned upon for using Repoman, as they were doing
    exactly what was asked of them.

    Additionally based on the existing documentation it was not evident
    that, pkgcheck covers all checks done by repoman and more, or that it's
    faster, or that it has advanced features, like scanning only commits since HEAD/origin (I myself was only ever using it in the ebuild's directory,
    because Repoman is slow when running over more than one ebuild). I've
    had to read most of this thread to obtain all these details and to learn
    about the proper replacements for all the steps in my workflow.

    Today I've unmerged repoman and I've used only pkgdev, pkgcheck, and git
    to create a new PR to force myself off Repoman. So far I think the
    experience was superior to the Repoman workflow. I like that I can run
    pkgcheck at the end before the push only on the commits and I don't have
    to worry about Repoman trying to scan the entire tree. I think `pkgdev
    commit` is quite sufficient, not sure why would one need to use
    pkgcommit.

    I found that mgorny's dev scripts package has a lot of irrelevant stuff
    I don't need on my system (maybe not even applicable to anyone outside
    of mgorny), I'd prefer we don't make it part of the mandated workflow as
    is. Maybe if the generally useful scripts are separated out to some
    gentoo devtoolkit package or similar, then it's okay.

    Summa summarum, I think deprecating repoman is the right direction,
    but documentation needs to be updated comprehensively before it's done.

    Just a proxy maintainer's 2¢.

    Zoltan

    P.S.: I'm with Joshua about the snarkiness of the tooling, I liked that
    a lot and it's a bit sad that the new tools are a bit sterile.

    On Wed, Mar 09, 2022 at 04:25:17PM -0500, Ionen Wolkens wrote:
    On Wed, Mar 09, 2022 at 01:00:37PM -0800, 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)

    There's also dev-util/pkgdev as an alternative to pkgcommit with more features for those that want them that will feel similar to repoman
    - pkgdev commit -c/-b bugnum (repoman commit -c/-b bugnum)
    - pkgdev manifest (repoman manifest)
    - pkgdev push (runs pkgcheck scan --commits before pushing)
    - updates copyright year / manifest on commit
    - basic commit message templates, like auto "cat/pkg: add <version>" on
    bumps without manual editing -- prepend cat/pkg: like other tools
    if nothing specific

    And other handy features like pkgdev mask --rites days

    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


    --
    ionen



    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEyzsUa/Bn/zts2f9oJoL7EYNVSs4FAmI1X1kACgkQJoL7EYNV Ss6WUBAAga/ZGia7qt/810hgpVkE1HLbw2LW7izivq20aP9oZXRsn3oUk33HMPA4 0YnU7pO0qRFPJjXtyvyJmPPMtT/cQhXA6lpnzHXyTbRJFC2ovFN9CozSZbF86daw LxcZkvfCdQKXqOJz1Wu2+KGZzj9mpCRktjoZqJE31zOpuYkDLVtqLp1zri1gEs4y 72MRNHz1xC4o4z2g5/eo4ik5wNg+wD+6elt4Y6YOIl87dH92zyO0kES3/E8fP3m1 zLiADYoDJ5qjVOfLlCjcb33Y0wBt78FGikwi2ux+Sqgpg5lsv2VpELtNboR1IHdH BtX8O1HVQOGxn+Y/glfp6kf5DDilq5otRzyqT+pRfktcP9T+epYXEkHJs7Wn/tsm JAJVJUmzliWW4D71j1RKAeF5tJ178sw25d+oH3t/pqIAmX29h8nzleezRWfBNoXM hVtXrwWdky32zgSqQukYrD0YCF1ENikZVySwip/ptyZTRmD6r/Cmwlio8Z9T/y8B diAZv3tcRNd02Vw1PKlR7TQWU46yGfehJlKiazj9F+wT4FfDtnZVSj+6Z37u21it 1Qv8qwl+gb5gvFrrbIKqhcFHoF5lUOCB8uXVIexCz2HFELQMpTXIhZ3J8eoiBT5B EWysDWfYB1wupCCXiG804KmNDKTHjE06aNs3tyyieu8XrnxuraA=
    =BIDM
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ulrich Mueller@21:1/5 to All on Sat Mar 19 08:20:01 2022
    On Sat, 19 Mar 2022, Zoltan Puskas wrote:

    [Please don't top-post.]

    I've been using both repoman _and_ pkgcheck becasue I was not sure which
    one covers all the checks I need to make. In fact [Pull Requests wiki](https://wiki.gentoo.org/wiki/Project:GitHub/Pull_requests) has a
    big red warning box with the following message, and I quote:

    "CI is not an excuse not to run repoman full, at least for the packages
    being committed."

    That warning box also says: "Furthermore, pkgcheck is imperfect (yet
    very fast) and may fail to notice some subtle breakages (especially if
    USE flag masking/forcing) is involved."

    Looks like the warning was added by mgorny in 2016 [1]. Have these
    issues with pkgcheck been fixed in the meantime?

    Ulrich

    [1] https://wiki.gentoo.org/index.php?title=Project%3AGitHub%2FPull_requests&type=revision&diff=575482&oldid=575480

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmI1gwIPHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4uG9EH/ilmzECHRyEI20VAxM0sjTWqYbNkVi4yfkC2 Qk2WNerWdQ+xg2gr3EfStEujclM2V4Qp9zksrGi2iu5qcv/kI+GMsJuyETOmGCpR 3XP5Q8jbHkyDA09rBYWtEQ/7YXNJeWfuCzQjFjx5kdxzFWyADQWlk0NzC/7idwUz LVDq4f46UEH0D0wX1d5TQmCSrg7zY+bbX2kfBNHhO3gC11JmBh3rt2yNm8iVtv1q PHBfg9mKHVKne8Cai0E7ZtvAH0QjgkJm2jT3i5TLBvX24NGfKV/NdIp3Oh5iyFCH e80/SAe6eKT1ZhUKJ9Hls+yc/cWCM2A6WLXHjZniFL7vZ24myPw=
    =Auxa
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Ulrich Mueller on Sat Mar 19 09:50:01 2022
    On Sat, 2022-03-19 at 08:15 +0100, Ulrich Mueller wrote:
    On Sat, 19 Mar 2022, Zoltan Puskas wrote:

    [Please don't top-post.]

    I've been using both repoman _and_ pkgcheck becasue I was not sure
    which
    one covers all the checks I need to make. In fact [Pull Requests wiki](https://wiki.gentoo.org/wiki/Project:GitHub/Pull_requests) has
    a
    big red warning box with the following message, and I quote:

    "CI is not an excuse not to run repoman full, at least for the
    packages
    being committed."

    That warning box also says: "Furthermore, pkgcheck is imperfect (yet
    very fast) and may fail to notice some subtle breakages (especially if
    USE flag masking/forcing) is involved."

    Looks like the warning was added by mgorny in 2016 [1]. Have these
    issues with pkgcheck been fixed in the meantime?

    Yes, I think all the blockers were fixed since.

    --
    Best regards,
    Michał Górny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)