[PKG-OpenRC-Debian] Bug#765785: openrc: can't cope with dangling rc.d links
Gabriele Giacone
1o5g4r8o at gmail.com
Sat Oct 25 14:01:16 UTC 2014
Control: tags -1 + patch
Please consider attached patch.
--
G..e
-------------- next part --------------
diff --git a/debian/changelog b/debian/changelog
index 464e751..b3a0bec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+openrc (0.13.1-3) UNRELEASED; urgency=medium
+
+ * Fix postinst, make dangling links presence not fatal (Closes: #765785).
+
+ -- Gabriele Giacone <1o5g4r8o at gmail.com> Sat, 25 Oct 2014 15:30:56 +0200
+
openrc (0.13.1-2) unstable; urgency=medium
[ Steven Chamberlain ]
diff --git a/debian/openrc.postinst b/debian/openrc.postinst
index 8438f00..b0f287c 100644
--- a/debian/openrc.postinst
+++ b/debian/openrc.postinst
@@ -9,22 +9,34 @@ if [ "${1}" = "configure" ] ; then
[ -d /etc/rc${rl}.d ] || continue
for f in $(ls -1 /etc/rc${rl}.d | egrep 'S[[:digit:]]{2}*'); do
- svc=$(readlink -f /etc/rc${rl}.d/${f})
- svc=$(basename ${svc})
- update-rc.d ${svc} enable ${rl}
+ rclink=/etc/rc${rl}.d/${f}
+ initsh=$(readlink -f ${rclink})
+ svc=$(basename ${initsh})
+ if [ -f ${initsh} ]; then
+ update-rc.d ${svc} enable ${rl}
+ else
+ echo "*** WARNING: dangling link $rclink"
+ echo $dsvcs|grep -qw ${svc} || dsvcs="$dsvcs ${svc}"
+ fi
done
done
[ -d /etc/rc6.d ] && for f in $(ls -1 /etc/rc6.d | egrep 'K[[:digit:]]{2}*'); do
- svc=$(readlink -f /etc/rc6.d/${f})
- # no need to duplicate services in the off runlevel
- egrep -q '# Default-Start:\s+[S12345]' ${svc} && continue
+ rclink=/etc/rc6.d/${f}
+ initsh=$(readlink -f ${rclink})
+ svc=$(basename ${initsh})
+ if [ -f ${initsh} ]; then
+ # no need to duplicate services in the off runlevel
+ egrep -q '# Default-Start:\s+[S12345]' ${initsh} && continue
- svc=$(basename ${svc})
- # reboot is managed by transit as below
- [ ${svc} = reboot ] && continue
+ # reboot is managed by transit as below
+ [ ${svc} = reboot ] && continue
- update-rc.d ${svc} enable 6
+ update-rc.d ${svc} enable 6
+ else
+ echo "*** WARNING: dangling link $rclink"
+ echo $dsvcs|grep -qw ${svc} || dsvcs="$dsvcs ${svc}"
+ fi
done
rc-update add savecache off
@@ -36,6 +48,15 @@ if [ "${1}" = "configure" ] ; then
rc-update -u
+ if [ "$dsvcs" != "" ]; then
+ echo "**********************************************************************"
+ echo "*** WARNING: Found the following dangling links:"
+ for link in $dsvcs; do
+ ls -l /etc/rc*.d/*$link
+ done
+ echo "**********************************************************************"
+ fi
+
echo "**********************************************************************"
echo "*** WARNING: if you are replacing sysv-rc by OpenRC, then you must ***"
echo "*** reboot immediately using the following command: ***"
More information about the OpenRC-devel
mailing list