[23006] | 1 | #!/bin/sh |
---|
| 2 | set -e |
---|
| 3 | |
---|
| 4 | name=lprng |
---|
[23733] | 5 | daname=debathena-lprng |
---|
| 6 | daversionappend=debathena5 |
---|
[23078] | 7 | section=debathena |
---|
[23006] | 8 | |
---|
| 9 | hack_package () { |
---|
[23017] | 10 | # Rename the package and make it not conflict with lpr or cupsys-bsd. |
---|
[23006] | 11 | perl -pe 's/^Package: lprng$/Package: debathena-lprng/' -i debian/control |
---|
[23017] | 12 | perl -ne '/^Provides: lpr$/ || print;' -i debian/control |
---|
| 13 | perl -pe '/^Conflicts/ && s/lpr, //' -i debian/control |
---|
[23006] | 14 | perl -pe '/^Conflicts/ && s/cupsys-bsd/lprng/' -i debian/control |
---|
[23017] | 15 | perl -pe '/^Replaces/ && s/lpr/lprng/' -i debian/control |
---|
[23006] | 16 | |
---|
| 17 | perl -n -i - debian/rules << 'EOS' |
---|
| 18 | if (/^build:/) { |
---|
| 19 | # lprng has a gcc 4.2.3-related build failure on some dists. |
---|
| 20 | # src/common/plp_snprintf.c uses a macro safestrlen() on |
---|
| 21 | # character arrays in four places; the macro triggers GCC's |
---|
| 22 | # -Waddress warning since it tests for the falsehood of an |
---|
| 23 | # array address. This is a workaround. |
---|
| 24 | print "confflags += --disable-werror\n"; |
---|
| 25 | } |
---|
| 26 | |
---|
| 27 | # Since we're renaming the main package, we have to adjust |
---|
| 28 | # where things get installed. But make sure not to change |
---|
| 29 | # references to debian/lprng-doc, which we aren't renaming. |
---|
| 30 | s|debian/lprng|debian/debathena-lprng|; |
---|
| 31 | s|debian/debathena-lprng-doc|debian/lprng-doc|; |
---|
| 32 | |
---|
| 33 | print; |
---|
| 34 | |
---|
| 35 | # Rename the commands. |
---|
| 36 | if (/^[^#]*MAKE.*install/) { |
---|
| 37 | my $usr = "debian/debathena-lprng/usr"; |
---|
| 38 | my $man1 = "$usr/share/man/man1"; |
---|
| 39 | my $man8 = "$usr/share/man/man8"; |
---|
| 40 | print "\trm $usr/bin/cancel\n"; |
---|
| 41 | print "\tln -s mit-lprm $usr/bin/cancel\n"; |
---|
| 42 | print "\trm $usr/bin/lp\n"; |
---|
| 43 | print "\tln -s mit-lpr $usr/bin/lp\n"; |
---|
| 44 | print "\tmv $usr/bin/cancel $usr/bin/mit-cancel\n"; |
---|
| 45 | print "\tmv $usr/bin/lp $usr/bin/mit-lp\n"; |
---|
| 46 | print "\tmv $usr/bin/lpq $usr/bin/mit-lpq\n"; |
---|
| 47 | print "\tmv $usr/bin/lprm $usr/bin/mit-lprm\n"; |
---|
| 48 | print "\tmv $usr/bin/lpr $usr/bin/mit-lpr\n"; |
---|
| 49 | print "\tmv $usr/bin/lpstat $usr/bin/mit-lpstat\n"; |
---|
| 50 | print "\tmv $usr/sbin/lpc $usr/sbin/mit-lpc\n"; |
---|
| 51 | print "\tmv $man1/cancel.1 $man1/mit-cancel.1\n"; |
---|
| 52 | print "\tmv $man1/lp.1 $man1/mit-lp.1\n"; |
---|
| 53 | print "\tmv $man1/lpq.1 $man1/mit-lpq.1\n"; |
---|
| 54 | print "\tmv $man1/lprm.1 $man1/mit-lprm.1\n"; |
---|
| 55 | print "\tmv $man1/lpr.1 $man1/mit-lpr.1\n"; |
---|
| 56 | print "\tmv $man1/lpstat.1 $man1/mit-lpstat.1\n"; |
---|
| 57 | print "\tmv $man8/lpc.8 $man8/mit-lpc.8\n"; |
---|
| 58 | } |
---|
| 59 | EOS |
---|
| 60 | |
---|
[23016] | 61 | # The postinst script sets or unsets the setuid bit of |
---|
| 62 | # lpr/lprm/lpq and thus needs to be adjusted for the command |
---|
| 63 | # renaming. |
---|
| 64 | perl -pe 's|/usr/bin/lp|/usr/bin/mit-lp|' -i debian/postinst |
---|
| 65 | |
---|
[23006] | 66 | # The renamed binary package no longer matches the source package |
---|
| 67 | # name, so we have to rename a bunch of debhelper files. |
---|
[23007] | 68 | for f in config cron.daily dirs examples init.d mime postinst postrm \ |
---|
| 69 | preinst prerm templates; do |
---|
[23010] | 70 | [ -f debian/$f ] && mv debian/$f debian/debathena-lprng.$f |
---|
[23006] | 71 | done |
---|
| 72 | perl -pe 's/templates/debathena-lprng.templates/' -i debian/po/POTFILES.in |
---|
| 73 | |
---|
[23008] | 74 | # lprng's cron job generates mail to root each day if you're not |
---|
| 75 | # running a server. Fix this problem by making the cron script |
---|
| 76 | # conditional on the existence of /etc/printcap, just as the |
---|
| 77 | # init.d script is. |
---|
| 78 | perl -ne 'print; /#.*main/ && print "[ -f /etc/printcap ] || exit 0\n";' \ |
---|
| 79 | -i debian/debathena-lprng.cron.daily |
---|
| 80 | |
---|
[23006] | 81 | append_description <<EOF |
---|
| 82 | . |
---|
[23377] | 83 | This package was rebuilt for the Debathena project to rename the |
---|
[23006] | 84 | package and commands so that it no longer conflicts with cupsys-bsd. |
---|
| 85 | EOF |
---|
| 86 | add_changelog 'Rename commands.' |
---|
[23078] | 87 | munge_sections |
---|
[23733] | 88 | |
---|
| 89 | perl -pe 'm{^Package: lprng-doc$} .. s{^Section: debathena}{Section: debathena-system}' -i debian/control |
---|
[23006] | 90 | } |
---|
| 91 | |
---|
| 92 | . ../common/debathenificator.sh |
---|