postinst is in vdr 2.2.0-5build1.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #! /bin/sh
# postinst script for vdr
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
# source debconf lib
. /usr/share/debconf/confmodule
#
# Create /var/lib/video if /var/lib/video does not exist.
# If /var/lib/video.00 exists, /var/lib/video will become a symlink
#
TryCreateVideoDir() {
if [ ! -e /var/lib/video -a ! -L /var/lib/video ]; then
if [ -e /var/lib/video.00 ]; then
# No /var/lib/video but /var/lib/video.00 -> Make video a symlink pointing to video.00
ln -s video.00 /var/lib/video
else
# create /var/lib/video
mkdir /var/lib/video
fi
fi
}
InstallChannelsConf() {
[ -e /var/lib/vdr/channels.conf ] && return
case "$1" in
Satellite)
cp /usr/share/vdr/channels.conf-examples/channels.conf.sat /var/lib/vdr/channels.conf
chmod 644 /var/lib/vdr/channels.conf
;;
Terrestrial)
cp /usr/share/vdr/channels.conf-examples/channels.conf.terr /var/lib/vdr/channels.conf
chmod 644 /var/lib/vdr/channels.conf
;;
Cable)
cp /usr/share/vdr/channels.conf-examples/channels.conf.cable /var/lib/vdr/channels.conf
chmod 644 /var/lib/vdr/channels.conf
;;
esac
}
InstallUserAndGroupVdr() {
USER=vdr
GROUP=vdr
if ! getent group "$GROUP"| grep -q "^$GROUP:" ; then
echo -n "Adding group $GROUP.."
addgroup --quiet --system $GROUP
echo "..done"
fi
if ! getent passwd "$USER"| grep -q "^$USER:"; then
echo -n "Adding user $USER.."
adduser --system --home /var/lib/vdr --shell /bin/false \
--gecos "VDR user" --no-create-home \
--disabled-login --disabled-password \
--ingroup $GROUP \
$USER
echo "...done"
fi
# put vdr in group video so that it can access the DVB device nodes
adduser $USER video > /dev/null || true
}
ConfigureOwnerShip() {
# ensure that vdr's config and recording files are correctly owned
[ -e /var/lib/video ] && chown -R $USER:$GROUP /var/lib/video/
if [ -e /var/lib/vdr ] ; then
chown $USER:$GROUP /var/lib/vdr
chown $USER:$GROUP /var/lib/vdr/* > /dev/null 2>&1 || true
fi
if [ -e /var/cache/vdr ] ; then
chown $USER:$GROUP /var/cache/vdr
chown $USER:$GROUP /var/cache/vdr/* > /dev/null 2>&1|| true
fi
# make /usr/lib/vdr/vdr-shutdown.wrapper setuid/setgid
# (owner root:vdr, mode 6750)
if [ -e /usr/lib/vdr/vdr-shutdown.wrapper ] ; then
chown root:$GROUP /usr/lib/vdr/vdr-shutdown.wrapper && \
chmod 6750 /usr/lib/vdr/vdr-shutdown.wrapper
fi
}
# Remove obsolete config files
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
dpkg-maintscript-helper rm_conffile /etc/vdr/plugins/order.conf 2.2.0-1 -- "$@"
fi
case "$1" in
configure)
db_get vdr/select_dvb_card
InstallChannelsConf "$RET"
db_get vdr/create_video_dir
if $RET; then
TryCreateVideoDir
fi
InstallUserAndGroupVdr
ConfigureOwnerShip
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
db_stop
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_systemd_enable
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask vdr.service >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled vdr.service; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable vdr.service >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state vdr.service >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "/etc/init.d/vdr" ]; then
update-rc.d vdr defaults >/dev/null
fi
if [ -x "/etc/init.d/vdr" ] || [ -e "/etc/init/vdr.conf" ]; then
invoke-rc.d vdr start || true
fi
fi
# End automatically added section
exit 0
|