File: runit-init.postrm

package info (click to toggle)
runit 2.2.0-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,568 kB
  • sloc: ansic: 6,071; sh: 3,419; makefile: 399
file content (65 lines) | stat: -rw-r--r-- 3,313 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh

set -e

# with --no-rename the *.real diverted files will not be back and the system is left without helpers!
# dpkg-divert --rename would do the job but then piuparts throws errors like
# debsums: missing file /usr/sbin/invoke-rc.d.real (from init-system-helpers package)
# so we use --no-rename and restore essential files manually; here, ; *.real files are created in prerm
if [ "$1" = "remove" ] || [ "$1" = "abort-install" ] || [ "$1" = "disappear" ] ; then
	dpkg-divert --package runit-init  --no-rename \
          --divert /usr/sbin/invoke-rc.d.real --remove /usr/sbin/invoke-rc.d
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/sbin/service.real --remove /usr/sbin/service
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/share/man/man8/invoke-rc.d.real.8.gz --remove /usr/share/man/man8/invoke-rc.d.8.gz
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/share/man/man8/service.real.8.gz --remove /usr/share/man/man8/service.8.gz

#        dpkg-divert --package runit-init  --no-rename \
#          --divert /usr/share/man/man8/invoke-rc.d.8.gz.real --remove /usr/share/man/man8/invoke-rc.d.8.gz
#        dpkg-divert --package runit-init  --no-rename \
#          --divert /usr/share/man/man8/service.8.gz.real --remove /usr/share/man/man8/service.8.gz
fi

#the following can be removed in after trixie +1 release (2.1.2-61 out of oldstable)
if [ "abort-upgrade" = "$1" ] && dpkg --compare-versions "$2" lt 2.1.2-61; then
	dpkg-divert --package runit-init  --no-rename \
          --divert /usr/sbin/invoke-rc.d.real --remove /usr/sbin/invoke-rc.d
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/sbin/service.real --remove /usr/sbin/service
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/share/man/man8/invoke-rc.d.real.8.gz --remove /usr/share/man/man8/invoke-rc.d.8.gz
        dpkg-divert --package runit-init  --no-rename \
          --divert /usr/share/man/man8/service.real.8.gz --remove /usr/share/man/man8/service.8.gz
fi #end: remove after trixie +1

# dpkg-divert --no-rename does not restore files until i-s-h package is upgraded/reinstalled
# so we are restoring files here
for f in invoke-rc.d service; do
    if [ ! -e /usr/sbin/"$f" ]; then
      echo " $f not restored by dpkg-divert"
    fi
    if [ ! -e /usr/sbin/"$f" ] && [ -e /usr/sbin/"$f".real ]; then
      echo " restoring $f.real into $f"
      mv /usr/sbin/"$f.real" /usr/sbin/"$f"
    fi
    if [ ! -e /usr/sbin/"$f" ]; then
      echo " no $f found! system will be broken: to fix it, please do"
      echo " 'apt-get install --reinstall init-system-helpers' as soon as possbile!'"
    fi
done
for f in invoke-rc.d service; do
    # remove after froky +1, see #1107917
    if [ ! -e /usr/share/man/man8/"$f".8.gz ] && [ -e /usr/share/man/man8/"$f".8.gz.real ]; then
      echo " restoring $f.real into $f"
      mv /usr/share/man/man8/"$f".8.gz.real /usr/share/man/man8/"$f".8.gz
    fi #end: remove after froky +1
    if [ ! -e /usr/share/man/man8/"$f".8.gz ] && [ -e /usr/share/man/man8/"$f".real.8.gz ]; then
      echo " restoring $f.real into $f"
      mv /usr/share/man/man8/"$f".real.8.gz /usr/share/man/man8/"$f".8.gz
    fi
done
#DEBHELPER#

exit 0