• Please help me fix the build pipeline for apt-listchanges on Salsa, whi

    From Jonathan Kamens@21:1/5 to All on Sun Sep 1 01:50:01 2024
    This is a multi-part message in MIME format. SGV5IGZvbGtzLA0KDQpJIGhhZCB0byBzdGVwIGF3YXkgZnJvbSB3b3JraW5nIG9uIGFwdC1s aXN0Y2hhbmdlcyANCjxodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvZGViaWFuL2FwdC1saXN0 Y2hhbmdlcy8+IGZvciBxdWl0ZSBhIHdoaWxlIA0KKG5lYXJseSBhIHllYXIpLCBhbmQgdXBv biBzdGVwcGluZyBiYWNrIGludG8gaXQgdG9kYXkgYW5kIHB1c2hpbmcgc29tZSANCmNoYW5n ZXMgdG8gU2Fsc2EsIEkgZGlzY292ZXJlZCB0aGF0IHRoZSBidWlsZCBwaXBlbGluZeKAlHdo aWNoIGlzIA0KY29uZmlndXJlZCBvdXRzaWRlIG15IFNhbHNhIHByb2plY3Qgc28gYXMgZmFy IGFzIEkga25vdyBJIGFtIHVuYWJsZSB0byANCm1vZGlmeSBpdOKAlGlzIGZhaWxpbmcuIFNl ZSwgZm9yIGV4YW1wbGUsIHRoaXMgam9iIA0KPGh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9k ZWJpYW4vYXB0LWxpc3RjaGFuZ2VzLy0vam9icy82MjExMjQ2I0wxMDg5PiwgDQppbiBwYXJ0 aWN1bGFyIChub3RlIHRoZSBsaW5lIGluIGJvbGQpOg0KDQogICAgLi4uDQogICAgfGRoIGNs ZWFuIC0td2l0aCBweXRob24zIC0tYnVpbGRzeXN0ZW09cHlidWlsZCBkaF9hdXRvX2NsZWFu DQogICAgLU8tLWJ1aWxkc3lzdGVtPXB5YnVpbGQgSTogcHlidWlsZCBiYXNlOjMxMTogcHl0 aG9uMy4xMiBzZXR1cC5weQ0KICAgIGNsZWFuIC91c3IvbGliL3B5dGhvbjMvZGlzdC1wYWNr YWdlcy9zZXR1cHRvb2xzL19faW5pdF9fLnB5Ojg4Og0KICAgIF9EZXByZWNhdGVkSW5zdGFs bGVyOiBzZXR1cHRvb2xzLmluc3RhbGxlciBhbmQgZmV0Y2hfYnVpbGRfZWdncyBhcmUNCiAg ICBkZXByZWNhdGVkLiAhIQ0KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICAg UmVxdWlyZW1lbnRzIHNob3VsZCBiZSBzYXRpc2ZpZWQgYnkgYSBQRVAgNTE3IGluc3RhbGxl ci4gSWYgeW91IGFyZQ0KICAgIHVzaW5nIHBpcCwgeW91IGNhbiB0cnkgYHBpcCBpbnN0YWxs IC0tdXNlLXBlcDUxN2AuDQogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgICAh ISBkaXN0LmZldGNoX2J1aWxkX2VnZ3MoZGlzdC5zZXR1cF9yZXF1aXJlcykgKi91c3IvYmlu L3B5dGhvbjMuMTI6DQogICAgTm8gbW9kdWxlIG5hbWVkIHBpcCogVHJhY2ViYWNrIChtb3N0 IHJlY2VudCBjYWxsIGxhc3QpOiAuLi58DQoNCkJvdGggZGVidWlsZCBhbmQgc2J1aWxkIHdv cmsgZmluZSB3aGVuIEkgcnVuIHRoaXMgYnVpbGQgbG9jYWxseSwgaXQncyANCmp1c3QgdGhl IFNhbHNhIHBpcGVsaW5lIHRoYXQncyBmYWlsaW5nLg0KDQpBbnkgYWR2aWNlIGFib3V0IHdo YXQgdG8gZG8gaGVyZSB0byBmaXggdGhpcz8NCg0KVGhhbmtzLA0KDQpqaWsNCg0KDQp8DQp8 fHwNCg0K
    <!DOCTYPE html>
    <html>
    <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <p>Hey folks,</p>
    <p>I had to step away from working on <a
    href="https://salsa.debian.org/debian/apt-listchanges/">apt-listchanges</a>
    for quite a while (nearly a year), and upon stepping back into it
    today and pushing some changes to Salsa, I discovered that the
    build pipeline—which is configured outside my Salsa project so as
    far as I know I am unable to modify it—is failing. See, for
    example, <a href="https://salsa.debian.org/debian/apt-listchanges/-/jobs/6211246#L1089"
    moz-do-not-send="true">this job</a>, in particular (note the
    line in bold):</p>
    <blockquote>
    <pre>...
    <code data-testid="job-log-content" class="job-log gl-display-block"><span
    class="gl-white-space-pre-wrap">dh clean --with python3 --buildsystem=pybuild
    dh_auto_clean -O--buildsystem=pybuild
    I: pybuild base:311: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/__init__.py:88: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
    !!
    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    ********************************************************************************
    !!
    dist.fetch_build_eggs(dist.setup_requires)
    <b>/usr/bin/python3.12: No module named pip</b>
    Traceback (most recent call last):
    ...</span></code></pre>
    </blockquote>
    <p>Both debuild and sbuild work fine when I run this build locally,
    it's just the Salsa pipeline that's failing.<br>
    </p>
    <p>Any advice about what to do here to fix this?</p>
    <p>Thanks,</p>
    <p>jik</p>
    <p><br>
    </p>
    <p><code data-testid="job-log-content"
    class="job-log gl-display-block"><span
    class="gl-white-space-pre-wrap"><br>
    </span></code><code data-testid="job-log-content"
    class="job-log gl-display-block"><span
    class="gl-white-space-pre-wrap"></span></code></p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrea Pappacoda@21:1/5 to Jonathan Kamens on Sun Sep 1 09:10:01 2024
    --5789fd4a35df65b39fd81f304b73766b423bd4f6cfc2764b03ef0d8a34cf Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain; charset=UTF-8; format=Flowed

    Hi Jonathan,

    On Sun Sep 1, 2024 at 1:06 AM CEST, Jonathan Kamens wrote:
    I had to step away from working on apt-listchanges <https://salsa.debian.org/debian/apt-listchanges/> for quite a while
    (nearly a year), and upon stepping back into it today and pushing some changes to Salsa, I discovered that the build pipeline—which is
    configured outside my Salsa project so as far as I know I am unable to modify it—is failing.

    It is possible that your build dependencies are wrong. You should make
    sure that it is possible to run the "clean" target while only satifying
    the dependencies you've listed in Build-Depends, ignoring Build-Depends-{Arch,Indep}. This is explained in Policy, section 7.7.

    The "build source" job you've linked to recently started only installing packages from Build-Depends in order to speed up the step (see <https://salsa.debian.org/salsa-ci-team/pipeline/-/merge_requests/537>),
    so it is likely that this change revealed the issue to you only now.
    Sorry for the breakage!

    If you're unsure whether a dependency should be in Build-Depends or Build-Depends-Indep and you don't want to spend time figuring it out,
    I'd just put it in Build-Depends. But in your specific case you have to
    put python3-pytest and python3-yaml in Build-Depends since they're
    required in the setup.py script.

    Bye :)

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

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

    iIoEABYIADIWIQS6VuNIvZRFHt7JcAdKkgiiRVB3pwUCZtQSyBQcYW5kcmVhQHBh cHBhY29kYS5pdAAKCRBKkgiiRVB3p+kWAQDj7HKxmUAW/Rebm2QfAPK+1LcR4xAF 2PpWisflUwrwcgD/XeSs0NM8WMUkOiQA5RSGhM9FV2K8ojBHAVODjrvqvgU=y+zv
    -----END PGP SIGNATURE-----

    --5789fd4a35df65b39fd81f304b73766b423bd4f6cfc2764b03ef0d8a34cf--

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrey Rakhmatullin@21:1/5 to Jonathan Kamens on Sun Sep 1 13:00:01 2024
    On Sat, Aug 31, 2024 at 07:06:30PM -0400, Jonathan Kamens wrote:
    Hey folks,

    I had to step away from working on apt-listchanges <https://salsa.debian.org/debian/apt-listchanges/> for quite a while (nearly a year), and upon stepping back into it today and pushing some changes to Salsa, I discovered that the build pipeline—which is configured outside my Salsa project so as far as I know I am unable to modify it—is failing. See, for example, this job <https://salsa.debian.org/debian/apt-listchanges/-/jobs/6211246#L1089>, in particular (note the line in bold):

    ...
    |dh clean --with python3 --buildsystem=pybuild dh_auto_clean
    -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py
    clean /usr/lib/python3/dist-packages/setuptools/__init__.py:88:
    _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are
    deprecated. !!
    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer. If you are
    using pip, you can try `pip install --use-pep517`.
    ********************************************************************************
    !! dist.fetch_build_eggs(dist.setup_requires) */usr/bin/python3.12:
    No module named pip* Traceback (most recent call last): ...|

    Both debuild and sbuild work fine when I run this build locally, it's just the Salsa pipeline that's failing.

    Any advice about what to do here to fix this?

    It didn't install B-D-Indep, because it only wanted to run clean, and to
    run clean your package actually needs at least pyyaml and pytest, per `setup_requires`, and maybe more.

    sbuild -s --no-arch-all --no-arch-any fails with the same error.

    --
    WBR, wRAR

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

    iQJgBAABCgBLFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmbURs8tFIAAAAAAFQAP cGthLWFkZHJlc3NAZ251cGcub3Jnd3JhckBkZWJpYW4ub3JnAAoJEDNi9wMaSZLh /O8P+K3o1vHoZ5dqkqlYYZIgW8KjyyQ7n71+gi2VD198xSdt0y8cLBBavS87Mtr5 dfcimhNsG+1rGySboFO5qkSkHn1KcbpfwKzoMg1YEuOVFrRqB4kjNPfr5DztMW8U 2zpHOklG0JE773ZDwFOysrPFuqHW+wgLT7HmCQp81S7qxeefoQYmnSN1fAI88Av6 +0fTsEGGUuPCacrtkVZX9NjWmKEnqEmkYy7FJaHqWSFHWVgGUH7guWDSG+Hid7Zg aK9VsDAxkOqUrzGXoA0Oi256CYnKAAwiPLOcQH2mlYIUMUfjbKUfkGDHBBS+h+j5 mn0qFBf/lZXJ4U7w0iP/ogFTamAQ6iukw4hk05O4Qe0Wj7rccZql5dlyuLOHCdGM womLgNwdz7p9fXN61rG5DUP1NmXW+HzisY1kj57KQEQITgUi3JwsojLhYvKzCsSp 5mtujuHTSqixe9lBY1D/rP0uQFL2dujtmFIhmWtC8vDFGESNHGk4OghlOKIkIwc4 YFSLRr75QXBJNin99tUY0AE1Yq7/K5UK8xtROf3NNm6fWrRqiIHjHM2gF+CH2Ulz Am95meEoZCPygcjxI+7jFCCXvjyET8zgvgDbFN17aRvapjWcqVfwQG78Uioi4J/r DPTvMGPiiTwUhOIfhKHiwA2S7j9SOZAu5I+XxfG9O3JVSk0=
    =4+G0
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Philip Hands@21:1/5 to Jonathan Kamens on Sun Sep 1 12:30:01 2024
    Jonathan Kamens <[email protected]> writes:

    Hey folks,

    I had to step away from working on apt-listchanges <https://salsa.debian.org/debian/apt-listchanges/> for quite a while
    (nearly a year), and upon stepping back into it today and pushing some changes to Salsa, I discovered that the build pipeline—which is
    configured outside my Salsa project so as far as I know

    If you look at the repo on Salsa, and find:

    Settings > CI/CD > General Pipelines > CI/CD configuration file

    you'll see it's set to:

    recipes/debian.yml@salsa-ci-team/pipeline

    which is how the pipeline gets it's configuration.

    The documentation is here:

    https://salsa.debian.org/salsa-ci-team/pipeline/

    Even for the simplest configurations, I've concluded that it's better to
    use the approach where one creates a `debian/salsa-ci.yml` file, and
    points to it in the above mentioned setting.

    That way people have something to find in the repo itself, and it gives
    whoever setup CI a place to leave comments about things like any future
    plans they have for CI.

    I should create an MR to that effect (IIRC there was some talk on the
    list about this where that seemed like it might be the consenus).

    Cheers, Phil.
    --
    Philip Hands -- https://hands.com/~phil

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

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

    iQIzBAEBCgAdFiEE3/FBWs4yJ/zyBwfW0EujoAEl1cAFAmbUQF4ACgkQ0EujoAEl 1cDIpA//XKDFdO59hF8jZsCNoGA3jWtU63cpukttgWsUhn0+FtnlHtRA9DZNec6K Qo6WMnxU/eysXdUEW3P/vGTYJeYsQ9SG8if0LgmeEnjZ1ltv5yfNLe8ZBbpr/gbU 4joDFWlSKmHtOWnG4Vh6l+kIGtqQfmXy0nP7yHXDIJPi6+KhL6lGuE0UBd3qpmd0 T5396SU73mGrRmYLxBoqiAFoTJhg4qxlD3iOBlwdxBc9xZHfY404zS9OrHox40sQ 7rzgOSsjohNYzCwUyq6Fbb02hJczHeYiDDLxi1JRl3haDyZmdBF03k8BbKtlAiOY hmkXJcvgk+MotRPTZK5Majzed8iHIG5UQWC0gJ8mNlRSH8YdGAYq+RF+wBqtPd3H j0slgDUu4OS3a01CIV0GDjSIONL5E5huwCxqRgV9vCskwz36pKzxRpeQN0cek2Kq a3q+h64DA31i03TTTwTCoBjMVJBpZhvhjwyO8rc6sZa4ywypVeCsItVWGuq4Z5FR ZJuosCR5OMnQeAZpVoo6dr5zNujt7XzcZM6kbP10M6RwgzG1+XJ3032gA85kquZE MGHM3woBCpLOKOjRBS19fhwIPoUXsFUtFr3wd5yNX6oCBHNkURQY1dQlBfXsUYJz XKxPp0kVDNojI99Wo3XBAq5gEV3cY9Rb55cHjhxhPjNhSigFtFM=yFEf
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gatewa
  • From Colin Watson@21:1/5 to Jonathan Kamens on Sun Sep 1 13:00:01 2024
    On Sat, Aug 31, 2024 at 07:06:30PM -0400, Jonathan Kamens wrote:
    |dh clean --with python3 --buildsystem=pybuild dh_auto_clean
    -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py
    clean /usr/lib/python3/dist-packages/setuptools/__init__.py:88:
    _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are
    deprecated. !!
    ********************************************************************************
    Requirements should be satisfied by a PEP 517 installer. If you are
    using pip, you can try `pip install --use-pep517`.
    ********************************************************************************

    As well as the other replies you've got here, you can fix this
    deprecation warning by adding pybuild-plugin-pyproject to Build-Depends
    so that pybuild will call into Python packaging in a non-deprecated way. (Sometimes that requires other adjustments too, but in this case adding
    the build-dependency on its own is enough.)

    --
    Colin Watson (he/him) [[email protected]]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Kamens@21:1/5 to Philip Hands on Mon Sep 2 03:30:01 2024
    This is a multi-part message in MIME format.
    On 9/1/24 6:22 AM, Philip Hands wrote:
    If you look at the repo on Salsa, and find:

    Settings > CI/CD > General Pipelines > CI/CD configuration file

    you'll see it's set to:

    recipes/debian.yml@salsa-ci-team/pipeline

    which is how the pipeline gets it's configuration.

    The documentation is here:

    https://salsa.debian.org/salsa-ci-team/pipeline/

    Even for the simplest configurations, I've concluded that it's better to
    use the approach where one creates a `debian/salsa-ci.yml` file, and
    points to it in the above mentioned setting.

    I would be delighted to make this change, but I cannot, because for
    whatever reason Russ Allberry opted to make me a Developer on the
    project instead of a Maintainer so I can't see or modify its settings.

    (This is also why I was unable to figure out where the pipeline setting
    was coming from: as a Developer, I can't see it.)

    Over to you, Russ. ;-)

    In any case, thank you to everyone who responded to my request for
    assistance. I was able to fix this Salsa pipeline problem by adding pybuild-plugin-pyproject to Build-Depends as suggested by Colin Watson.

    However, the pipeline is still failing, now in reprotest. For example <https://salsa.debian.org/debian/apt-listchanges/-/jobs/6215633#L1650>.
    Perhaps this is because I haven't yet finalized the changelog for the
    upcoming release so the trailer line is badly formatted. :shrug:

      jik


    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <div class="moz-cite-prefix">On 9/1/24 6:22 AM, Philip Hands wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:[email protected]">
    <pre wrap="" class="moz-quote-pre">If you look at the repo on Salsa, and find:

    Settings &gt; CI/CD &gt; General Pipelines &gt; CI/CD configuration file

    you'll see it's set to:

    recipes/debian.yml@salsa-ci-team/pipeline

    which is how the pipeline gets it's configuration.

    The documentation is here:

    <a class="moz-txt-link-freetext"
    href="https://salsa.debian.org/salsa-ci-team/pipeline/">https://salsa.debian.org/salsa-ci-team/pipeline/</a>

    Even for the simplest configurations, I've concluded that it's better to
    use the approach where one creates a `debian/salsa-ci.yml` file, and
    points to it in the above mentioned setting.</pre>
    </blockquote>
    <p>I would be delighted to make this change, but I cannot, because
    for whatever reason Russ Allberry opted to make me a Developer on
    the project instead of a Maintainer so I can't see or modify its
    settings.</p>
    <p>(This is also why I was unable to figure out where the pipeline
    setting was coming from: as a Developer, I can't see it.)<br>
    </p>
    <p>Over to you, Russ. ;-)</p>
    <p>In any case, thank you to everyone who responded to my request
    for assistance. I was able to fix this Salsa pipeline problem by
    adding pybuild-plugin-pyproject to Build-Depends as suggested by
    Colin Watson.</p>
    <p>However, the pipeline is still failing, now in reprotest. <a href="https://salsa.debian.org/debian/apt-listchanges/-/jobs/6215633#L1650">For
    example</a>. Perhaps this is because I haven't yet finalized the
    changelog for the upcoming release so the trailer line is badly
    formatted. :shrug:<br>
    </p>
    <p>  jik</p>
    <p><br>
    </p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrey Rakhmatullin@21:1/5 to Jonathan Kamens on Mon Sep 2 17:40:02 2024
    On Mon, Sep 02, 2024 at 11:15:50AM -0400, Jonathan Kamens wrote:
    P.S. Wow, diffoscope has a /lot/ of dependencies. I understand why, but still... wow.

    (Note that those are Recommends and that there is diffoscope-minimal)

    --
    WBR, wRAR

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

    iQJhBAABCgBLFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmbV2pAtFIAAAAAAFQAP cGthLWFkZHJlc3NAZ251cGcub3Jnd3JhckBkZWJpYW4ub3JnAAoJEDNi9wMaSZLh KocP/jzRcsTPjXN0ha8jFiF5nn5VHdnH2bTJgMPbznSTWdsVX78Nd/1Db//VqSqQ wNtZwIYWSCHYVV3A+P4LDviY9tzB8obSk2w8pcC+PhvptwTTh7ifmwvLqIUmeL42 CsGC7VSBt4hwIJ/h3sqhp7SacAftdUmepbl9UaFbLBAeG0p6WgSa+AjWUBerH0YE jYctw4vJsLYROqn6MUoQmuzZl9eFMfWF3hjwbeZ0Q1iBUNx9DoH9o7PpDX8/sop2 IIz4A7zuJhkAQYyEQ3qjgrKYoksNk1il2X+rgOqYAkh1RuYaOnvYWR0HUENv9lLD 8YEiPODYRdp6rnABp8Qls6+YWCEf54NIKvT0pQ0mKy1GkDI+hl/UI1cukWXAEOAy jw3UjtaysplJzSJW6M+fvehHK0pcinaNqzrway8Fwwhq3H6/EO/WZgBAhYybPxEK 7Qu2FepBITLWVgFih0kHoACF/Skjac5N1xeuAUVTfETnafEiGywmTXVawsagHXNF k63Xv5st17WzueVEl9TpvgiA2e1SQoSjHFLqZVlbuTTWp6e4zVRiT3iBy3IwHHOP qVppeTFhv6l8zdoKUlBaaZOmZQogZNTsyTKgffbq1MvjsSR0HqmWL1VusJix/ukU 628E+jvJRydr+tr+2PCvdUp06+OhG8LfapVC90FdL4cKWQFP
    =rZUe
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Colin Watson@21:1/5 to Jonathan Kamens on Mon Sep 2 17:50:01 2024
    On Mon, Sep 02, 2024 at 11:15:50AM -0400, Jonathan Kamens wrote:
    I was suggesting that perhaps the root cause of /why/ the .deb files are not identical is because if there's no timestamp in the trailer line of the top changelog entry, that impacts the contents of the .deb.

    IMO your debian/changelog should be syntactically well-formed (per https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog)
    even when you haven't finalized it. The exact value of the timestamp
    isn't very important (you can let "dch" pick something when you first
    add something to the unreleased changelog, and "dch -r" will update it
    when you're ready to make an upload), but it should be present. Leaving
    it empty isn't the usual practice among other developers as far as I've
    seen, and it's just making trouble for yourself.

    --
    Colin Watson (he/him) [[email protected]]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Kamens@21:1/5 to All on Mon Sep 2 17:20:02 2024
    This is a multi-part message in MIME format. T24gOS8yLzI0IDQ6MDkgQU0sIElPaGFubmVzIG0gem3DtmxuaWcgKERlYmlhbiBHTlV8TGlu dXgpIHdyb3RlOg0KPiBPbiA5LzIvMjQgMDM6MTksIEpvbmF0aGFuIEthbWVucyB3cm90ZToN Cj4+IEhvd2V2ZXIsIHRoZSBwaXBlbGluZSBpcyBzdGlsbCBmYWlsaW5nLCBub3cgaW4gcmVw cm90ZXN0LiBGb3IgZXhhbXBsZSANCj4+IDxodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvZGVi aWFuL2FwdC1saXN0Y2hhbmdlcy8tL2pvYnMvNjIxNTYzMyNMMTY1MD4uIA0KPj4gUGVyaGFw cyB0aGlzIGlzIGJlY2F1c2UgSSBoYXZlbid0IHlldCBmaW5hbGl6ZWQgdGhlIGNoYW5nZWxv ZyBmb3IgdGhlIA0KPj4gdXBjb21pbmcgcmVsZWFzZSBzbyB0aGUgdHJhaWxlciBsaW5lIGlz IGJhZGx5IGZvcm1hdHRlZC4gOnNocnVnOg0KPg0KPg0KPg0KPiBub3BlLg0KPiBpdCdzIGZh aWxpbmcsIGJlY2F1c2UgdGhlIC5kZWIgZmlsZXMgYXJlIG5vdCBpZGVudGljYWwuDQoNCkkg dW5kZXJzdGFuZCB0aGF0Lg0KDQpJIHdhcyBzdWdnZXN0aW5nIHRoYXQgcGVyaGFwcyB0aGUg cm9vdCBjYXVzZSBvZiAvd2h5LyB0aGUgLmRlYiBmaWxlcyBhcmUgDQpub3QgaWRlbnRpY2Fs IGlzIGJlY2F1c2UgaWYgdGhlcmUncyBubyB0aW1lc3RhbXAgaW4gdGhlIHRyYWlsZXIgbGlu ZSBvZiANCnRoZSB0b3AgY2hhbmdlbG9nIGVudHJ5LCB0aGF0IGltcGFjdHMgdGhlIGNvbnRl bnRzIG9mIHRoZSAuZGViLg0KDQpBbmQgaW5kZWVkLCBJIGp1c3QgY29uZmlybWVkIHRoYXQg dGhlb3J5LiBJdCBhcHBlYXJzIHRoYXQgd2hlbiB0aGVyZSBpcyANCmEgdGltZXN0YW1wIGlu IHRoZSB0cmFpbGVyIGxpbmUsIHRoZSBidWlsZCBwcm9jZXNzIHVzZXMgdGhhdCB0aW1lc3Rh bXAgDQphcyB0aGUgbW9kaWZpY2F0aW9uIHRpbWUgb2YgYWxsIHRoZSBmaWxlcyBpbiB0aGUg LmRlYiwgYnV0IGlmIHRoZXJlJ3Mgbm8gDQp0aW1lc3RhbXAsIGl0IHVzZXMgdGhlIHRpbWUg d2hlbiB0aGUgYnVpbGQgaXMgcnVuLCBzbyB0aGUgdGltZXN0YW1wcyBhcmUgDQpvYnZpb3Vz bHkgZ29pbmcgdG8gYmUgZGlmZmVyZW50IGZvciB0d28gc2VxdWVudGlhbGx5IHJ1biBidWls ZHMuDQoNClNvIEkgZG9uJ3QgbmVlZCBhYm91dCByZXByb3Rlc3QgZmFpbGluZyB1bnRpbCBJ J3ZlIGZpbmFsaXplZCB0aGUgDQpjaGFuZ2Vsb2cgZm9yIHJlbGVhc2UuDQoNCiDCoMKgIGpp aw0KDQpQLlMuIFdvdywgZGlmZm9zY29wZSBoYXMgYSAvbG90LyBvZiBkZXBlbmRlbmNpZXMu IEkgdW5kZXJzdGFuZCB3aHksIGJ1dCANCnN0aWxsLi4uIHdvdy4NCg0KDQo=
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <div class="moz-cite-prefix">On 9/2/24 4:09 AM, IOhannes m zmölnig
    (Debian GNU|Linux) wrote:<br>
    </div>
    <blockquote type="cite"
    cite="mid:[email protected]">On
    9/2/24 03:19, Jonathan Kamens wrote:
    <br>
    <blockquote type="cite">However, the pipeline is still failing,
    now in reprotest. For example
    <a class="moz-txt-link-rfc2396E" href="https://salsa.debian.org/debian/apt-listchanges/-/jobs/6215633#L1650">&lt;https://salsa.debian.org/debian/apt-listchanges/-/jobs/6215633#L1650&gt;</a>.
    Perhaps this is because I haven't yet finalized the changelog
    for the upcoming release so the trailer line is badly formatted.
    :shrug:
    <br>
    </blockquote>
    <br>
    <br>
    <br>
    nope.
    <br>
    it's failing, because the .deb files are not identical.
    <br>
    </blockquote>
    <p>I understand that.</p>
    <p>I was suggesting that perhaps the root cause of <i>why</i> the
    .deb files are not identical is because if there's no timestamp in
    the trailer line of the top changelog entry, that impacts the
    contents of the .deb.</p>
    <p>And indeed, I just confirmed that theory. It appears that when
    there is a timestamp in the trailer line, the build process uses
    that timestamp as the modification time of all the files in the
    .deb, but if there's no timestamp, it uses the time when the build
    is run, so the timestamps are obviously going to be different for
    two sequentially run builds.</p>
    <p>So I don't need about reprotest failing until I've finalized the
    changelog for release.</p>
    <p>   jik</p>
    <p>P.S. Wow, diffoscope has a <i>lot</i> of dependencies. I
    understand why, but still... wow.</p>
    <p><br>
    </p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Kamens@21:1/5 to Colin Watson on Mon Sep 2 18:00:01 2024
    This is a multi-part message in MIME format.
    On 9/2/24 11:47 AM, Colin Watson wrote:
    On Mon, Sep 02, 2024 at 11:15:50AM -0400, Jonathan Kamens wrote:
    I was suggesting that perhaps the root cause of /why/ the .deb files are not >> identical is because if there's no timestamp in the trailer line of the top >> changelog entry, that impacts the contents of the .deb.
    IMO your debian/changelog should be syntactically well-formed (per https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog)
    even when you haven't finalized it. The exact value of the timestamp
    isn't very important (you can let "dch" pick something when you first
    add something to the unreleased changelog, and "dch -r" will update it
    when you're ready to make an upload), but it should be present. Leaving
    it empty isn't the usual practice among other developers as far as I've
    seen, and it's just making trouble for yourself.

    I leave it empty exactly because the build scripts complain when I do
    that, so that I'll remember to finalize it with the correct date before
    I put out a release.

    I also leave it empty to remind me to review the commit history and make
    sure there isn't anything I forgot to add to the changelog before I do
    the release.

    If I put a placeholder date in it then the odds are that I'll forget to
    update it and the changelog will ship with a date that isn't what I
    wanted to ship with.

    "isn't the usual practice among other developers" <-🤷 I've been doing
    this whole open source software maintenance thing for nearly 40 years.
    I'm kind of OK with sometimes doing things my own way rather than the
    way most other people do it.

    "making trouble for yourself" <- It's the good kind of trouble, IMO. YMMV.

      jik


    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <div class="moz-cite-prefix">On 9/2/24 11:47 AM, Colin Watson wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:[email protected]">
    <pre wrap="" class="moz-quote-pre">On Mon, Sep 02, 2024 at 11:15:50AM -0400, Jonathan Kamens wrote:
    </pre>
    <blockquote type="cite">
    <pre wrap="" class="moz-quote-pre">I was suggesting that perhaps the root cause of /why/ the .deb files are not
    identical is because if there's no timestamp in the trailer line of the top changelog entry, that impacts the contents of the .deb.
    </pre>
    </blockquote>
    <pre wrap="" class="moz-quote-pre">
    IMO your debian/changelog should be syntactically well-formed (per
    <a class="moz-txt-link-freetext" href="https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog">https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog</a>)
    even when you haven't finalized it. The exact value of the timestamp
    isn't very important (you can let "dch" pick something when you first
    add something to the unreleased changelog, and "dch -r" will update it
    when you're ready to make an upload), but it should be present. Leaving
    it empty isn't the usual practice among other developers as far as I've
    seen, and it's just making trouble for yourself.
    </pre>
    </blockquote>
    <p>I leave it empty exactly because the build scripts complain when
    I do that, so that I'll remember to finalize it with the correct
    date before I put out a release.</p>
    <p>I also leave it empty to remind me to review the commit history
    and make sure there isn't anything I forgot to add to the
    changelog before I do the release.<br>
    </p>
    <p>If I put a placeholder date in it then the odds are that I'll
    forget to update it and the changelog will ship with a date that
    isn't what I wanted to ship with.</p>
    <p>"isn't the usual practice among other developers" &lt;-<img
    width="20" height="20" align="middle"
    style="width: 3ex; height: 3ex; min-width: 20px; min-height: 20px; display: inline-block; margin: 0 .15em .2ex; line-height: normal; vertical-align: middle"
    class="joypixels" alt="🤷" src="https://cdn.jsdelivr.net/gh/joypixels/[email protected]/png/64/1f937.png"> I've
    been doing this whole open source software maintenance thing for
    nearly 40 years. I'm kind of OK with sometimes doing things my own
    way rather than the way most other people do it.<br>
    </p>
    <p>"making trouble for yourself" &lt;- It's the good kind of
    trouble, IMO. YMMV.</p>
    <p>  jik</p>
    <p><br>
    </p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonas Smedegaard@21:1/5 to All on Mon Sep 2 18:20:01 2024
    Quoting Jonathan Kamens (2024-09-02 17:52:42)
    On 9/2/24 11:47 AM, Colin Watson wrote:
    On Mon, Sep 02, 2024 at 11:15:50AM -0400, Jonathan Kamens wrote:
    I was suggesting that perhaps the root cause of /why/ the .deb files are not
    identical is because if there's no timestamp in the trailer line of the top
    changelog entry, that impacts the contents of the .deb.
    IMO your debian/changelog should be syntactically well-formed (per https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog)
    even when you haven't finalized it. The exact value of the timestamp
    isn't very important (you can let "dch" pick something when you first
    add something to the unreleased changelog, and "dch -r" will update it
    when you're ready to make an upload), but it should be present. Leaving
    it empty isn't the usual practice among other developers as far as I've seen, and it's just making trouble for yourself.

    I leave it empty exactly because the build scripts complain when I do
    that, so that I'll remember to finalize it with the correct date before
    I put out a release.

    The common thing to do to hint that a package is not yet ready for
    release is to set the distribution to UNRELEASED - which dch handles
    nicely.

    (this post is for those reading along that are interested in common
    practices of Debian developers - if you just wanna do as you've always
    done then simply ignore this post as it was not written for you).

    - 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 --==============G97900329260562591=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/1PMaELHwxRsGgASEFAmbV5XsACgkQLHwxRsGg ASEiiQ/+InMnjzHfn2TqcaU5eUBfmtM4feFC468MDIkVxDDJNJBF29eFh1utdqfE r0uO2J+7DrKEmjJWx0qr0DLdC1zcN+sAGKXKe3yMNMfUgZk/Z05PNwM77pTguyMP y0DWT1J8137RpjOBVV+nMpoTvpVoW/TY9WluUS5p53H86CYbC6ymrl0CHSqRF5z3 Fk21saYptFTcVLzHvNLaZmX8nY38Ry5c1paY23nJclwoiSFYTzTss35jqI29eejq n8wfn1kzRBhAOfxCNhGiT9sZyIQFS03khPsA3D+W3EMgWfAmn/gflo8p/5svyZ/k AhzAXmnMe+D0I1VhujuVuDmzsuQODoGy9U4wyNvUhyKBjZNZgRDJEClEcg9RB3Sb cVRUMFoI/YNb8tQj7QR5cWA3c6RVca1sF1QlmPIOknFCkndRDist9HdCjCyEkt5i khp2Fd103R4m3QLkByv402VVyeaVxX/TrpMQ8Quk