aboutsummaryrefslogtreecommitdiff
path: root/buildtools/debian-skeleton/rpki-ca.prerm
blob: 8b4d394575fbac11ec44ec9e5cf458d7cb013435 (plain) (blame)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/sh
# prerm script for rpki-ca
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <prerm> `remove'
#        * <old-prerm> `upgrade' <new-version>
#        * <new-prerm> `failed-upgrade' <old-version>
#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
#        * <deconfigured's-prerm> `deconfigure' `in-favour'
#          <package-being-installed> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
    remove)

	# Clean up BPKI files.  These all come from SQL, so we can
	# regenerate them easily if appropriate.

	rm -f /usr/share/rpki/ca.cer
	rm -f /usr/share/rpki/irbe.cer
	rm -f /usr/share/rpki/irdbd.cer
	rm -f /usr/share/rpki/pubd.cer
	rm -f /usr/share/rpki/pubd.key
	rm -f /usr/share/rpki/rpkid.cer
	rm -f /usr/share/rpki/rpkid.key

	# Record what will be needed to drop the databases completely,
	# while we still have the necessary configuration data, but
	# postpone dropping the databases until the postrm script,
	# since that's where we find out whether this is a purge.

	rpki-sql-setup --mysql-defaults /etc/mysql/debian.cnf --script-drop >/etc/rpki/drop_databases.sql

	# Clean up our cron jobs.

	rm -f /etc/cron.d/rpkigui-routeviews
	rm -f /etc/cron.daily/rpkigui-check-expired
	rm -f /etc/cron.d/rpki-update-bpki

	# Clean up what we did to Apache.  Modern version of this is
	# just invocation of a Python script, but for now we also
	# retain code needed to clean up nasty mess we created in the
	# past, to avoid breaking old installations on upgrade.

	# Remove the old stuff first, if the containing file even exists.

	f=/etc/apache2/sites-available/default-ssl
	if test -r $f
	then
	    awk < $f > ${f}.tmp '
		BEGIN {
		    conf_file = "/etc/rpki/apache.conf";
		    conf_regexp = "^[ \t]*Include[ \t]+" conf_file "[ \t]*$";
		}
		$0 !~ conf_regexp {
		    print;
		}'

	    if cmp -s ${f}.tmp ${f}.orig
	    then
		mv -f ${f}.orig $f
		rm -f ${f}.tmp
	    else
		mv -f ${f}.tmp $f
	    fi
	fi

	# At this point we've cleaned up our Apache config mess.
	# Not sure whether we should do "service apache2 reload"
	# here, one could make a case either way.  Skip for now.

	# Now remove the new stuff.

	/usr/lib/rpki/rpkigui-apache-conf-gen --remove --verbose

	;;

    upgrade|deconfigure)
    ;;

    failed-upgrade)
    ;;

    *)
        echo "prerm called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0