Package: runit-helper
Version: 2.8.15
Severity: normal
Tags: patch

The following code

if [ "${ENABLE}" = yes ] && \
                [ ! -h "/etc/runit/runsvdir/default/.$NAME" ] ; then
                        ln -sf "/etc/sv/$NAME" 
"/etc/runit/runsvdir/default/$NAME"

creates a loop of symlinks if the symlink already exists.
The runit service remains functional but the loop prevents the removal of
the service directory (not empty) on purge.
Affects each package that uses dh-runit.



diff --git a/runit-helper b/runit-helper
index 70596ce..7b92efe 100755
--- a/runit-helper
+++ b/runit-helper
@@ -40,7 +40,10 @@ postinst () {
        # decision (see #899242 and 942323 ).
        if [ "${ENABLE}" = yes ] && \
                [ ! -h "/etc/runit/runsvdir/default/.$NAME" ] ; then
-               ln -sf "/etc/sv/$NAME" "/etc/runit/runsvdir/default/$NAME"
+               # avoid infinte loop of symlinks
+               if [ ! -h "/etc/runit/runsvdir/default/$NAME" ]; then
+                       ln -sf "/etc/sv/$NAME" 
"/etc/runit/runsvdir/default/$NAME"
+               fi
        fi
        # ENABLE=no is always a no-op
 


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-1-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: runit (via /run/runit.stopit)

-- no debconf information

Reply via email to