• Bug#1103316: notcurses: FTBFS with the nocheck build profile

    From Santiago Vila@21:1/5 to All on Wed Apr 16 14:30:02 2025
    Package: src:notcurses
    Version: 3.0.13+dfsg-2
    Severity: important
    Tags: trixie sid ftbfs
    User: debian-qa@lists.debian.org
    Usertags: ftbfs-nocheck-profile

    Dear maintainer:

    During a rebuild of all packages in unstable using the nocheck build profile, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    changing mode of /<<PKGBUILDDIR>>/debian/python3-notcurses/usr/bin/ncdirect-pydemo to 755
    changing mode of /<<PKGBUILDDIR>>/debian/python3-notcurses/usr/bin/notcurses-pydemo to 755
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_install -O--buildsystem=cmake -O-B/<<BUILDDIR>>/notcurses-3.0.13\+dfsg/build
    dh_install: warning: Cannot find (any matches for) "usr/bin/notcurses-tester" (tried in ., debian/tmp)

    dh_install: warning: notcurses-bin missing files: usr/bin/notcurses-tester dh_install: warning: Cannot find (any matches for) "usr/share/man/man1/notcurses-tester.1" (tried in ., debian/tmp)

    dh_install: warning: notcurses-bin missing files: usr/share/man/man1/notcurses-tester.1
    dh_install: error: missing files, aborting
    make: *** [debian/rules:17: binary] Error 255
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202504/

    About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    If this is really a bug in one of the build-depends, please use
    reassign and add an affects on src:notcurses, so that this is still
    visible in the BTS web page for this package.

    Notes:

    * When a package is built with the nocheck profile, it means:

    - DEB_BUILD_OPTIONS=nocheck
    (the tests should be skipped during the build)

    - DEB_BUILD_PROFILES=nocheck
    (Build-Depends marked <!nocheck> are not installed)

    - The contents of the package is allowed to be different than normal

    * This category of bugs was going to be RC for trixie, but
    according to the Release Managers it's a little bit late in the
    release cycle to introduce a bunch of RC bugs of this type.

    * In addition to the above, this package also fails when
    using DEB_BUILD_OPTIONS=nocheck alone. In this mode:

    - DEB_BUILD_OPTIONS=nocheck
    (the tests should be skipped during the build)

    - Build-Depends marked <!nocheck> are installed as normal

    - The contents of the package should not change compared
    to a regular build

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Wed Apr 16 22:10:01 2025
    override_dh_auto_test:
    ctest --test-dir $(BDIR) --output-on-failure

    I think this is relevant.

    The only logical explanation I can think for a "missing files"
    error in dh_install when DEB_BUILD_OPTIONS=nocheck is that
    the ctest call is the one creating some of the files
    that dh_install reports as missing later.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Wed Apr 16 22:30:01 2025
    I'm pretty certain that this is due to the
    `-DBUILD_TESTING:BOOL=OFF` being emitted by dh_auto_configure.
    When that option is OFF, `notcurses-tester` is not built.

    So: Could this be a bug in dh_auto_configure, then?

    (I see such difference indeed between two build trees,
    one with D_B_O=nocheck and the other without).

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Wed Apr 16 23:40:01 2025
    El 16/4/25 a las 23:25, nick black escribió:
    ok, here's what's up: `BUILD_TESTING` is defined by CTest, so
    as you speculated, `notcurses-tester` is indeed being built
    during the testing stage (but only when said stage is actually
    run). so i think we can fix this right now by adding
    `BUILD_TESTING=ON` to the cmake arguments in the configure step.
    i might change this in source, might not.

    seem reasonable?

    I guess so. Just make sure that the package builds the same
    regardless of nocheck being used or not.

    Note that the package is checked as "reproducible":

    https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/notcurses.html

    so we can probably expect the .deb to be exactly the same once you fix this.

    (If not, diffoscope will tell us where it differs)

    Thanks.

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