Package: debhelper Version: 13.7.1 Severity: wishlist Dear Maintainer,
The roundcube packages ships a temporary directory which is cleaned via cronjobs and which I'd like to define via tmpfiles.d(5) instead. debhelper 13.7.1 adds the following snippet to the postinst script: # Automatically added by dh_installtmpfiles/13.7.1 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then # In case this system is running systemd, we need to ensure that all # necessary tmpfiles (if any) are created before starting. if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ] ; then systemd-tmpfiles --create roundcube.conf >/dev/null || true fi fi # End automatically added section So this is a no-op unless PID1 is systemd, which is indeed documented in dh_installtmpfiles(1): debian/package.tmpfiles […] Note that the "tmpfiles.d" mechanism is currently only used by systemd. I personally don't really mind the ‘Depends: systemd’, but this breaks DEP-8 tests in shallow isolation levels. It seems the snippet guard could be relaxed somewhat: systemd ≥249.3-2 provides systemd-standalone-tmpfiles which ships /bin/systemd-tmpfiles, and with ‘Depends: systemd-standalone-tmpfiles | systemd’ I was able to fix the autopkgtest by unconditionally calling `systemd-tmpfiles --create roundcube.conf >/dev/null || true` in the postinst. Wouldn't it make sense to replace the guard with `command -v systemd-tmpfiles` so the command is run whenever systemd-tmpfiles(8) exists? This appears to work regardless of whether it's shipped by systemd or systemd-standalone-tmpfiles, even when /run/systemd/system doesn't exist (such as in a minimal chroot). Thanks for maintaining debhelper! -- Guilhem.
signature.asc
Description: PGP signature