Control: tags 771413 + patch Dear maintainer,
I believe the reason for the broken symlinks is that they violated the Debian policy on symbolic links, https://www.debian.org/doc/debian-policy/ch-files.html#s10.5 and were therefore omitted by the packaging programs. They violated the policy because the missing links were relative links from one top-level directory into another, but they should have been absolute. The attached patch fixes the bug. It uses dh_link to create the problematic links and not ln. Cheers, Tilman On Sat, 29 Nov 2014 11:55:00 +0100 =?UTF-8?B?VGlsbWFuIFNjaHLDtmRlcg==?= <tilman.schroe...@gmx.de> wrote: > Package: dracut > Version: 040+1-1 > Severity: normal > > Dear Maintainer, > > dracut installs dead symlinks in > /lib/systemd/system/{initrd,sysinit}.target.wants/: > > The links > /lib/systemd/system/initrd.target.wants/dracut-cmdline.service > /lib/systemd/system/initrd.target.wants/dracut-initqueue.service > /lib/systemd/system/initrd.target.wants/dracut-mount.service > /lib/systemd/system/initrd.target.wants/dracut-pre-mount.service > /lib/systemd/system/initrd.target.wants/dracut-pre-pivot.service > /lib/systemd/system/initrd.target.wants/dracut-pre-trigger.service > /lib/systemd/system/initrd.target.wants/dracut-pre-udev.service > /lib/systemd/system/sysinit.target.wants/dracut-shutdown.service > > are all pointing to files in the parent directory with the same name, > but none > of these files exist. I believe the links should all point to the > corresponding > files in /usr/lib/dracut/modules.d/98systemd/. > > I ran into this issue while trying to install apparmor which fails because > systemd is unable to find dracut-shutdown.service. > > For more information on this please see my bug report on apparmor at > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771240 > > Cheers and thanks for your awesome work, > Tilman > > > > -- System Information: > Debian Release: jessie/sid > APT prefers testing > APT policy: (990, 'testing'), (500, 'testing-updates') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores) > Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > > Versions of packages dracut depends on: > ii console-setup 1.114 > ii cpio 2.11+dfsg-2+b1 > ii kmod 18-3 > ii kpartx 0.5.0-5 > ii libc6 2.19-13 > ii pkg-config 0.28-1 > ii udev 215-6 > ii util-linux 2.25.2-3 > > Versions of packages dracut recommends: > ii cryptsetup 2:1.6.6-3 > ii dmraid 1.0.0.rc16-5 -- Sichere Kommunikation? GPG: 0x70755E61 auf keys.gnupg.net
Author: Tilman Schröder <tilman.schroe...@gmx.de> Description: Use dh_link during installation to create symlinks where the target is an absolute filename, update clean target in Makefile. Bug-Debian: https://bugs.debian.org/771413 --- a/Makefile +++ b/Makefile @@ -124,10 +124,9 @@ endif if [ -n "$(systemdsystemunitdir)" ]; then \ mkdir -p $(DESTDIR)$(systemdsystemunitdir); \ - ln -srf $(DESTDIR)$(pkglibdir)/modules.d/98systemd/dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/dracut-shutdown.service; \ + echo "$(pkglibdir)/modules.d/98systemd/dracut-shutdown.service $(systemdsystemunitdir)/dracut-shutdown.service" >> debian/dracut.links; \ mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants; \ - ln -s ../dracut-shutdown.service \ - $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-shutdown.service; \ + ln -s ../dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/sysinit.target.wants/dracut-shutdown.service; \ mkdir -p $(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants; \ for i in \ dracut-cmdline.service \ @@ -138,9 +137,8 @@ dracut-pre-trigger.service \ dracut-pre-udev.service \ ; do \ - ln -srf $(DESTDIR)$(pkglibdir)/modules.d/98systemd/$$i $(DESTDIR)$(systemdsystemunitdir); \ - ln -s ../$$i \ - $(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/$$i; \ + echo "$(pkglibdir)/modules.d/98systemd/$$i $(systemdsystemunitdir)/$$i" >> debian/dracut.links; \ + ln -s ../$$i $(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/$$i; \ done \ fi if [ -f install/dracut-install ]; then \ @@ -171,6 +169,8 @@ $(RM) skipcpio/skipcpio $(SKIPCPIO_OBJECTS) $(RM) $(manpages) dracut.html $(MAKE) -C test clean + $(RM) debian/dracut.links + $(RM) Makefile.inc dist: dracut-$(VERSION).tar.xz
signature.asc
Description: OpenPGP digital signature