This file is indexed.

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