Package: debhelper
Version: 8.9.9
Severity: normal

Hi Joey,

I've spotted a bug in the current dh when using custom
overrides with -arch and -indep suffixes.

Example: if I run "fakeroot dh binary-arch", then "-a" is set in
@options, and put in DH_INTERNAL_OPTIONS for child commands, including
make.  The same applies to -indep sequences.

The bug is in what happens when running plain "binary", which will
then run both -arch and -indep rules, but *without* setting
"-a" or "-a" in @options, so DH_INTERNAL_OPTIONS lacks the setting.
This means that those rules will run on *all* packages, not being
restricted to either arch or indep packages.

Workaround: add -i or -a to the dh_foo commands being invoked.

Fix: Explicitly set -i or -a in run_override() if not already set.


Example:

% dh binary --no-act | egrep '(arch|indep)$'
   debian/rules install-arch
   debian/rules override_dh_auto_install-arch
   debian/rules override_dh_auto_install-indep
   debian/rules override_dh_installchangelogs-arch
   debian/rules override_dh_installchangelogs-indep
   debian/rules override_dh_installdeb-arch
   debian/rules override_dh_installdeb-indep

% dh binary-arch --no-act | egrep '(arch|indep)$'
   debian/rules install-arch
   debian/rules override_dh_installdeb-arch

override_dh_installdeb-arch:
        dh_installdeb -a

        # Override autogenerated conffiles
        $(INSTALL_DATA) debian/initscripts.conffiles \
                $(inittmp)/DEBIAN/conffiles
        sh debian/deps-mount >> debian/initscripts.substvars

override_dh_installdeb-indep:
        dh_installdeb -i

        # Neither rc, rcS nor README are conffiles
        $(RM) $(rctmp)/DEBIAN/conffiles

Without the -a or -i, dh_installdeb works on all packages.


Regards,
Roger

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (550, 'unstable'), (500, 'testing'), (400, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages debhelper depends on:
ii  binutils    2.21.90.20111025-1
ii  dpkg-dev    1.16.2            
ii  file        5.09-2            
ii  html2text   1.3.2a-15         
ii  man-db      2.6.0.2-3         
ii  perl        5.12.4-6          
ii  po-debconf  1.0.16+nmu1       

debhelper recommends no packages.

Versions of packages debhelper suggests:
pn  dh-make  <none>

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to