Control: reassign -1 ipmitool On Mon, 30 Oct 2017 22:57:22 +0100 =?ISO-8859-1?Q?J=F6rg_Frings-F=FCrst?= <deb...@jff-webhosting.net> wrote: > reassign 879063 debhelper 10.10.5 > retitle 879063 [dh_system_enable] don't notice the debhelper naming convention > thanks > > Hi, > > this is not a ipitool bug. > > Fakts: > > - the service file is debian/ipmitool.ipmievd.service. > This fulfill the debhelper naming convention[1]. > > - without "dh_systemd_enable --no-enable ipmievd.service" and / or with > "dh_systemd_start ipmievd.service" the service file is installed[2]. > This will find the service file. > > Result: > > Its looks like dh_systemd_enable do not notice the debhelper naming > convention. So I reassign this bug to debhelper. > > CU > Jörg > > [...]
Hi, Sorry, but I disagree with your assertion. :) While the facts as such are correct, there are two facts missing: * When "dh_systemd_enable --no-enable ipmievd.service" is called, the service is *not* present in the package directory[1]. Accordingly, you get that error. * The service is currently installed by dh_installinit (see the first three lines of [2]). By design, dh_systemd_enable is run *before* dh_installinit (and dh_systemd_start is run after dh_installinit). - I admit that this interaction between dh_installinit and dh_systemd_* is way more complex than it has to be and we are cleaning it up for compat 11. :) Previously, dh_systemd_enable had a behaviour depending on whether it could read the service file. This lead to silent "fail-to-fail" behaviour where you could end up with a service not being enabled instead of the build failing. I can see that ipmitool unfortunately relied on this "failure to fail" in the build log for stable[3]. The consequences for ipmitool: If I am reading dh_systemd_enable correctly, it will fail to deliver a shell snippet for notifying the system that a new service file has been installed (and re-enable on reinstall if it was enabled prior to uninstall). * While this may sound scary, I /think/ dh_installinit happens to do that for you in compat 10. (Did not check too deeply though) * Although, it is not clear to me that your --no-enable is respected at all. If it is, then it is not because of something dh_systemd_enable does. Thanks, ~Niels [1] """ make[1]: Leaving directory '<BUILDDIR>/ipmitool-1.8.18' dh_installdocs dh_installchangelogs dh_installman debian/rules override_dh_systemd_enable make[1]: Entering directory '<BUILDDIR>/ipmitool-1.8.18' dh_systemd_enable -v --no-enable ipmievd.service dh_systemd_enable: Requested unit "ipmievd.service" but it was not found in any package acted on. dh_systemd_enable: Could not handle all of the requested services debian/rules:36: recipe for target 'override_dh_systemd_enable' failed make[1]: *** [override_dh_systemd_enable] Error 2 make[1]: Leaving directory '<BUILDDIR>ipmitool-1.8.18' debian/rules:24: recipe for target 'binary' failed make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 <BUILDDIR>/ipmitool-1.8.18$ find debian/ipmitool -type f debian/ipmitool/usr/bin/ipmitool debian/ipmitool/usr/sbin/ipmievd debian/ipmitool/usr/share/man/man1/ipmitool.1 debian/ipmitool/usr/share/man/man8/ipmievd.8 debian/ipmitool/usr/share/ipmitool/oem_ibm_sel_map debian/ipmitool/usr/share/doc/ipmitool/README debian/ipmitool/usr/share/doc/ipmitool/AUTHORS debian/ipmitool/usr/share/doc/ipmitool/copyright debian/ipmitool/usr/share/doc/ipmitool/changelog.Debian debian/ipmitool/usr/share/doc/ipmitool/changelog """ [2] """ $ dh_installinit -v --name ipmievd --error-handler=ipmievd_initd_failed install -d debian/ipmitool/lib/systemd/system install -p -m0644 debian/ipmitool.ipmievd.service debian/ipmitool/lib/systemd/system/ipmievd.service install -d debian/ipmitool/etc/default install -p -m0644 debian/ipmitool.ipmievd.default debian/ipmitool/etc/default/ipmievd install -d debian/ipmitool/etc/init.d install -p -m0755 debian/ipmitool.ipmievd.init debian/ipmitool/etc/init.d/ipmievd echo "# Automatically added by dh_installinit/10.10.5">> debian/ipmitool.postinst.debhelper sed "s/#SCRIPT#/ipmievd/g;s/#INITPARMS#/defaults/g;s/#ERROR_HANDLER#/ipmievd_initd_failed/g" /usr/share/debhelper/autoscripts/postinst-init-restart >> debian/ipmitool.postinst.debhelper echo '# End automatically added section' >> debian/ipmitool.postinst.debhelper echo "# Automatically added by dh_installinit/10.10.5">> debian/ipmitool.prerm.debhelper sed "s/#SCRIPT#/ipmievd/g;s/#INITPARMS#/defaults/g;s/#ERROR_HANDLER#/ipmievd_initd_failed/g" /usr/share/debhelper/autoscripts/prerm-init-norestart >> debian/ipmitool.prerm.debhelper echo '# End automatically added section' >> debian/ipmitool.prerm.debhelper echo "# Automatically added by dh_installinit/10.10.5">> debian/ipmitool.postrm.debhelper sed "s/#SCRIPT#/ipmievd/g;s/#INITPARMS#/defaults/g;s/#ERROR_HANDLER#/ipmievd_initd_failed/g" /usr/share/debhelper/autoscripts/postrm-init >> debian/ipmitool.postrm.debhelper echo '# End automatically added section' >> debian/ipmitool.postrm.debhelper """ [3] https://tests.reproducible-builds.org/debian/rb-pkg/stretch/amd64/ipmitool.html """ make[1]: Entering directory '/build/ipmitool-1.8.18' dh_systemd_enable --no-enable ipmievd.service dh_systemd_enable: Could not find "ipmievd.service" in the /lib/systemd/system directory of ipmitool. This could be a typo, or using Also= with a service file from another package. Please check carefully that this message is harmless. dh_systemd_enable: Cannot open(ipmievd.service) for extracting the Also= line(s) make[1]: Leaving directory '/build/ipmitool-1.8.18' """