Discussion:
Bug#1099207: debhelper: fails to restore autoreconf files
Add Reply
Martin-Éric Racine
2025-03-01 18:00:01 UTC
Reply
Permalink
Package: debhelper
Version: 13.24.1
Severity: important
X-Debbugs-Cc: martin-***@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

-- System Information:
Debian Release: trixie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (x86_64)

Kernel: Linux 6.1.0-31-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8), LANGUAGE=fi:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages debhelper depends on:
ii autotools-dev 20220109.1
ii dh-autoreconf 20
ii dh-strip-nondeterminism 1.14.1-2
ii dpkg 1.22.15
ii dpkg-dev 1.22.15
ii dwz 0.15-1+b1
ii file 1:5.45-3+b1
ii libdebhelper-perl 13.24.1
ii libdpkg-perl 1.22.15
ii man-db 2.13.0-1
ii perl 5.40.1-2
ii po-debconf 1.0.21+nmu1

debhelper recommends no packages.

Versions of packages debhelper sugges
Martin-Éric Racine
2025-03-04 06:10:01 UTC
Reply
Permalink
Control: reassign -1 dh-autoreconf
Post by Martin-Éric Racine
Package: debhelper
Version: 13.24.1
Severity: important
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
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.

Martin-Éric
Julian Andres Klode
2025-03-04 09:50:01 UTC
Reply
Permalink
Control: reassign -1 src:xserver-xorg-video-geode
Post by Martin-Éric Racine
Control: reassign -1 dh-autoreconf
Post by Martin-Éric Racine
Package: debhelper
Version: 13.24.1
Severity: important
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
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
Julian Andres Klode
2025-03-04 11:10:01 UTC
Reply
Permalink
Post by Julian Andres Klode
Control: reassign -1 src:xserver-xorg-video-geode
Post by Martin-Éric Racine
Control: reassign -1 dh-autoreconf
Post by Martin-Éric Racine
Package: debhelper
Version: 13.24.1
Severity: important
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
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
Julian Andres Klode
2025-03-04 11:20:01 UTC
Reply
Permalink
Post by Julian Andres Klode
Control: reassign -1 src:xserver-xorg-video-geode
Post by Martin-Éric Racine
Control: reassign -1 dh-autoreconf
Post by Martin-Éric Racine
Package: debhelper
Version: 13.24.1
Severity: important
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
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.
Post by Julian Andres Klode
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.
$ 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
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
Loading...