• Bug#1099207: debhelper: fails to restore autoreconf files

    From Julian Andres Klode@21:1/5 to All on Tue Mar 4 10:50:01 2025
    Control: reassign -1 src:xserver-xorg-video-geode

    On Tue, Mar 04, 2025 at 08:01:12AM +0200, Martin-ric Racine wrote:
    ma 3.3.2025 klo 22.04 Niels Thykier (niels@thykier.net) kirjoitti:

    Control: reassign -1 dh-autoreconf

    Martin-ric Racine:
    Package: debhelper
    Version: 13.24.1
    Severity: important
    X-Debbugs-Cc: martin-eric.racine@iki.fi

    The autoreconf sequence fails to restore files after a build:

    dpkg-source -b .
    dpkg-source: info: using source format '3.0 (quilt)'
    dpkg-source: info: verifying ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: local changes detected, the modified files are:
    xserver-xorg-video-geode/aclocal.m4
    xserver-xorg-video-geode/build-aux/config.guess
    xserver-xorg-video-geode/build-aux/config.sub
    xserver-xorg-video-geode/build-aux/ltmain.sh
    xserver-xorg-video-geode/configure
    xserver-xorg-video-geode/m4/libtool.m4
    xserver-xorg-video-geode/m4/ltversion.m4
    dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/xserver-xorg-video-geode_2.18.1-1.diff.gQ5RWK

    Copying the corresponding files from a pristine upstream tarball only works once. They keep on having to be copied back before 'debuild' is run otherwise the above error shows.

    Martin-ric

    [...]

    Hi Martin,

    I assume this is related to dh-autoreconf to be honest.

    Since you see all these files, the package build must have triggered a reconf without using dh_autoreconf or without properly changing into dh_autoreconf-clean during clean up.

    Either way, it is either a bug in xserver-xorg-video-geode or in dh-autoreconf and not core debhelper. Reassigning accordingly.

    I explicitly removed the dependency on dh-autoreconf because debhelper
    says that since compat 10, it is not needed. This is very much a
    debhelper issue. Either debhelper properly restores files or it stops
    telling me to remove the Build-Depends on dh-autoreconf.

    debhelper depends on dh-autoreconf.

    In any case, that's for you to figure out where those files are being
    updated and ensuring that this happens inside the dh_autoreconf call,
    because frankly, they seem to be updated outside of it.

    You can look at debian/autoreconf.before and debian/autoreconf.after
    files after dh_autoreconf ran the autoreconf script to figure out
    if the files were updated; then they also will be removed.

    Please note that dh_autoreconf_clean is run by the clean sequence,
    so building a source package without running clean first is not
    going to work.
    --
    debian developer - deb.li/jak | jak-linux.org - free software dev
    ubuntu core developer i speak de, en

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Andres Klode@21:1/5 to All on Tue Mar 4 12:10:01 2025
    On Tue, Mar 04, 2025 at 12:24:10PM +0200, Martin-ric Racine wrote:
    ti 4.3.2025 klo 11.43 Julian Andres Klode (jak@debian.org) kirjoitti:

    Control: reassign -1 src:xserver-xorg-video-geode

    On Tue, Mar 04, 2025 at 08:01:12AM +0200, Martin-ric Racine wrote:
    ma 3.3.2025 klo 22.04 Niels Thykier (niels@thykier.net) kirjoitti:

    Control: reassign -1 dh-autoreconf

    Martin-ric Racine:
    Package: debhelper
    Version: 13.24.1
    Severity: important
    X-Debbugs-Cc: martin-eric.racine@iki.fi

    The autoreconf sequence fails to restore files after a build:

    dpkg-source -b .
    dpkg-source: info: using source format '3.0 (quilt)'
    dpkg-source: info: verifying ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: local changes detected, the modified files are:
    xserver-xorg-video-geode/aclocal.m4
    xserver-xorg-video-geode/build-aux/config.guess
    xserver-xorg-video-geode/build-aux/config.sub
    xserver-xorg-video-geode/build-aux/ltmain.sh
    xserver-xorg-video-geode/configure
    xserver-xorg-video-geode/m4/libtool.m4
    xserver-xorg-video-geode/m4/ltversion.m4
    dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/xserver-xorg-video-geode_2.18.1-1.diff.gQ5RWK

    Copying the corresponding files from a pristine upstream tarball only works once. They keep on having to be copied back before 'debuild' is run otherwise the above error shows.

    Martin-ric

    [...]

    Hi Martin,

    I assume this is related to dh-autoreconf to be honest.

    Since you see all these files, the package build must have triggered a reconf without using dh_autoreconf or without properly changing into dh_autoreconf-clean during clean up.

    Either way, it is either a bug in xserver-xorg-video-geode or in dh-autoreconf and not core debhelper. Reassigning accordingly.

    I explicitly removed the dependency on dh-autoreconf because debhelper says that since compat 10, it is not needed. This is very much a debhelper issue. Either debhelper properly restores files or it stops telling me to remove the Build-Depends on dh-autoreconf.

    debhelper depends on dh-autoreconf.

    In any case, that's for you to figure out where those files are being updated and ensuring that this happens inside the dh_autoreconf call, because frankly, they seem to be updated outside of it.

    You can look at debian/autoreconf.before and debian/autoreconf.after
    files after dh_autoreconf ran the autoreconf script to figure out
    if the files were updated; then they also will be removed.

    Please note that dh_autoreconf_clean is run by the clean sequence,
    so building a source package without running clean first is not
    going to work.

    debclean IS run before every build.

    In any case, both of you STOP reassigning bugs the packages without
    looking into the cause.

    I can also just not interact at all, I don't see how that's helpful,
    but I'll certainly not entertain wild goosechases in random packages.

    --
    debian developer - deb.li/jak | jak-linux.org - free software dev
    ubuntu core developer i speak de, en

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Andres Klode@21:1/5 to All on Tue Mar 4 12:20:01 2025
    On Tue, Mar 04, 2025 at 12:51:25PM +0200, Martin-Éric Racine wrote:
    ti 4.3.2025 klo 11.43 Julian Andres Klode (jak@debian.org) kirjoitti:

    Control: reassign -1 src:xserver-xorg-video-geode

    On Tue, Mar 04, 2025 at 08:01:12AM +0200, Martin-Éric Racine wrote:
    ma 3.3.2025 klo 22.04 Niels Thykier (niels@thykier.net) kirjoitti:

    Control: reassign -1 dh-autoreconf

    Martin-Éric Racine:
    Package: debhelper
    Version: 13.24.1
    Severity: important
    X-Debbugs-Cc: martin-eric.racine@iki.fi

    The autoreconf sequence fails to restore files after a build:

    dpkg-source -b .
    dpkg-source: info: using source format '3.0 (quilt)'
    dpkg-source: info: verifying ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: local changes detected, the modified files are:
    xserver-xorg-video-geode/aclocal.m4
    xserver-xorg-video-geode/build-aux/config.guess
    xserver-xorg-video-geode/build-aux/config.sub
    xserver-xorg-video-geode/build-aux/ltmain.sh
    xserver-xorg-video-geode/configure
    xserver-xorg-video-geode/m4/libtool.m4
    xserver-xorg-video-geode/m4/ltversion.m4
    dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/xserver-xorg-video-geode_2.18.1-1.diff.gQ5RWK

    Copying the corresponding files from a pristine upstream tarball only works once. They keep on having to be copied back before 'debuild' is run otherwise the above error shows.

    Martin-Éric

    [...]

    Hi Martin,

    I assume this is related to dh-autoreconf to be honest.

    Since you see all these files, the package build must have triggered a reconf without using dh_autoreconf or without properly changing into dh_autoreconf-clean during clean up.

    Either way, it is either a bug in xserver-xorg-video-geode or in dh-autoreconf and not core debhelper. Reassigning accordingly.

    I explicitly removed the dependency on dh-autoreconf because debhelper says that since compat 10, it is not needed. This is very much a debhelper issue. Either debhelper properly restores files or it stops telling me to remove the Build-Depends on dh-autoreconf.

    debhelper depends on dh-autoreconf.

    In any case, that's for you to figure out where those files are being updated and ensuring that this happens inside the dh_autoreconf call, because frankly, they seem to be updated outside of it.

    You can look at debian/autoreconf.before and debian/autoreconf.after
    files after dh_autoreconf ran the autoreconf script to figure out
    if the files were updated; then they also will be removed.

    $ dir -1 debian/
    autoreconf.after
    autoreconf.before
    changelog
    control
    copyright
    debhelper-build-stamp
    files
    geode.ids
    rules
    source
    tests
    tmp
    upstream
    watch
    xserver-xorg-video-geode
    xserver-xorg-video-geode.debhelper.log
    xserver-xorg-video-geode.install
    xserver-xorg-video-geode.links
    xserver-xorg-video-geode.substvars

    They very much exist.

    Again, please look at them and see if the files are in there.


    Please note that dh_autoreconf_clean is run by the clean sequence,
    so building a source package without running clean first is not
    going to work.

    Which is run at the start of every build:

    $ debuild
    dpkg-buildpackage -us -uc -ui
    dpkg-buildpackage: info: source package xserver-xorg-video-geode dpkg-buildpackage: info: source version 2.18.1-1
    dpkg-buildpackage: info: source distribution unstable
    dpkg-buildpackage: info: source changed by Martin-Éric Racine <martin-eric.racine@iki.fi>
    dpkg-source --before-build .
    dpkg-buildpackage: info: host architecture i386
    debian/rules clean
    dh clean --builddirectory=build/
    dh_auto_clean -O--builddirectory=build/
    dh_autoreconf_clean -O--builddirectory=build/
    dh_clean -O--builddirectory=build/
    dpkg-source -b .
    dpkg-source: info: using source format '3.0 (quilt)'
    dpkg-source: info: verifying ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz
    dpkg-source: info: building xserver-xorg-video-geode using existing ./xserver-xorg-video-geode_2.18.1.orig.tar.xz.asc
    dpkg-source: info: building xserver-xorg-video-geode in xserver-xorg-video-geode_2.18.1-1.debian.tar.xz
    dpkg-source: info: building xserver-xorg-video-geode in xserver-xorg-video-geode_2.18.1-1.dsc
    debian/rules binary
    dh binary --builddirectory=build/
    dh_update_autotools_config -O--builddirectory=build/
    dh_autoreconf -O--builddirectory=build/
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: copying file 'build-aux/ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
    libtoolize: copying file 'm4/libtool.m4'
    libtoolize: copying file 'm4/ltoptions.m4'
    libtoolize: copying file 'm4/ltsugar.m4'
    libtoolize: copying file 'm4/ltversion.m4'
    libtoolize: copying file 'm4/lt~obsolete.m4'
    configure.ac:42: warning: The macro 'AC_PROG_LIBTOOL' is obsolete. configure.ac:42: You should run autoupdate.
    m4/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
    configure.ac:42: the top level
    configure.ac:52: warning: The macro 'AC_PROG_LIBTOOL' is obsolete. configure.ac:52: You should run autoupdate.
    m4/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
    configure.ac:52: the top level
    configure.ac:42: installing 'build-aux/compile'
    configure.ac:37: installing 'build-aux/missing'
    src/Makefile.am: installing 'build-aux/depcomp'
    debian/rules override_dh_auto_configure
    make[1]: Siirrytään hakemistoon ”/home/perkelix/Projects/Salsa/xserver-xorg-video-geode” dh_auto_configure -- --disable-silent-rules --libdir=\${exec_prefix}/lib
    cd build && ../configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --disable-silent-rules --libdir=\${exec_prefix}/lib

    So far, nothing out of the ordinary. This should work, and yet, it doesn't.

    The log clearly does not say anything about the files you take offence
    with, there is no config.guess update or aclocal.m4.

    As you can imagine, I checked all of that before I did the
    reassign. I certainly did not mention it because it's obvious.
    --
    debian developer - deb.li/jak | jak-linux.org - free software dev
    ubuntu core developer i speak de, en

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