| 1 | #!/bin/sh |
|---|
| 2 | # postinst script for sipbmp3 |
|---|
| 3 | # |
|---|
| 4 | # see: dh_installdeb(1) |
|---|
| 5 | |
|---|
| 6 | set -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 | |
|---|
| 21 | case "$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 | ;; |
|---|
| 130 | esac |
|---|
| 131 | |
|---|
| 132 | # dh_installdeb will replace this with shell code automatically |
|---|
| 133 | # generated by other debhelper scripts. |
|---|
| 134 | |
|---|
| 135 | #DEBHELPER# |
|---|
| 136 | |
|---|
| 137 | exit 0 |
|---|