• Silent hijacking and stripping records from changelog

    From Jonas Smedegaard@21:1/5 to All on Sun Apr 7 22:00:01 2024
    Hi Sylvestre and Alexander (cc Rust team and debian-devel),

    Please do not silently hijack packages.

    If you would like to take over maintenance for some package, then please
    ask. Then I won't bite¹.

    And when you do hijack packages²³, then please be respectful and give
    credit, by preserving/reviving past contributions in the changelog file.

    Kind regards,

    - Jonas

    ¹ Just like I didn't bite at the accidental hijack in February:

    Quoting Jonas Smedegaard (2024-02-17 02:20:03)
    Hi Sylvestre,

    Quoting Sylvestre Ledru (2024-02-16 19:24:00)
    I am really sorry but it seems that I made a mistake with rust
    palette:

    https://tracker.debian.org/pkg/rust-palette

    I didn't realize that it was already uploaded (probably because I
    uploaded https://tracker.debian.org/pkg/rust-palette-derive )

    Please let me know how to fix this issue :(

    I needed it for the new version of eza!

    Ok, I will try fix that. I recognize how that confusion could arise (as
    in: I could've easily made the same mistake - and possible did).

    Please take a look at related bug#1063779.

    And just as I didn't bite when, after ignoring the above mentioned bug
    and after my work cleaning up after the February accident, that same
    package *again* was hijacked: https://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/2024-April/040451.html

    Only when you shrugged when my pointing out that second hijack did I
    arguably bite: https://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/2024-April/040452.html

    ² This changelog: https://tracker.debian.org/media/packages/r/rust-palette/changelog-0.7.5-1
    is missing these entries: https://salsa.debian.org/debian/rust-palette/-/blob/debian/0.7.4.0+dfsg-3/debian/changelog

    ³ This changelog: https://tracker.debian.org/media/packages/r/rust-lazy-regex-proc-macros/changelog-3.1.0-1
    is missing these entries: https://tracker.debian.org/media/packages/r/rust-lazy-regex/changelog-3.1.0-1

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============62241134914654547=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYS+s8ACgkQLHwxRsGg ASE1ww//UpjDYP0nrIhbxd5Rb5scmQvKShNv/Qt4+QWaN0Fq4nsqRh6MnGvU5+ZQ cUTsU5NVQV0Hrkj/UBH3PLyS6AdDgC6tTLlklo21FQWa6AzcMCH2Vhtege7JdNGE rWb0+vVpGqdzPyTWDHreN0xdwbTrZ5gqqZmjqlbk+44Gw6zk9TPn1W52tNkUq64k 6QMh3d7LIZib7erVWPTGNoLShbpbXTVDijK/j0RQQJBIP/BiXTfM5mXklfBefWW+ G6fWaMu6gQjK3ADH5DrRlKDB9vUBPlgY1pC9vOuei1nY0DuvorYuXPDKPnNCMsvN rxKEJbcYHEYSR4ryxEauLkL2S+4hrUiCMREeaQ0yIfixaKPYuR18L65rTElyQK4q wMeVcccoLmLlgmrLjBuvdQxPacIWMWQ3ujJWc2uI3R/UnCV+bXdRtLltbI1IBwbr HhN8Bvb/zp0kuqNhoa6wviTKJ6F8VM7Ou/aJE6sy
  • From James McCoy@21:1/5 to Jonas Smedegaard on Mon Apr 8 12:50:01 2024
    On Sun, Apr 07, 2024 at 09:58:10PM +0200, Jonas Smedegaard wrote:
    And when you do hijack packages²³, then please be respectful and give credit, by preserving/reviving past contributions in the changelog file.

    As the person who uploaded rust-lazy-regex-proc-macros, I wasn't aware
    the crate already existed in Debian and wasn't intending to upload a
    hijack of your package. The Rust team _does_ have a lot of automated
    tooling and when I prepared the upload to NEW, it agreed the package was
    new.

    Now, that happens because our tooling is based around a 1:1 relationship
    of crate to source package where as you've been packaging an entire
    workspace as a source package. We need to adapt our tooling to better
    detect this so we get accurate information presented to us and avoid
    stepping on your work.

    I'd still prefer if we could consolidate our efforts into the rust
    team (and re-integrate your forks of our package helpers), rather than
    have two divergent sources of rust packaging.

    Cheers,
    --
    James
    GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Smedegaard@21:1/5 to All on Mon Apr 8 22:30:01 2024
    Hi Alexander and James,

    Quoting Alexander Kjäll (2024-04-08 16:42:22)
    I'll second what James wrote, this was done by mistake by me as our
    tooling didn't discover your package and I'm sorry for the extra work
    it caused.

    Thanks for clarifying that it was an accident. Accidents happen. Let's
    move on.

    ...and about moving on: Can you please also clarify if you understand
    "moving on" as reverting to me maintaining the package that you
    accidentally hijacked, or if you instead understand it as you (on bhalf
    of the Rust team) now having taken over maintainership of that package?

    The reason I ask about that so meticulously is that in the recent past,
    I assumed the former but Sylvestre evidently meant the latter (judging
    from his later response and his inaction regarding related bugreport).


    Den mån 8 apr. 2024 kl 12:41 skrev James McCoy <jamessan@debian.org>:
    On Sun, Apr 07, 2024 at 09:58:10PM +0200, Jonas Smedegaard wrote:
    And when you do hijack packages²³, then please be respectful and
    give credit, by preserving/reviving past contributions in the
    changelog file.

    As the person who uploaded rust-lazy-regex-proc-macros, I wasn't
    aware the crate already existed in Debian and wasn't intending to
    upload a hijack of your package. The Rust team _does_ have a lot of automated tooling and when I prepared the upload to NEW, it agreed
    the package was new.

    Thanks for the clarification. As said above: Understood, accidents
    happen.


    Now, that happens because our tooling is based around a 1:1
    relationship of crate to source package where as you've been
    packaging an entire workspace as a source package. We need to adapt
    our tooling to better detect this so we get accurate information
    presented to us and avoid stepping on your work.

    Yes, please improve your tooling to better align with Debian packaging
    rules, not assume your team rules apply also outside of your team.


    I'd still prefer if we could consolidate our efforts into the rust
    team (and re-integrate your forks of our package helpers), rather
    than have two divergent sources of rust packaging.

    I would also prefer if we could consolidate our efforts, and am open to
    joining the Rust team and collaborate there, as also stated previously.

    What I am not open to is abandon the one-git-repo-per-source-package
    packaging style that is commonly practiced in Debian. As I understand
    it, only Haskell and Rust teams use giant-git-for-all-team-packages
    style, and only the Rust team strictly enforce that style (Perl team
    uses myrepos to work across many packages which I recommend you to
    consider).

    I am also not open to abandon packaging as Debian source the upstream
    code files in the preferred form for editing. Rust team instead
    distributes upstream preferred form for prepackaged distribution, as
    also practiced elsewhere included in the Perl team, but as far as I am
    aware is only strictly required in the Rust team.

    The one-crate-per-Debian-source-package packaging style enforced within
    the Rust team is a consequence of above preference of tracking upstream not-preferred-form-for-editing-source-but-crates.io-distribution. I find
    that problematic and as long as you insist on that you will need to be
    cautious to not wrongly asume the same for the rest of Debian.

    More important, however, and despite what I can or cannot agree with:
    For as long as the Rust team chooses to deviate from general Debian
    practices, it *must* constrain those deviated rules to team work, and
    *not* make the flawed assumption that all Rust crates in Debian are
    aligned with Rust team packaging rules. At any time any Debian developer
    may upload a rust-* package - that namespace does not belong to the Rust
    team, regardless if/when I join the team.

    I am happy that you bring up my forks of cargo-related package helpers.
    I'd be delighted if they were to be adopted in dh-cargo, as that would
    simplify my packaging. Only reason I haven't filed bugreports was that
    my past interaction with Wimin and Josh regarding the core packaging
    choices of those helper script of yours left me with a very clear
    understanding that the Rust team had made those choices deliberately and
    was not about to negotiate changes to them. As I've mentioned before, if
    I am mistaken and Rust team *is* interested in adopting my changes (not
    only single persons like yourself, and others from the Rust team that
    have discretely reach out to me in recent years) then great: Please do
    tell me if you need help adopting them or perhaps understanding them -
    beyond what I have already attempted to clarify in commit messages here: https://salsa.debian.org/build-common-team/dh-cargo-fork/-/commits/wip/opinionated/


    Kind regards,

    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============v84994821850669223=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYUUdoACgkQLHwxRsGg ASFobQ//U6M2DO+cqtlNuAqqlwQMQbHFP4sJKuAesDH7snA/psnZepTCxQnPnxcY iTf2MUM1b8/zKrwONw7lb+4U/N6/e3UF6IW0GdN2votbIZu/M+igpH9eFiy+XB6J sLUm7k89g2awSv5LzHvgIsyDyKri5VjL/+wUOJfZWZhrHI+6+L2ZBPXPWsKwhey1 wNEF0hQEI6OLKfEYpKp8n6C9sEKpvAPeI4GrAgyI6Z+lcrqfd/jLxgACLukXjfmn eQqr0iywx773MAj36rJugd3i8JjmEzOlbebOIahcJ1PZVoJscbpo++SlqB7AkZeQ 11WlCugLBJo9Pyrt/8jh+UIY95WOea/KQLwSiXxtJpj9w1SHMLr3b2EvW7+IYg7i rgT6wSHs/S7eNAkKYRwSNrr1SRZaBdskNQBfuLzjIiwteur/6iT/iEbqeY0tXveD hXxIsUTqz7hcTTov8r7W3S88b3AntWziTLrNQWHD
  • From James McCoy@21:1/5 to Jonas Smedegaard on Tue Apr 9 03:30:01 2024
    On Mon, Apr 08, 2024 at 10:21:49PM +0200, Jonas Smedegaard wrote:
    ...and about moving on: Can you please also clarify if you understand
    "moving on" as reverting to me maintaining the package that you
    accidentally hijacked, or if you instead understand it as you (on bhalf
    of the Rust team) now having taken over maintainership of that package?

    I've already filed an RM request for src:rust-lazy-regex-proc-macros, so
    your package will prevail.

    Den mån 8 apr. 2024 kl 12:41 skrev James McCoy <jamessan@debian.org>:
    Now, that happens because our tooling is based around a 1:1
    relationship of crate to source package where as you've been
    packaging an entire workspace as a source package. We need to adapt
    our tooling to better detect this so we get accurate information presented to us and avoid stepping on your work.

    Yes, please improve your tooling to better align with Debian packaging
    rules, not assume your team rules apply also outside of your team.

    Having policy for a language ecosystem is pretty common, since that
    makes it easier to interoperate.

    I'd still prefer if we could consolidate our efforts into the rust
    team (and re-integrate your forks of our package helpers), rather
    than have two divergent sources of rust packaging.

    I would also prefer if we could consolidate our efforts, and am open to joining the Rust team and collaborate there, as also stated previously.

    What I am not open to is abandon the one-git-repo-per-source-package packaging style that is commonly practiced in Debian. As I understand
    it, only Haskell and Rust teams use giant-git-for-all-team-packages
    style, and only the Rust team strictly enforce that style (Perl team
    uses myrepos to work across many packages which I recommend you to
    consider).

    When I first started looking into Rust packaging it was initially going
    to be for a workspace of crates. I didn't receive any pushback when I
    asked about taking over the one crate that had already been packaged and handling it from a single source package for that workspace. In the end
    I changed my mind and continued using the monorepo for the rest of the
    crates.

    It makes certain things easier, while using a repo based on upstream git
    makes other things easier. Which method is used is up to the maintainer.
    Not using the monorepo just requires better coordination.

    More important, however, and despite what I can or cannot agree with:
    For as long as the Rust team chooses to deviate from general Debian practices, it *must* constrain those deviated rules to team work, and
    *not* make the flawed assumption that all Rust crates in Debian are
    aligned with Rust team packaging rules. At any time any Debian developer
    may upload a rust-* package - that namespace does not belong to the Rust team, regardless if/when I join the team.

    As far as I know, no one has claimed that we have sole ownership of the
    rust-* namespace. However, we do expect anything using that namespace
    is uploading a package which agrees with upstream's use of that
    namespace. If src:rust-foo or bin:lib-foo-dev is not the same project
    as foo on crates.io, then *that* is a problem.

    The only confusing example I'm aware of is the opposite issue -- no use
    of the rust-* namespace when I was expecting it to be (src:btm rather
    than src:rust-bottom).

    I am happy that you bring up my forks of cargo-related package helpers.
    I'd be delighted if they were to be adopted in dh-cargo, as that would simplify my packaging. Only reason I haven't filed bugreports was that
    my past interaction with Wimin and Josh regarding the core packaging
    choices of those helper script of yours left me with a very clear understanding that the Rust team had made those choices deliberately and
    was not about to negotiate changes to them.

    I'm not sure how broad the sentiment is, but I would certainly like to
    see the workspace handling reintegrated. I've considered that for some
    packages I work on, and I believe others have been interested in it as
    well. I'm not familiar with what other changes have been made, so thank
    you for the pointer to the fork repo.

    Cheers,
    --
    James
    GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Smedegaard@21:1/5 to All on Tue Apr 9 09:30:01 2024
    Quoting James McCoy (2024-04-09 03:25:16)
    On Mon, Apr 08, 2024 at 10:21:49PM +0200, Jonas Smedegaard wrote:
    ...and about moving on: Can you please also clarify if you understand "moving on" as reverting to me maintaining the package that you accidentally hijacked, or if you instead understand it as you (on bhalf
    of the Rust team) now having taken over maintainership of that package?

    I've already filed an RM request for src:rust-lazy-regex-proc-macros, so
    your package will prevail.

    Ah, good to know. Thanks!


    Den mån 8 apr. 2024 kl 12:41 skrev James McCoy <jamessan@debian.org>:
    Now, that happens because our tooling is based around a 1:1 relationship of crate to source package where as you've been
    packaging an entire workspace as a source package. We need to adapt
    our tooling to better detect this so we get accurate information presented to us and avoid stepping on your work.

    Yes, please improve your tooling to better align with Debian packaging rules, not assume your team rules apply also outside of your team.

    Having policy for a language ecosystem is pretty common, since that
    makes it easier to interoperate.

    Yes, team-specific policies exist, to ease work within those teams.

    Team-defined policies do not, however, hold any special powers outside
    of said team, so it is sensible for them to not conflict with general
    Debian packaging policies or assume that all packages *outside* of the
    team are aligned by those team-specific policies - e.g. that a binary
    package containing cargo crate source files must¹ be built from a source package with same name as that cargo crate.

    ¹ "Package naming" in https://wiki.debian.org/Teams/RustPackaging/Policy

    I'd still prefer if we could consolidate our efforts into the rust
    team (and re-integrate your forks of our package helpers), rather
    than have two divergent sources of rust packaging.

    I would also prefer if we could consolidate our efforts, and am open to joining the Rust team and collaborate there, as also stated previously.

    What I am not open to is abandon the one-git-repo-per-source-package packaging style that is commonly practiced in Debian. As I understand
    it, only Haskell and Rust teams use giant-git-for-all-team-packages
    style, and only the Rust team strictly enforce that style (Perl team
    uses myrepos to work across many packages which I recommend you to consider).

    When I first started looking into Rust packaging it was initially going
    to be for a workspace of crates. I didn't receive any pushback when I
    asked about taking over the one crate that had already been packaged and handling it from a single source package for that workspace. In the end
    I changed my mind and continued using the monorepo for the rest of the crates.

    It makes certain things easier, while using a repo based on upstream git makes other things easier. Which method is used is up to the maintainer.
    Not using the monorepo just requires better coordination.

    Well, I received strong pushback by Ximin (on irc - I can share chat log discretely if interested) when I joined the team and published a single-package-repo rust library (possibly the first librust-* in
    Debian), and the pushback and insisting on strong rules imposed for team members lead me to drop that package and leave the team.

    I have since, every time I have been approached by Rust team members and suggested to join the team, shared my concern about the Rust team
    policy, and asked if those policies might have changed, or if those
    approaching me might see a benefit of working towards changing team
    policy.

    I am not quite sure what you are really saying above. Squinting my eyes
    it kinda sounds like you might be open to relaxing team policy. If
    that's the case then that's great news. I look forward to that.

    If you are interested in better understanding my notivation for the
    crisicism I raise towards the Rust team policy, then feel free to reach
    out - I am happy to elaborate.

    More important, however, and despite what I can or cannot agree with:
    For as long as the Rust team chooses to deviate from general Debian practices, it *must* constrain those deviated rules to team work, and
    *not* make the flawed assumption that all Rust crates in Debian are
    aligned with Rust team packaging rules. At any time any Debian developer may upload a rust-* package - that namespace does not belong to the Rust team, regardless if/when I join the team.

    As far as I know, no one has claimed that we have sole ownership of the rust-* namespace.

    Sorry if my phrasing came across as such strong allegation.

    What I meant to imply was not explicit *claim* of ownership but merely *assumptions* about team-specific policies applying Debian-wide.

    However, we do expect anything using that namespace
    is uploading a package which agrees with upstream's use of that
    namespace. If src:rust-foo or bin:lib-foo-dev is not the same project
    as foo on crates.io, then *that* is a problem.

    How is that a problem for Debian (not for Rust team tooling)?

    Can introducing some asset to crates.io affect stability of Debian?

    The only confusing example I'm aware of is the opposite issue -- no use
    of the rust-* namespace when I was expecting it to be (src:btm rather
    than src:rust-bottom).

    Sounds like you are talking about Rust team tooling assumptions here,
    not Debian-wide consistency.

    I am happy that you bring up my forks of cargo-related package helpers.
    I'd be delighted if they were to be adopted in dh-cargo, as that would simplify my packaging. Only reason I haven't filed bugreports was that
    my past interaction with Wimin and Josh regarding the core packaging choices of those helper script of yours left me with a very clear understanding that the Rust team had made those choices deliberately and was not about to negotiate changes to them.

    I'm not sure how broad the sentiment is, but I would certainly like to
    see the workspace handling reintegrated. I've considered that for some packages I work on, and I believe others have been interested in it as
    well. I'm not familiar with what other changes have been made, so thank
    you for the pointer to the fork repo.

    Happy that you see some use for my work. Again, please tell if you are
    in need of some clarification about it.


    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============99586386911483915=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYU7bYACgkQLHwxRsGg ASFXRg/+NmdK1WGq0KLvOBCFPQC3iXVP69zAtOJG4rLbfYhbXtQBAAJnflUr5+19 6cXJU/E+8G2x6xN5RvyJHYUGfZbW02MBgl4aMAjN7BT6vkeaHqM7cJhuMzZx9WYo AK7ABHcJ3CawQ4MA2/R92Twc49/KZ8fd8LI4zEO04ukaFUW8HazmEwDqgUKNUlan cldxmhE8L/qGO4dR+kEjiOQGkMh3xlFwfP5KMtFOZmR91m1XennxeQEbVsApssJy P+QH+e7/cLhkkFyrZRbiQpSP9sVjPR68nEyonnzgAWoJBIgR64M4EtkopyC3i8Kl da3ZQED1YoU8JjF9PDJtrmBt+oQJKqbEcF8PjTLwbkIeAm1UqI3uLOhOjIZCUOTl Vr5dG+Y6pW8dZHpD7FJcqEjX1i6VxsCvVByab4ChbNb2gujMC6J62N24MTZmvloo jAOb/P9imsXx9APZO6qB5diuJO8FzBxMJLw1u+Tk
  • From Jonas Smedegaard@21:1/5 to All on Wed Apr 17 11:40:01 2024
    Quoting Jonathan Dowland (2024-04-17 11:14:20)
    On Mon Apr 8, 2024 at 9:21 PM BST, Jonas Smedegaard wrote:
    What I am not open to is abandon the one-git-repo-per-source-package packaging style that is commonly practiced in Debian. As I understand
    it, only Haskell and Rust teams use giant-git-for-all-team-packages
    style

    I've never interacted with any Rust packaging.

    For Haskell, I believe there are sound technical reasons for the
    monorepo. I have found that trying to contribute fixes to Haskell
    packages is difficult because it is so different from Debian convention.
    I think that's important, so a decision to use a monorepo should not
    be taken lightly.

    Interesting: Can you elaborate on those examplary contributions of yours
    which highlighted a need for maintaining all Haskell packages in same
    git repo?

    (or did I misunderstand your point?)

    Also, for the record (as the above could be misread as such):

    I do not take such decision lightly.


    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============H91120290599876622=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYfmLwACgkQLHwxRsGg ASEjUA//X3LsRl9A/ck6NOHrG3Sz7O/YFt9VhpTDhMNRJDNvAPclnWwIX+oKVjVc BeS1bxmD5qa0n8Ql6UyDryeqBTIWv0qtVdhJoAJT14bUluDRyhlJ7ZfRABkw6xyZ pXTnVGf6VP/t4fx2X76oss+DjjQytCJ6IXEVgtjxLAvrUW7HooWhZbwRG4RLhY1p iiSrXxrAJy7EU5CfwJwzJzJ1ZIimFioP1cQbJcxBnpxc+TzoRampK46l9EHF60fu pw0Fc8xtB0VKm9bZ+sxu/9bngT8AwGjTwDcJPXwlAD5YnbWPNzqo/Ffpv8s32aeh lYTpJMU97L5id66Zpd2afrx0KZhEIklKhQMkxmx/MmGpYgeWP8QbfXsJHXlQ2MfF agKjwwLjLB64NXYqSeW/KDnVqHgJ/A8ZEYwpfxj8RC//duP1o7SFu51a71DBT1vl 1INxlkMzBTNMc5qdJ6u7oQ3gWie/OnFFqQvEH+0b
  • From Jonathan Dowland@21:1/5 to Jonas Smedegaard on Wed Apr 17 11:20:01 2024
    On Mon Apr 8, 2024 at 9:21 PM BST, Jonas Smedegaard wrote:
    What I am not open to is abandon the one-git-repo-per-source-package packaging style that is commonly practiced in Debian. As I understand
    it, only Haskell and Rust teams use giant-git-for-all-team-packages
    style

    I've never interacted with any Rust packaging.

    For Haskell, I believe there are sound technical reasons for the
    monorepo. I have found that trying to contribute fixes to Haskell
    packages is difficult because it is so different from Debian convention.
    I think that's important, so a decision to use a monorepo should not
    be taken lightly.

    --
    Please do not CC me for listmail.

    👱🏻 Jonathan Dowland
    jmtd@debian.org
    🔗 https://jmtd.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Dowland@21:1/5 to Jonas Smedegaard on Wed Apr 17 17:30:01 2024
    On Wed Apr 17, 2024 at 10:39 AM BST, Jonas Smedegaard wrote:
    (or did I misunderstand your point?)

    You misunderstood my point: I was actually supporting your position.

    You've read it entirely backwards.

    Interesting: Can you elaborate on those examplary contributions of yours which highlighted a need for maintaining all Haskell packages in same
    git repo?

    My Haskell contributions (which I did not enumerate) are tangential to
    the use of a monorepo. But it strikes me as an odd choice for you to
    describe them as examplary. Paired with you seeming to file me on "the
    opposing side", your mail reads to me as unnecessarily snarky.

    --
    Please do not CC me for listmail.

    👱🏻 Jonathan Dowland
    jmtd@debian.org
    🔗 https://jmtd.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Russ Allbery@21:1/5 to Jonas Smedegaard on Wed Apr 17 20:00:01 2024
    Jonas Smedegaard <dr@jones.dk> writes:
    Quoting Jonathan Dowland (2024-04-17 17:29:11)
    On Wed Apr 17, 2024 at 10:39 AM BST, Jonas Smedegaard wrote:

    Interesting: Can you elaborate on those examplary contributions of
    yours which highlighted a need for maintaining all Haskell packages in
    same git repo?

    My Haskell contributions (which I did not enumerate) are tangential to
    the use of a monorepo. But it strikes me as an odd choice for you to
    describe them as examplary. Paired with you seeming to file me on "the
    opposing side", your mail reads to me as unnecessarily snarky. Please
    do not CC me for listmail.

    I can see why it might come across as snarky. It was not intended that
    way.

    I just meant to write describe your contributions as examples, but I
    realize now that with your emphasizing it that I wrongly described them
    as extraordinary examples.

    I suspect (based on Jonas's domain) this is one of those subtle problems
    when English isn't your first language. The English language is full of
    weird connotation traps.

    For anyone else who may not be aware of this subtle shade of meaning, an English dictionary will partly lie to you about the common meaning of "exemplary" (which I assume is what Jonas meant by "examplary"). Yes, it
    means "serving as an example," but it specifically means serving as an
    *ideal* example: something that should be held up as being particularly excellent or worthy of imitation.

    If you ask someone "could you elaborate on your exemplary contributions,"
    a native English speaker is going to assume you're being sarcastic about
    90% of the time. In common usage, that phrase usually carries a tone
    closer to "please do enlighten us about your amazing contributions" than
    what Jonas actually intended.

    I keep having to remind myself of this in Debian since many Debian
    contributors have *excellent* written English skills (certainly massively bettern than my language skills in any language other than English), so
    it's easy to fall into the trap of assuming that they're completely
    fluent, but English is full of problems like this that will trip up even
    highly advanced non-native speakers.

    --
    Russ Allbery (rra@debian.org) <https://www.eyrie.org/~eagle/>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Smedegaard@21:1/5 to All on Wed Apr 17 19:20:01 2024
    [replying list-only - unable to identify who is subscribed]

    Quoting Jonathan Dowland (2024-04-17 17:29:11)
    On Wed Apr 17, 2024 at 10:39 AM BST, Jonas Smedegaard wrote:
    (or did I misunderstand your point?)

    You misunderstood my point: I was actually supporting your position.

    Oh!

    You've read it entirely backwards.

    Interesting: Can you elaborate on those examplary contributions of yours which highlighted a need for maintaining all Haskell packages in same
    git repo?

    My Haskell contributions (which I did not enumerate) are tangential to
    the use of a monorepo. But it strikes me as an odd choice for you to
    describe them as examplary. Paired with you seeming to file me on "the opposing side", your mail reads to me as unnecessarily snarky.
    Please do not CC me for listmail.

    I can see why it might come across as snarky. It was not intended that
    way.

    I just meant to write describe your contributions as examples, but I
    realize now that with your emphasizing it that I wrongly described them
    as extraordinary examples.

    I am still curious what you meant - regardless if pro or con Haskell
    team packaging style.


    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============e30062008307762447=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYgA4UACgkQLHwxRsGg ASGWxw/+O7gYBK2sV3wIrqiwxH9NLE0Cvy0Q+dsFNp1DQuZWys0Q2hsAapho3b5E 3eMcS9QJBZPglQxg41474vxcVKdHBZAB1i0TyFMY0oPjmsFg4VWNQN1hNJnQTYjo uYhhBVDbopVlDZ5KzY5TBkMLSRMfkWTuIupdNB0EiGgrZb9+EGIr7wBtVfnJqW6k cvLz0U0pIm01DHkcEA6/Q0xxBr3OHKdP1CLSjJo9yAw0x1wu9vuLNX8Cx6oWtjWB b/ArfR4Kr0hoGBnQ/JA4AXmOg47vmMPLgEdZtEhQjsFaKY1dDVO6cRYYsZyU6S0Z y+HqL4RUYoPYnwVZRYVaBB1cWsYnA21zB90nj0c9z851VVG9pxKSWiBXULDS2UTW OcpJWE0MFN0ik1W+bNwffJ1s4KYmMDDa2SqwCWQ5LjtHkJjmKdHLXDVqzqJ1ZtQJ 03Ad4Lfst79ZSagp90s0y6JngmE60MGx4rFxe6YG
  • From Jonas Smedegaard@21:1/5 to All on Wed Apr 17 20:30:01 2024
    Quoting Russ Allbery (2024-04-17 19:53:06)
    Jonas Smedegaard <dr@jones.dk> writes:
    Quoting Jonathan Dowland (2024-04-17 17:29:11)
    On Wed Apr 17, 2024 at 10:39 AM BST, Jonas Smedegaard wrote:

    Interesting: Can you elaborate on those examplary contributions of
    yours which highlighted a need for maintaining all Haskell packages in >>> same git repo?

    My Haskell contributions (which I did not enumerate) are tangential to
    the use of a monorepo. But it strikes me as an odd choice for you to
    describe them as examplary. Paired with you seeming to file me on "the
    opposing side", your mail reads to me as unnecessarily snarky. Please
    do not CC me for listmail.

    I can see why it might come across as snarky. It was not intended that way.

    I just meant to write describe your contributions as examples, but I realize now that with your emphasizing it that I wrongly described them
    as extraordinary examples.

    I suspect (based on Jonas's domain) this is one of those subtle problems
    when English isn't your first language. The English language is full of weird connotation traps.

    For anyone else who may not be aware of this subtle shade of meaning, an English dictionary will partly lie to you about the common meaning of "exemplary" (which I assume is what Jonas meant by "examplary"). Yes, it means "serving as an example," but it specifically means serving as an *ideal* example: something that should be held up as being particularly excellent or worthy of imitation.

    If you ask someone "could you elaborate on your exemplary contributions,"
    a native English speaker is going to assume you're being sarcastic about
    90% of the time. In common usage, that phrase usually carries a tone
    closer to "please do enlighten us about your amazing contributions" than
    what Jonas actually intended.

    I keep having to remind myself of this in Debian since many Debian contributors have *excellent* written English skills (certainly massively bettern than my language skills in any language other than English), so
    it's easy to fall into the trap of assuming that they're completely
    fluent, but English is full of problems like this that will trip up even highly advanced non-native speakers.

    Thanks for elaboring, Russ.

    To be fair, I _was_ upset (not with Jonathan, but) earlier in this
    thread, which makes it harder to err on the side of a mistake when I
    write something that can be read as being sarcastic.

    Sorry, Jonathan, for being difficult to read here.


    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --=============='62895152208415541=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYgFGsACgkQLHwxRsGg ASGS4Q//e0fiT+Xwpthwv9qKahIBgvaiGmOGQ8NCZxyyncHnhKh6b8905zNWSbmB 8EqLWYzxuVjNxA22/9ZZDubHT45F385HiAgV8wkrebgMKiXdz8PLFse4uBY0X3GJ 4d2z94B0jUCknuWnJldvdjKdUPYcCHis678bCBLtIKmEx/kB6vMaFlnvyyrUYmTQ DsZV6h+5dPiTCct5AmaqvrMubdcDcDKn+jqnjP0jhTCnMjiETh4AllLPUsGCFjxp FXWq6QsGENLh4ZeVSc1g/0ZH/hDWbha3/NPSK/GdRqAdoPLOsO+j54XpW6eoGTbG NcO2OLNTDp4oKqTke51iAZQsOz1B6deXmFLpJiHXEKUwqK24Bx7+xPCB/2BCJEpO 9QqyyLFXEoe/DrcxCM9SPWBLKmjJSEnx/RfdTlqGm9fi4QKpewV9p7kJtfiX4I8Y EvPWbsRFP26tTQYNnrOfIkPlMp7U4tJ+JnPeRN9o
  • From Jonathan Dowland@21:1/5 to Jonas Smedegaard on Thu Apr 18 09:40:02 2024
    On Wed Apr 17, 2024 at 7:26 PM BST, Jonas Smedegaard wrote:
    To be fair, I _was_ upset (not with Jonathan, but) earlier in this
    thread, which makes it harder to err on the side of a mistake when I
    write something that can be read as being sarcastic.

    I would be upset too if my packages were repeatedly hijacked.

    Sorry, Jonathan, for being difficult to read here.

    No problem: Sorry for lapsing in assuming good faith on my part.

    WRT Haskell and the monorepo, I've just done a bit of digging to try and
    remind myself why it was necessary, and I've not found a satisfactory
    answer. Perhaps there isn't one! [1] says it's "easier to update them
    in bulk" which, in isolation, I personally don't think is sufficient for
    the trade-off.

    I've just noticed that you upload Pandoc, and it (thankfully) is in an individual repo. You don't build a library package, perhaps that's
    relevant. I haven't traced the history that results in there being a
    separate haskell-pandoc source package yet.

    [1] https://lists.debian.org/debian-haskell/2024/02/msg00001.html
    [2] https://tracker.debian.org/pkg/haskell-hakyll

    --
    Please do not CC me for listmail.

    👱🏻 Jonathan Dowland
    jmtd@debian.org
    🔗 https://jmtd.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Timo =?utf-8?Q?R=C3=B6hling?=@21:1/5 to All on Thu Apr 18 10:20:01 2024
    Hi,

    * Jonathan Dowland <jmtd@debian.org> [2024-04-18 08:35]:
    Sorry, Jonathan, for being difficult to read here.
    No problem: Sorry for lapsing in assuming good faith on my part.

    The way both of you handled this misunderstanding was... exemplary.

    SCNR
    Timo

    --
    ⢀⣴⠾⠻⢶⣦⠀ ╭────────────────────────────────────────────────────╮
    ⣾⠁⢠⠒⠀⣿⡁ │ Timo Röhling │
    ⢿⡄⠘⠷⠚⠋⠀ │ 9B03 EBB9 8300 DF97 C2B1 23BF CC8C 6BDD 1403 F4CA │
    ⠈⠳⣄⠀⠀⠀⠀ ╰────────────────────────────────────────────────────╯

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

    iQIzBAEBCgAdFiEEmwPruYMA35fCsSO/zIxr3RQD9MoFAmYg100ACgkQzIxr3RQD 9Mp9Jw//YfRiDhodUGAPDluKCMm1IUDgWqeDFbZc24iGn3ds1+QZsKkqp+pCk1mV tcu5Q8zglqa8d3j/YF6ZY/aJpssHIAPevgBZbaesA6LIy8In9+YEUEwW0uUYCrls aw1TFY2hWOVN4gFuQusz/dTHwtoMfGhyPrqy+cU17he0sFTiu9OmpPeW7Nrs8+l5 rnMBwI5K8TPfeS8S0ZuGBc48FBbLXhotAnWyBv5yxGLifainm4m6dpku7UbxWvZB H424OELS5I9GNvCuyqnJ7DE0U9CcWVfxuV8+1korT57wQp0PVuh1AeYQJH4kPf5c sM6yWMX5D/qb1P9wjg+5AEu1dC9cElkNO48eqjKAPqk
  • From Jonas Smedegaard@21:1/5 to All on Thu Apr 18 21:50:01 2024
    Quoting Jonathan Dowland (2024-04-18 09:35:41)
    On Wed Apr 17, 2024 at 7:26 PM BST, Jonas Smedegaard wrote:
    To be fair, I _was_ upset (not with Jonathan, but) earlier in this
    thread, which makes it harder to err on the side of a mistake when I
    write something that can be read as being sarcastic.

    I would be upset too if my packages were repeatedly hijacked.

    Sorry, Jonathan, for being difficult to read here.

    No problem: Sorry for lapsing in assuming good faith on my part.

    WRT Haskell and the monorepo, I've just done a bit of digging to try and remind myself why it was necessary, and I've not found a satisfactory
    answer. Perhaps there isn't one! [1] says it's "easier to update them
    in bulk" which, in isolation, I personally don't think is sufficient for
    the trade-off.

    I agree with your view.

    The need for efficiency is the reason that I mentined in my rant
    previously that the Perl team has made use of myrepos to kinda get a bit
    of both: Track each package in independent VCS, while easing sweeping operations across a pile of similarly structured packages.

    I've just noticed that you upload Pandoc, and it (thankfully) is in an individual repo. You don't build a library package, perhaps that's
    relevant. I haven't traced the history that results in there being a
    separate haskell-pandoc source package yet.

    [1] https://lists.debian.org/debian-haskell/2024/02/msg00001.html
    [2] https://tracker.debian.org/pkg/haskell-hakyll

    Until recently, Debian source package src:pandoc provided binary
    packages pandoc (containing an executable binary) and ghc-pandoc-dev (containing a Haskell library). I never liked the Haskell team
    giant-git-repo thingy, and that source package has been mainained in an independent git repo, with collaboration and coordination with the
    Haskell team on doing that. The reason for the split was changes to
    upstream tooling (instead of building lib and binary in concert, they
    were split into separate git repos and building binary would need
    library already built), combined with infexible tooling in Debian
    (Haskell libraries still rely on CDBS which in itself can handle
    chainloaded builds but it is tricky to do right and even more tricky to
    do so with the Haskell-specific CDBS addons). I tried but gave up, and
    handed over maintenance of the Pandoc library part to the Haskell team.

    I also maintain a few other Haskell libraries and binaries, also outside
    of the Haskell team giant-git-repo thingy. The Haskell team tolerate
    that.

    I am unaware if I am alone in maintaining Haskell packages outside of
    the team giant-git-repo thingy.

    - Jonas

    --
    * Jonas Smedegaard - idealist & Internet-arkitekt
    * Tlf.: +45 40843136 Website: http://dr.jones.dk/
    * Sponsorship: https://ko-fi.com/drjones

    [x] quote me freely [ ] ask before reusing [ ] keep private --==============542230877510287916=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

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

    iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmYheCcACgkQLHwxRsGg ASGRdA//Q8upVhkbxOFEFkBzAspts+NzMz+xH4OSaUXpR6u6zg4x/7F3eeBZ1XKF CdOlYXkDP13VaVKQoKP/EM7T+oITUAoTNN6cxmtEAKcvPRfIaiHnVyoH3dmqEIxH aPxBaEDjzs+CQOohQ/cU89uJyfUyuVWYCwOR9q7zzVDeFKvncS1B3CVF9T6R9wMJ sBFOdTzrlo1oS3HIe/s1jejzZz+W6RtbI1qMHLo5rT+kw7xmzjz0kzBPZWm35XdF 5O3HJXIy8f2rvJ2f7YcmelwQMBwTVd9jlFRwwYxRlxmCMejPzXjPZ6kyRo0am2mu 0ce/bWi/HqZY3BQ7P5+GHYAZ5KJV/9jtUtPE1xue+xx+JUxUibShtpdf15OzfPHe DJKAFD98uT9lhb3ppYXXRQjdoJeTxFMdbVrXKABex+pSSOb/BY+kzSCftUZqKyYW sdtzXhR//eD94QzyH2R4pyPInTnZOSDMVFkKQoGE
  • From Sean Whitton@21:1/5 to Jonas Smedegaard on Sun Apr 28 17:30:01 2024
    Hello,

    On Thu 18 Apr 2024 at 09:44pm +02, Jonas Smedegaard wrote:

    I am unaware if I am alone in maintaining Haskell packages outside of
    the team giant-git-repo thingy.

    I wouldn't maintain libraries outside of the monorepo but typically
    programs are maintained outside of it.
    I maintain git-annex and git-repair outside of the monorepo.

    --
    Sean Whitton

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

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

    iQJNBAEBCgA3FiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAmYuah0ZHHNwd2hpdHRv bkBzcHdoaXR0b24ubmFtZQAKCRBpW3rkvwZiQIp7EACF+Gr1X5WEnWsYVVWyHj7g 2UDU0hOKfrnWuKnKorUOI0VAZDJ2OEkpF/OszTIs86tiEE9LWjvozKJMnMMKGMnm T0wk44xhEdJ2P+OTyay9+kAArzRXlrbbA4A436k3dzHbnSMkLv2Pw/jt7fQ+byfw 311YWIcEfGb7SPXLHmc6RoC8yLe4/N7vYDPzHouwDcqWhd4GQ8G7lN+yxEd26QsB oz/R5B9ismZa484LQgzK6C4yEX877pWyK2H1jVBPBP8E5XLPkE6h5K6KoFn/+ZvC lsQHk75auEa3yph3g0CN6UvTxgSa4wGpFdhUnJ4d9zMtyaq1J+oWNyzYQO7GqnQX QKKV2b0/F2PQH4hUE3yyRQ0b8U1hm83XevwYeoUY3c88aY1jWRUc9+FtUOJlXS03 F2W4iZKzHpJ1O/XdgyMrswAifqUoNg/kCuV5RthPH0mU1xn9YhP/JEk9+wm6BHD1 bDTPLEQlS0fVI/xjGSdiiD1r8sqrEUq77t0nf82a1Ug6rZcpiFzNUFUV/PN2LlQS B3X4thN/dNunGY1Rw04yFRtve6/CeH4eCTwVZXXnX17dlN/R9erCK4DxmzG2ChEL kqbV6QwDtEdksAqaqbnpaPXg4lV8nOgjzxzEN8dCseU6cWtHN59qh6lQZC87A78w FuDmSi/lZzpAfQUvlgT54w==SXp7
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Us