File: aide-common.postinst

package info (click to toggle)
aide 0.18.3-1%2Bdeb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,368 kB
  • sloc: ansic: 10,364; sh: 6,196; lex: 764; yacc: 123; makefile: 104
file content (104 lines) | stat: -rwxr-xr-x 3,227 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
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
103
104
#!/bin/sh
#
# post-installation script for AIDE
# A whole lot of this is "borrowed" from tripwire's postinst
#

set -e

# We need debconf.
. /usr/share/debconf/confmodule

if [ -n "$AIDEDEBUG" ]; then
  echo "now debugging $0 $@"
  set -x
fi

PKGNAME="aide"

# Flags to be passed to aideinit
aideinitflags="-b"

# Make sure we should be running...
case "$1" in
    configure)
        # continue below
        ;;
    abort-upgrade|abort-remove|abort-deconfigure)
        exit 0
        ;;
    *)
        printf >&2 "postinst called with unknown argument %s\n" "$1"
        exit 0
        ;;
esac

# handle ucf-conffiles

# ucf-helper-functions is part of ucf starting with bullseye
# we keep our own (identical) version for the time being to be
# backportable to buster.
. /usr/share/aide/ucf-helper-functions.sh
SRCDIR="/usr/share/$PKGNAME/config"
TRGDIR="/etc"

# added updating to 0.18-1
rm -rf /var/tmp/aide.cron.daily /var/tmp/aide.cron.daily.old.*

rm -f /var/lib/aide/aide.conf.autogenerated
if dpkg --compare-versions "$2" le "0.16-1"; then
    # we're updating from a version earlier than 0.16-1, rename DHCP conffiles
    rename_ucf_file /etc/aide/aide.conf.d/31_aide_dhcp3-client /etc/aide/aide.conf.d/31_aide_isc-dhcp-client 
    rename_ucf_file /etc/aide/aide.conf.d/31_aide_dhcp3-server /etc/aide/aide.conf.d/31_aide_isc-dhcp-server 
fi
handle_all_ucf_files $SRCDIR $TRGDIR

# in aide 0.17.2-1, the smokeping snippet has been made static
# instead of being a executable snippet. Remove x bits on an unchanged
# file
if [ "$(sha256sum /etc/aide/aide.conf.d/31_aide_smokeping)" = "99f11d04cf33318cef28cb71c252ee0f7b5c37e91893e813973ee120f301a5a7  /etc/aide/aide.conf.d/31_aide_smokeping" ]; then
    chmod 0644 /etc/aide/aide.conf.d/31_aide_smokeping
fi
if [ "$(sha256sum /etc/aide/aide.conf.d/31_aide_sudo)" = "9081189536ce23888827e6cd1f94884033fc5acb689bdf4083001e1ecd7a7e5a  /etc/aide/aide.conf.d/31_aide_sudo" ]; then
    chmod 0644 /etc/aide/aide.conf.d/31_aide_sudo
fi

db_get aide/aideinit
if [ "$RET" = "true" ]; then
	if [ -f "/var/lib/aide/aide.db.new" ]; then
		db_get aideinit/overwritenew
		if [ "$RET" = "true" ]; then
			aideinitflags="$aideinitflags -y"
		fi
	fi
	db_get aideinit/copynew
	if [ "$RET" = "true" ]; then
		aideinitflags="$aideinitflags -f"
	fi
	# borrowed this trick from man-db
	# just making sure it actually ends up in the background...
	start-stop-daemon --start --background --pidfile /dev/null \
	--startas /usr/sbin/aideinit -- $aideinitflags
	db_set aide/aideinit false
fi

#DEBHELPER#

# this needs to be after debhelper, otherwise the account doesn't
# yet exist.
if dpkg --compare-versions "$2" lt 0.17.5-1; then
    # we're updating from a version earlier than 0.17.5, chown logs
    # and databases
    chown --quiet _aide:adm /var/log/aide /var/log/aide/aide.log /var/log/aide/aide.log.* || true
    chmod --quiet 2755 /var/log/aide || true
    chown --quiet _aide:root /var/lib/aide/aide.db /var/lib/aide/aide.db.new || true
fi
if dpkg --compare-versions "$2" le 0.18.3-1; then
    # we're updating from 0.18.3-1 or earlier, chown aideinit logs
    chown --quiet _aide:adm /var/log/aide/aideinit.log /var/log/aide/aideinit.errors|| true
fi

exit 0

# vim:sw=4:sts=4:et: