Rewriting frr.postinst in policy compliant way.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
b2e1126f20
commit
733d0422ce
1 changed files with 64 additions and 37 deletions
93
debian/frr.postinst
vendored
93
debian/frr.postinst
vendored
|
@ -1,48 +1,75 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# most of this file makes sense to execute regardless of whether this is any
|
Remove_default_file()
|
||||||
# of normal "configure" or error-handling "abort-upgrade", "abort-remove" or
|
{
|
||||||
# "abort-deconfigure"
|
FILENAME="${1}"
|
||||||
|
CHECKSUM="${2}"
|
||||||
|
|
||||||
groupadd --system frrvty
|
if [ ! -e "${FILENAME}" ] || [ -z "${CHECKSUM}" ]
|
||||||
groupadd --system frr
|
then
|
||||||
useradd \
|
return 0
|
||||||
--system \
|
fi
|
||||||
-c "Frr routing suite" \
|
|
||||||
-g frr \
|
|
||||||
--home-dir /nonexistent \
|
|
||||||
--no-create-home \
|
|
||||||
frr
|
|
||||||
usermod -a -G frrvty frr
|
|
||||||
|
|
||||||
mkdir -m 0755 -p /var/log/frr
|
MD5SUM="$(md5sum "${FILENAME}" | cut -d' ' -f1)"
|
||||||
mkdir -m 0700 -p /var/lib/frr
|
|
||||||
mkdir -p /etc/frr
|
|
||||||
|
|
||||||
chown frr: /var/lib/frr
|
if [ "${CHECKSUM}" = "${MD5SUM}" ]
|
||||||
|
then
|
||||||
rmsum() {
|
rm -f "${FILENAME}"
|
||||||
fname="$1"
|
|
||||||
test -f "$1" || return 0
|
|
||||||
fhash="`sha1sum \"$fname\"`"
|
|
||||||
fhash="${fhash%% *}"
|
|
||||||
if test "$fhash" = "$2"; then
|
|
||||||
rm "$fname"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "${1}" in
|
||||||
configure)
|
configure)
|
||||||
if test -f /etc/frr/.pkg.frr.nointegrated; then
|
# creating group
|
||||||
# remove integrated config setup
|
for GROUP in frr frrvty
|
||||||
# (if checksums match, the files match freshly installed
|
do
|
||||||
# defaults, but the user has split config in place)
|
if ! getent group "${GROUP}" > /dev/null 2>&1
|
||||||
rmsum /etc/frr/vtysh.conf 5e7e3a488c51751e1ff98f27c9ad6085e1ad9cbb
|
then
|
||||||
rmsum /etc/frr/frr.conf dac6f2af4fca9919ba40eb338885a5d1773195c8
|
groupadd --system "${GROUP}"
|
||||||
rm /etc/frr/.pkg.frr.nointegrated
|
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# creating user
|
||||||
|
if ! getent passwd frr > /dev/null 2>&1
|
||||||
|
then
|
||||||
|
useradd --system -g frr --home-dir /nonexistent --no-create-home frr
|
||||||
|
fi
|
||||||
|
|
||||||
|
usermod -G frrvty frr
|
||||||
|
|
||||||
|
mkdir -p /etc/frr
|
||||||
|
if ! dpkg-statoverride --list /etc/frr > /dev/null 2>&1
|
||||||
|
then
|
||||||
|
dpkg-statoverride --update --add frr frr 0700 /etc/frr
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p /var/lib/frr
|
||||||
|
chown frr:frr /var/lib/frr
|
||||||
|
|
||||||
|
mkdir -p /var/log/frr
|
||||||
|
chown frr:adm /var/log/frr
|
||||||
|
|
||||||
|
if [ -e /etc/frr/.pkg.frr.nointegrated ]
|
||||||
|
then
|
||||||
|
Remove_default_file /etc/frr/frr.conf 53456334f26ca14c15053dff133b4ac0
|
||||||
|
Remove_default_file /etc/frr/vtysh.conf a9381cc58d80a472e8f51522e007e507
|
||||||
|
|
||||||
|
rm -f /etc/frr/.pkg.frr.nointegrated
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`${1}'" >&2
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#DEBHELPER#
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Add table
Reference in a new issue