[debhelper-devel] Bug#748921: debhelper: dh_installinit fails in certain multi-binary packages
Michael Prokop
mika at debian.org
Thu May 22 09:46:28 UTC 2014
Package: debhelper
Version: 9.20140228
Severity: normal
I have a source package named "foo" with 2 binary packages "foo-ce"
and "foo-pro" and one init script available as "debian/foo.init".
When invoking dh_installinit it works only for the *first* listed
binary package but fails for the second package (as in: doesn't
install the according init and maintainer scripts).
So:
dh_installinit -pfoo-ce --name=foo -- defaults 80
works fine because foo-ce is the first listed binary package in
debian/control, while:
dh_installinit -pfoo-pro --name=foo -- defaults 80
is lacking the init script in the resulting package (which actually
isn't easy to spot because of #462389 :-/). ->
| % dpkg -c ../foo-ce_0.0.1_all.deb | grep init
| drwxr-xr-x root/root 0 2014-05-22 11:26 ./etc/init.d/
| -rwxr-xr-x root/root 19 2014-05-22 11:04 ./etc/init.d/foo
| % dpkg -c ../foo-pro_0.0.1_all.deb| grep init
| %
When I switch the order of the packages foo-ce and foo-pro in
debian/control to foo-pro and foo-ce it works fine for the foo-pro
package but fails for foo-ce.
One workaround is to create a symlink debian/foo-pro.foo.init
pointing to the actual init script:
| % ls -la debian/foo-pro.foo.init
| lrwxrwxrwx 1 mika mika 8 May 22 11:17 debian/foo-pro.foo.init -> foo.init*
If you want to reproduce the bug on your own: I've put a minimal
working example package online at
https://github.com/mika/debhelper-bug (initial commit with "old
style" debhelper packaging, 2nd commit with "minimal style"
debhelper packaging, but you can also just execute the
dh_installinit command lines as mentioned above to reproduce the
issue).
regards,
-mika-
More information about the debhelper-devel
mailing list