This file is indexed.

postinst is in vdr 2.0.3-1.

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
#! /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

case "$1" in
    configure)

        . /usr/share/debconf/confmodule

        # install/move channels.conf
        if [ ! -e /var/lib/vdr/channels.conf ]; then
                db_get vdr/select_dvb_card

                case "$RET" 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
        fi

        db_get vdr/create_video_dir
        if $RET; then
                # check if an old directory /var/lib/video exists, and
                # symlink it to /var/lib/video.00
                if [ -d /var/lib/video ] && [ ! -e /var/lib/video.00 ]; then
                        ln -s video /var/lib/video.00
                fi

                # create /var/lib/video.00 if it does not exist
                if [ ! -e /var/lib/video.00 ]; then
                        mkdir /var/lib/video.00
                fi

                # check if /var/lib/video.00 exists and /var/lib/video is
                # missing, then create the symlink /var/lib/video which
                # points to /var/lib/video.00
                if [ ! -e /var/lib/video ] && [ -e /var/lib/video.00 ]; then
                        ln -s video.00 /var/lib/video
                fi
        fi

        # ensure that user and group 'vdr' exist
        USER=vdr
        GROUP=vdr
        if ! getent group | grep -q "^$GROUP:" ; then
                echo -n "Adding group $GROUP.."
                addgroup --quiet --system $GROUP
                echo "..done"
        fi
        if ! getent passwd | 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

        # 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

        # Dropped alternatives from old package version
        # (This can be dropped at squeeze +2)
        update-alternatives --remove vdr /usr/bin/vdr-daemon
        update-alternatives --remove vdr /usr/bin/vdr-kbd
        update-alternatives --remove vdr /usr/bin/vdr-lirc
        update-alternatives --remove vdr /usr/bin/vdr-rcu
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

db_stop


# FIXME
# wait for vdr to properly shutdown before it is restarted again
sleep 5


# Automatically added by dh_installinit
if [ -x "/etc/init.d/vdr" ] || [ -e "/etc/init/vdr.conf" ]; then
	if [ ! -e "/etc/init/vdr.conf" ]; then
		update-rc.d vdr defaults >/dev/null
	fi
	invoke-rc.d vdr start || exit $?
fi
# End automatically added section


exit 0