source: debian/sipbmp3.postinst @ 10c2c36

debianmacno-cupsnodebathenaweb
Last change on this file since 10c2c36 was 10c2c36, checked in by Jessica B. Hamrick <jhamrick@…>, 15 years ago

Initial code creation. Need to build the package and see if it works.

  • Property mode set to 100644
File size: 4.2 KB
Line 
1#!/bin/sh
2# postinst script for sipbmp3
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9#        * <postinst> `configure' <most-recently-configured-version>
10#        * <old-postinst> `abort-upgrade' <new version>
11#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12#          <new-version>
13#        * <postinst> `abort-remove'
14#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15#          <failed-install-package> <version> `removing'
16#          <conflicting-package> <version>
17# for details, see http://www.debian.org/doc/debian-policy/ or
18# the debian-policy package
19
20
21case "$1" in
22    configure)
23        # make sure init symlinks for debathena-lprng exist, so that lpd starts
24        # up with the computer
25        if [ -x /etc/init.d/debathena-lprng ]; then
26            symlinkexists=$(ls /etc/rc*.d/*debathena-lprng)
27            if [ ! -n "$symlinkexists" ]; then
28                echo "Creating init symlinks for debathena-lprng..."
29                ln -s ../etc/init.d/debathena-lprng /etc/rc2.d/S60debathena-lprng
30                ln -s ../etc/init.d/debathena-lprng /etc/rc3.d/S60debathena-lprng
31                ln -s ../etc/init.d/debathena-lprng /etc/rc4.d/S60debathena-lprng
32                ln -s ../etc/init.d/debathena-lprng /etc/rc5.d/S60debathena-lprng
33                ln -s ../etc/init.d/debathena-lprng /etc/rc0.d/K40debathena-lprng
34                ln -s ../etc/init.d/debathena-lprng /etc/rc1.d/K40debathena-lprng
35                ln -s ../etc/init.d/debathena-lprng /etc/rc6.d/K40debathena-lprng
36            fi
37        else
38            echo "debathena-lprng init script does not exist!"
39            exit 1
40        fi
41
42        if [ ! -e /etc/printcap ]; then
43            echo "/etc/printcap does not exist, creating it..."
44            touch /etc/printcap
45        fi
46
47        if [ ! -e /etc/lprng/printcap ]; then
48            echo "/etc/lprng/printcap does not exist, creating it..."
49            ln -s /etc/printcap /etc/lprng/printcap
50        fi
51
52        # add the appropriate entry into /etc/printcap, /etc/lprng/printcap
53        echo "sipbmp3" >> /etc/printcap
54        echo "  :server" >> /etc/printcap
55        echo "  :cm=sipbmp3 music spooler" >> /etc/printcap
56        echo "  :lp=/dev/null" >> /etc/printcap
57        echo "  :if=|/root/sipbmp3-filter" >> /etc/printcap
58        echo "  :sd=/var/spool/lpd/sipbmp3" >> /etc/printcap
59        echo "  :ml=0:mx=0:sh:sf" >> /etc/printcap
60        echo "  :create_files" >> /etc/printcap
61
62        # add the printcap path to lpd.conf
63        if [ -e /etc/lprng/lpd.conf ]; then
64            mv /etc/lprng/lpd.conf /etc/lprng/lpd.conf.bak
65            touch /etc/lprng/lpd.conf   
66
67            while read line; do
68                printcap=$(echo line | grep ^printcap_path=*)
69                if [ -n "$printcap" ]; then
70                    echo "#$line" >> /etc/lprng/lpd.conf
71                    echo "$line" | sed s/printcap_path=\/printcap_path=\/etc\/lprng\/printcap:|/ >> /etc/lprng/lpd.conf
72                else
73                    echo "$line" >> /etc/lprng/lpd.conf
74                fi
75            done < /etc/lprng/lpd.conf.bak
76            rm /etc/lprng/lpd.conf.bak
77        else
78            touch /etc/lprng/lpd.conf
79            echo "printcap_path=/etc/lprng/printcap" >> /etc/lprng/lpd.conf
80        fi
81
82        # add lpd_listen_port to lpd.conf
83        lpd_listen_port=$(cat /etc/lprng/lpd.conf | grep ^lpd_listen_port=515)
84        if [ ! -n "$lpd_listen_port" ]; then
85            echo "lpd_listen_port=515" >> /etc/lprng/lpd.conf
86        fi
87
88        # make sure directories exist for checkpc
89        if [ ! -d /var/spool/lpd ]; then
90            mkdir /var/spool/lpd
91            mkdir /var/spool/lpd/%P
92        else
93            if [ ! -d /var/spool/lpd/%P ]; then
94                mkdir /var/spool/lpd/%P
95            fi
96        fi
97        checkpc -V -f
98
99        # make lpd less paranoid about accepting connections
100        # (comment out REJECT NOT SERVER)
101        # allow other users to dequeue music
102        # (comment out REJECT SERVICE=M
103        if [ -e /etc/lprng/lpd.perms ]; then
104            mv /etc/lprng/lpd.perms /etc/lprng/lpd.perms.bak
105            touch /etc/lprng/lpd.perms 
106
107            while read line; do
108                reject_not_server=$(echo line | grep ^REJECT\ NOT\ SERVER)
109                if [ -n "$reject_not_server" ]; then
110                    echo "#$line" >> /etc/lprng/lpd.conf
111                else
112                    reject_service=$(echo line | grep ^REJECT\ SERVICE=M)
113                    if [ -n "$reject_service" ]; then
114                        echo "#line" >> /etc/lprng/lpd.conf
115                    else
116                        echo "$line" >> /etc/lprng/lpd.conf
117                    fi
118                fi
119            done < /etc/lprng/lpd.perms.bak
120            rm /etc/lprng/lpd.perms.bak
121    ;;
122
123    abort-upgrade|abort-remove|abort-deconfigure)
124    ;;
125
126    *)
127        echo "postinst called with unknown argument \`$1'" >&2
128        exit 1
129    ;;
130esac
131
132# dh_installdeb will replace this with shell code automatically
133# generated by other debhelper scripts.
134
135#DEBHELPER#
136
137exit 0
Note: See TracBrowser for help on using the repository browser.