64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#! /bin/sh
|
||
|
||
set -e
|
||
|
||
case "$1" in
|
||
configure)
|
||
# add hplip system user (requires adduser >= 3.34)
|
||
# don't muck around with this unless you KNOW what you're doing
|
||
echo "Creating/updating hplip user account..."
|
||
adduser --system --ingroup lp --home /run/hplip \
|
||
--gecos "HPLIP system user" --shell /bin/false \
|
||
--quiet --disabled-password hplip || {
|
||
# adduser failed. Why?
|
||
if getent passwd hplip >/dev/null ; then
|
||
echo "Non-system user hplip found. I will not overwrite a non-system" >&2
|
||
echo "user. Remove the user and reinstall hplip." >&2
|
||
exit 1
|
||
fi
|
||
# unknown adduser error, simply exit
|
||
exit 1
|
||
}
|
||
|
||
# Statoverrides in ephemeral directories don't work. They should be removed (#952580)
|
||
for i in /run/hplip /var/run/hplip
|
||
do
|
||
if dpkg-statoverride --list $i > /dev/null; then
|
||
dpkg-statoverride --remove $i
|
||
fi
|
||
done
|
||
|
||
# Adjust permissions and ownerships of the /var/log/hp/tmp (fax spool)
|
||
# directory (https://bugs.launchpad.net/bugs/1187132)
|
||
for i in /var/log/hp/tmp
|
||
do
|
||
if ! dpkg-statoverride --list $i > /dev/null; then
|
||
dpkg-statoverride --update --add root lp 775 $i
|
||
fi
|
||
done
|
||
|
||
|
||
# Remove shutdown and reboot links; this init script does not need them.
|
||
if dpkg --compare-versions "$2" lt "1.7.3-0ubuntu4"; then
|
||
update-rc.d -f hplip remove
|
||
fi
|
||
|
||
# Fix PPD file paths in /etc/hp/hplip.conf to make sure that hp-setup
|
||
# finds the fax PPDs
|
||
perl -p -i -e 's:^(\s*ppd=).*$:\1/usr/share/ppd/hplip/HP:' /etc/hp/hplip.conf
|
||
perl -p -i -e 's:^(\s*ppdbase=).*$:\1/usr/share/ppd/hplip:' /etc/hp/hplip.conf
|
||
;;
|
||
|
||
abort-upgrade|abort-remove|abort-deconfigure)
|
||
;;
|
||
|
||
*)
|
||
echo "postinst called with unknown argument \`$1'" >&2
|
||
exit 1
|
||
;;
|
||
esac
|
||
|
||
|
||
|
||
exit 0
|