• Re: Need advice on architecture exclusion when arch: all packages are i

    From Charles Plessy@21:1/5 to All on Mon Apr 28 02:20:01 2025
    Thanks Dominique for writing CME
    and thanks Paul for the explanations,

    on my side I have added a --64 option to the `routine-update` script (from the same-named package) that adds a build-dependency on architecture-is-64-bits, and plan to do the same for little-endian architectures.

    I wrote recently that I plan to restrict all the team-maintained r-cran-* packages to 64-bit, little-endian. I have delayed that because of worries of delaying migration of some packages with a mass upload, but...

    I would like to ask you "what about the architecture-independant packages"? They will be built on amd64 and be available for the excluded architectures.
    Is there a risk that a mixed dependency chain of architecture-specific and architecture-independant packages which are all already in Trixie but will disappear from some architectures in Sid will create a mess and therefore be not able to migrate?

    Have a nice day,

    Charles

    --
    Charles Plessy Nagahama, Yomitan, Okinawa, Japan
    Debian Med packaging team http://www.debian.org/devel/debian-med Tooting from home https://framapiaf.org/@charles_plessy
    - You do not have my permission to use this email to train an AI -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Charles Plessy on Mon Apr 28 11:50:01 2025
    On Mon, 28 Apr 2025 at 09:11:51 +0900, Charles Plessy wrote:
    on my side I have added a --64 option to the `routine-update` script (from the >same-named package) that adds a build-dependency on architecture-is-64-bits, >and plan to do the same for little-endian architectures.

    This seems like a sufficiently common situation to encounter that the
    ability to automate it is a useful thing, so thank you for doing this.

    I wrote recently that I plan to restrict all the team-maintained r-cran-* >packages to 64-bit, little-endian. I have delayed that because of worries of >delaying migration of some packages with a mass upload, but...

    Please note that we are about halfway through the soft freeze period for
    trixie (2025-04-15 to 2024-05-15), and the release team writes:

    new transitions, new versions of packages that are part of
    (build-)essential or large/disruptive changes remain inappropriate
    https://release.debian.org/testing/freeze_policy.html#soft

    I see from https://bugs.debian.org/release-critical/other/testing.html
    that some of the r-bioc-* and r-cran-* family have been unable to
    migrate to testing. How many of those bugs would be resolved by removing
    their relevant packages from 32-bit and BE architectures, and how many
    are orthogonal?

    I am not a release team member, but I suspect that if removals are
    necessary, at the current stage in the release process the release team
    would likely prefer the R/CRAN team to remove only the packages that
    genuinely do not work on 32-bit or BE, plus any packages that depend on
    them and would be broken by their removal. For other removals that are not necessary to resolve RC bugs, if it was up to me, I would defer them
    until forky opens. (It is not up to me.)

    I see that on #1099927, Rebecca already said some very similar things
    about targeted removals being lower-risk and more appropriate at this
    stage of the release process.

    The usual way to research "what would happen if I removed..." is to log
    in to the developer-accessible archive mirror machine
    (coccia.debian.org, aka mirror.ftp-master.debian.org) and run commands
    like for example:

    # Architecture: all
    dak rm -R -n r-cran-survminer

    # Architecture: any
    dak rm -R -n r-cran-sparr

    At the time of writing, the results of those are that r-cran-survminer
    could be removed without breaking anything else (it's a leaf package)
    but r-cran-sparr could not be removed unless/until r-cran-kernelheaping was also removed.

    For your convenience, the r-bioc-* and r-cran-* RC bugs currently
    relevant to testing:

    * #1103217: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1103198: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1103227: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1103199: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1103200: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1102189: r-cran-argparser, autopkgtest regressions including 64-bit LE
    * #1102589: r-cran-broom.helpers, see below, 32-bit autopkgtest already ignored * #1102590: r-cran-fansi, see below
    * #1100292: r-cran-fastcluster, build-time regressions including 64-bit LE
    * #1104158: r-cran-testthat, is this fixed in 3.2.3-1?
    * #1104159: r-cran-testthat, is this fixed in 3.2.3-1?
    * #1104160: r-cran-testthat, seems i386 specific
    * #1099927: r-cran-testthat, already has some useful analysis from Rebecca
    * #1103228: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1102956: FTBFS with newer compilers, fixed in sid, just needs migration
    * #1102345: seems fixed in sid, just needs migration
    * #1103369: r-cran-webgestaltr, could be armhf specific
    * #1102591: r-cran-units, seems arm{el,hf}-specific

    #1104160 seems i386-specific and therefore could be helped by targeted
    32-bit removals.

    In #1102591 r-cran-units migration is blocked by autopkgtest regressions
    on arm{el,hf}. At first glance this seems arm{el,hf}-specific and
    therefore could be helped by targeted 32-bit removals.

    #1103369 seems possibly armhf-specific and therefore could be helped by targeted 32-bit removals, but I would suggest that a maintainer should
    see whether the FTBFS is reproducible on 64-bit LE first (it doesn't
    seem particularly 32-bit-specific).

    In #1099927 in r-cran-testthat, migration is blocked by autopkgtest
    regressions on 32-bit architectures (for which architecture-specific
    removals might help) but also by an autopkgtest regression on riscv64
    (which is 64-bit LE, so will be unaffected by your proposed removals).

    #1104158 in r-cran-testthat refers to autopkgtest regressions. It seems
    some of those might be fixed in 3.2.3-1? If this is the case, please
    close the bug as fixed in the version in which it is fixed, so that the
    release team can have some visibility into what it will take to get this
    fixed in testing. Migration of r-cran-testthat/3.2.3-1 is blocked by
    #1099927.

    #1104159 in r-cran-testthat is similar to #1104158.

    r-cran-broom.helpers #1102589 is blocked by #1102511 in r-cran-cards
    (which would also require a freeze exception to get a new package into
    trixie after the soft freeze deadline). It could be addressed by
    removing r-cran-cards from i386, but it could also be addressed by
    skipping one test using the patch that was already provided by Adrian
    Bunk, which seems like a lower-risk change. Or r-cran-broom.helpers
    could be rolled back to 1.20.0+really1.14.0 to avoid needing
    r-cran-cards.

    r-cran-fansi #1102590 seems to be failing all of its autopkgtests in
    trixie on all architectures. Maybe one or more of its dependencies needs
    to be raised to a higher version? Or maybe it should be rolled back to 1.0.6+really1.0.5 as a lower risk change at this stage. I don't see how architecture-specific removals would help here.

    #1102189, #1100292 seem like they would be a problem even if only amd64
    was supported, so architecture-specific removals seem unlikely to help
    here.

    I would like to ask you "what about the architecture-independant packages"? >They will be built on amd64 and be available for the excluded architectures. >Is there a risk that a mixed dependency chain of architecture-specific and >architecture-independant packages which are all already in Trixie but will >disappear from some architectures in Sid will create a mess and therefore be >not able to migrate?

    I would have expected that the R/CRAN team will know better than anyone
    else how frequent this situation is, and therefore be able to assess the
    risk more accurately than anyone else.

    If you have this dependency chain:

    r-cran-archall -> r-cran-archany -> other dependencies

    then I believe the rule is that for either r-cran-archall or
    r-cran-archany to be allowed to migrate, the installability of
    r-cran-archall must not regress on amd64 or arm64. (Reference: NOBREAKALL_ARCHES in https://release.debian.org/britney/britney.conf)

    But if you have

    larger-archany-package -> r-cran-archany -> ...

    or

    larger-archany-package -> r-cran-archall -> r-cran-archany -> ...

    then larger-archany-package would need to be removed from the affected architectures too, otherwise its installability would regress on the
    affected architectures, which the migration scripts generally don't allow.

    smcv
    (not a release team member)

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