Processed: Re: Bug#1012252: debhelper: execute_after not executed for binary-indep build
Processing control commands: > tags -1 moreinfo Bug #1012252 [debhelper] debhelper: execute_after not executed for binary-indep build Added tag(s) moreinfo. -- 1012252: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012252 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1012252: debhelper: execute_after not executed for binary-indep build
Control: tags -1 moreinfo Drew Parsons: > Package: debhelper > Version: 13.7.1 > Severity: Serious > Justification: FTBFS > Control: block 1012022 by -1 > > fenics-basix 0.4.2-1exp1 is currently failing to build in a > binary-indep build, see > https://buildd.debian.org/status/logs.php?pkg=fenics-basix&arch=all > > The problem occurs when building docs in an > execute_before_dh_install-indep rule. The doc build (via sphinx) > expects the basix python module to have been built. The rules file is > available at > https://tracker.debian.org/media/packages/f/fenics-basix/rules-0.4.2-1exp1 > > The python module build is supposed to have been performed already in > an execute_after_dh_auto_install rule (after dh_auto_install has put > the libbasix.so shared library in place). > > We can see in the binary-indep log at > https://buildd.debian.org/status/fetch.php?pkg=fenics-basix&arch=all&ver=0.4.2-1exp1&stamp=1654102080&raw=0 > that libbasix.so did get built by the override_dh_auto_build rule, and > got installed by dh_auto_install -i. > > But after dh_auto_install -i, the next rule that gets run is > execute_before_dh_install-indep. execute_after_dh_auto_install never > gets run. > > This doesn't meet the intention of the rules file. > execute_after_dh_auto_install should be run after dh_auto_install, > with or without the -i flag, shouldn't it? > > In particular, dh --no-act indicates it should have been executed: > > $ dh binary-indep --no-act >dh_testroot -i >dh_prep -i >dh_installdirs -i >dh_auto_install -i >debian/rules execute_after_dh_auto_install >debian/rules execute_before_dh_install-indep >dh_install -i >dh_installdocs -i >... > > > So it looks like a bug in dh during actual execution, that the > execute_after_dh_auto_install rule is not getting executed. > > This bug is blocking #1012022, which is Severity: serious (FTBFS), > hence I'm marking this bug Severity: serious (FTBFS) to match. > > > [...] Hi, The bug report contains inconsistent information. The bug report says and includes a dh --no-act that implies there is a rule called "execute_after_dh_auto_install" in debian/rules. However, the rules files provided via "https://tracker.debian.org/media/packages/f/fenics-basix/rules-0.4.2-1exp1"; does *not* have that rule. Instead it has the "execute_after_dh_auto_install-arch" rule, which would explain a lot of the issues you are reporting. If you have linked to the wrong debian/rules file, then please provide an updated link. Thanks, ~Niels
Processed: Re: Bug#1012252: debhelper: execute_after not executed for binary-indep build
Processing control commands: > tags -1 moreinfo Bug #1012252 [debhelper] debhelper: execute_after not executed for binary-indep build Ignoring request to alter tags of bug #1012252 to the same tags previously set -- 1012252: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012252 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1012252: debhelper: execute_after not executed for binary-indep build
Package: debhelper Version: 13.7.1 Severity: Serious Justification: FTBFS Control: block 1012022 by -1 fenics-basix 0.4.2-1exp1 is currently failing to build in a binary-indep build, see https://buildd.debian.org/status/logs.php?pkg=fenics-basix&arch=all The problem occurs when building docs in an execute_before_dh_install-indep rule. The doc build (via sphinx) expects the basix python module to have been built. The rules file is available at https://tracker.debian.org/media/packages/f/fenics-basix/rules-0.4.2-1exp1 The python module build is supposed to have been performed already in an execute_after_dh_auto_install rule (after dh_auto_install has put the libbasix.so shared library in place). We can see in the binary-indep log at https://buildd.debian.org/status/fetch.php?pkg=fenics-basix&arch=all&ver=0.4.2-1exp1&stamp=1654102080&raw=0 that libbasix.so did get built by the override_dh_auto_build rule, and got installed by dh_auto_install -i. But after dh_auto_install -i, the next rule that gets run is execute_before_dh_install-indep. execute_after_dh_auto_install never gets run. This doesn't meet the intention of the rules file. execute_after_dh_auto_install should be run after dh_auto_install, with or without the -i flag, shouldn't it? In particular, dh --no-act indicates it should have been executed: $ dh binary-indep --no-act dh_testroot -i dh_prep -i dh_installdirs -i dh_auto_install -i debian/rules execute_after_dh_auto_install debian/rules execute_before_dh_install-indep dh_install -i dh_installdocs -i ... So it looks like a bug in dh during actual execution, that the execute_after_dh_auto_install rule is not getting executed. This bug is blocking #1012022, which is Severity: serious (FTBFS), hence I'm marking this bug Severity: serious (FTBFS) to match. -- System Information: Debian Release: bookworm/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.17.0-3-amd64 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages debhelper depends on: ii autotools-dev20220109.1 ii dh-autoreconf20 ii dh-strip-nondeterminism 1.13.0-1 ii dpkg 1.21.8 ii dpkg-dev 1.21.8 ii dwz 0.14-1 ii file 1:5.41-4 ii libdebhelper-perl13.7.1 ii libdpkg-perl 1.21.8 ii man-db 2.10.2-1 ii perl 5.34.0-4 ii po-debconf 1.0.21+nmu1 debhelper recommends no packages. Versions of packages debhelper suggests: ii dh-make 2.202201 -- no debconf information