• mips64el/mipsel and testing migration

    From Roberto =?iso-8859-1?Q?C=2E_S=E1nch@21:1/5 to All on Sat Feb 4 16:00:02 2023
    Yesterday a new version of libmongocrypt was uploaded into unstable with
    the idea that it would migrate into bookwork in time for the freeze.
    The new package introduces a dependency on libintelrdfpmath-dev. It
    appears that libintelrdfpmath-dev fails to build on mips64el/mipsel.
    However, that package seems to not have been inhibited from migrating to testing recently [0].

    When I checked the excuses on libmongocrypt this morning I saw:

    Migration status for libmongocrypt (1.6.2-1 to 1.7.1-2): BLOCKED: Rejected/violates migration policy/introduces a regression
    Issues preventing migration:
    ∙ ∙ libmongocrypt unsatisfiable Build-Depends(-Arch) on mips64el: libintelrdfpmath-dev (>= 2.0u2-6)
    ∙ ∙ libmongocrypt unsatisfiable Build-Depends(-Arch) on mipsel: libintelrdfpmath-dev (>= 2.0u2-6)
    ∙ ∙ missing build on mips64el
    ∙ ∙ missing build on mipsel
    ∙ ∙ Too young, only 0 of 5 days old
    Additional info:
    ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/libm/libmongocrypt.html
    Not considered

    The BD-Uninstallable makes sense as libintelrdfpmath-dev is not
    available on mips64el/mipsel. However, I have not been able to find a definitive list of release architectures for bookworm. The arch qualify
    page still lists mips64el/mipsel in a way that makes it seem like a
    release architecture for bookworm.

    If that is the case, then I am puzzled how intelrdfpmath would have
    migrated to testing without being able to build on mips64el/mipsel and
    it makes me think that I might need to be concerned that libmongocrypt
    might not migrate in time.

    If that is not the case, and the excuses are spurious because the lack
    of availability on mips64el/mipsel won't prevent testing migration, that
    would be good to know as well.

    Can someone who knows comment on whether mips64el/mipsel are in fact
    release architectures and/or whether the lack of a successful build on
    those architectures will in fact prevent testing migration in this case?

    Regards,

    -Roberto

    [0] https://tracker.debian.org/news/1415574/intelrdfpmath-20u2-6-migrated-to-testing/

    --
    Roberto C. Sánchez

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Adrian Bunk@21:1/5 to All on Sat Feb 4 17:10:01 2023
    On Sat, Feb 04, 2023 at 09:59:23AM -0500, Roberto C. Sánchez wrote:
    ...
    If that is the case, then I am puzzled how intelrdfpmath would have
    migrated to testing without being able to build on mips64el/mipsel

    intelrdfpmath having never been built on mips* is not an RC bug or
    testing migration blocker for intelrdfpmath since there are no old
    binaries of intelrdfpmath in unstable.[1]

    and
    it makes me think that I might need to be concerned that libmongocrypt
    might not migrate in time.

    libmongocrypt is currently in testing, so the 12th is not a hard
    deadline here.

    If that is not the case, and the excuses are spurious because the lack
    of availability on mips64el/mipsel won't prevent testing migration, that would be good to know as well.
    ...

    libmongocrypt does have old binaries on mips* in unstable,
    which blocks testing migration of libmongocrypt.

    There are 3 options for handling this:

    1. Is there a way to build libmongocrypt without intelrdfpmath?

    2. Fixing intelrdfpmath on mips*

    3. "reportbug ftp.debian.org" could be used to request removal of the
    old mipsel/mips64el binaries of libmongocrypt, but that requires first
    making the build dependency in mongo-c-driver exclude architectures
    where libmongocrypt is no longer available.
    If !pkg.mongo-c-driver.no-libmongocrypt is still a usable configuration,
    then [!mipsel !mips64el] could be used there.


    I will look whether 2. is feasible. intelrdfpmath does build on not
    explicitely supported architectures like s390x, and MIPS might be a
    victim of explicit support code that is now half-broken.


    Regards,

    -Roberto

    cu
    Adrian

    [1] https://release.debian.org/testing/rc_policy.txt

    Packages must autobuild without failure on all architectures on
    which they are supported. Packages must be supported on as many
    architectures as is reasonably possible. Packages are assumed to
    be supported on all architectures for which they have previously
    built successfully. Prior builds for unsupported architectures
    must be removed from the archive (contact -release or ftpmaster
    if this is the case).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roberto =?iso-8859-1?Q?C=2E_S=E1nch@21:1/5 to Adrian Bunk on Sat Feb 4 17:20:01 2023
    On Sat, Feb 04, 2023 at 05:49:12PM +0200, Adrian Bunk wrote:
    On Sat, Feb 04, 2023 at 09:59:23AM -0500, Roberto C. S�nchez wrote:
    ...
    If that is the case, then I am puzzled how intelrdfpmath would have migrated to testing without being able to build on mips64el/mipsel

    intelrdfpmath having never been built on mips* is not an RC bug or
    testing migration blocker for intelrdfpmath since there are no old
    binaries of intelrdfpmath in unstable.[1]

    I see.

    and
    it makes me think that I might need to be concerned that libmongocrypt might not migrate in time.

    libmongocrypt is currently in testing, so the 12th is not a hard
    deadline here.

    Ah, that's very helpful. I was concerned that there might not be time
    to resolve this problem. I am grateful to have a little room here to be
    able to get things properly in order.

    If that is not the case, and the excuses are spurious because the lack
    of availability on mips64el/mipsel won't prevent testing migration, that would be good to know as well.
    ...

    libmongocrypt does have old binaries on mips* in unstable,
    which blocks testing migration of libmongocrypt.

    There are 3 options for handling this:

    1. Is there a way to build libmongocrypt without intelrdfpmath?

    Upstream has mentioned the possibility of being able to build with
    libdfp. However, I suspect that no action has yet been taken on this as
    the first step was to get everything working with Intel DFP. I will
    inquire about this.

    2. Fixing intelrdfpmath on mips*

    Seems unlikely. More below.

    3. "reportbug ftp.debian.org" could be used to request removal of the
    old mipsel/mips64el binaries of libmongocrypt, but that requires first
    making the build dependency in mongo-c-driver exclude architectures
    where libmongocrypt is no longer available.
    If !pkg.mongo-c-driver.no-libmongocrypt is still a usable configuration,
    then [!mipsel !mips64el] could be used there.

    OK. This is something I'd rather avoid, but in the event we can't come
    up with anything else, it might be the only option.


    I will look whether 2. is feasible. intelrdfpmath does build on not explicitely supported architectures like s390x, and MIPS might be a
    victim of explicit support code that is now half-broken.


    The mips64el/mipsel builds of intelrdfpmath fail like this:

    In file included from float128/dpml_ux.h:39,
    from float128/dpml_ux_bid.c:32: float128/dpml_private.h:215:14: fatal error: mips_macros.h: No such file or directory
    215 | # include "mips_macros.h"
    | ^~~~~~~~~~~~~~~
    compilation terminated.

    Inspecting float128/dpml_private.h I see that it refers to a variety of platform-specific macro headers. Some are present in the source
    distribution (e.g., ix86, which also covers hppa, amd64, and sparc),
    while several are #include'd but not present in the source (e.g., mips,
    cray, vax, and alpha).

    This helpful comment is present just prior to the #include's:

    /* Environment specific macro definitions that pre-empt the generic
    (and perhaps slow) definitions below are in include files per
    ARCHITECTURE. The macros defined in these files should be a subset of
    the macros defined below (i.e. if there is a specific version, there
    should also be a generic version that will work with any ANSI C
    compiler). [ In practice, we may not get around to writing the generic versions until we need them. ] */

    It makes me think that, (a) if they haven't made it around to
    implementing the missing pieces yet that they never will, and (b) that
    it might be possible to simply drop the #include for mips and let the
    slow generic macros be used on mips.

    In any event, I can file a bug against intelrdfpmath requesting that the maintainer look into that possibility.

    Regards,

    -Roberto

    --
    Roberto C. S�nchez

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