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
|
#! /bin/sh
set -e
add_system_user() {
if ! getent passwd _groonga >/dev/null; then
if getent passwd groonga >/dev/null; then
usermod -g nogroup groonga
if pgrep -u groonga groonga-httpd >/dev/null; then
invoke-rc.d groonga-httpd stop
fi
if pgrep -u groonga groonga >/dev/null; then
invoke-rc.d groonga-server-gqtp stop
fi
deluser --system groonga
adduser --system --no-create-home --home /var/lib/groonga --ingroup groonga --force-badname _groonga
else
addgroup --system groonga
adduser --system --home /var/lib/groonga --ingroup groonga --force-badname _groonga
fi
fi
}
fixperms() {
for target in /var/run/groonga /var/lib/groonga /var/log/groonga
do
dpkg-statoverride --list $target >/dev/null || \
dpkg-statoverride --update --add _groonga groonga 0755 $target
done
}
create_database() {
if [ ! -d /var/lib/groonga/db ]; then
mkdir -p /var/lib/groonga/db
groonga -n /var/lib/groonga/db/db shutdown > /dev/null
chown _groonga:groonga /var/lib/groonga
chown _groonga:groonga /var/lib/groonga/db
chown _groonga:groonga /var/lib/groonga/db/db*
else
owner=`stat --format '%U' /var/lib/groonga`
if [ "$owner" = "groonga" ]; then
chown _groonga:groonga /var/lib/groonga
chown _groonga:groonga /var/lib/groonga/db
chown _groonga:groonga /var/lib/groonga/db/db*
fi
fi
}
case "$1" in
configure)
add_system_user
create_database
# buster -> bullseye upgrade migration
if dpkg --compare-versions "$2" lt "11.0.0-2" ; then
dpkg-statoverride --list | \
while read user group mod path
do
if [ "$user" = "groonga" ]; then
dpkg-statoverride --remove $path
dpkg-statoverride --update --add _groonga $group $mod $path
fi
done
fi
fixperms
;;
abort-upgrade|abort-deconfigure|abort-remove)
:
;;
*)
echo "Called with unknown argument $1, bailing out."
exit 1
;;
esac
#DEBHELPER#
|