|
|
1.1 ! root 1: # macros crunch procedure ! 2: # ! 3: # SCCS: @(#)macrunch 1.17 ! 4: ! 5: move=n ! 6: roff= ! 7: pname= ! 8: name= ! 9: path=/usr ! 10: ! 11: ! 12: if [ $# -lt 1 ] ! 13: then echo usage: macrunch [-m] [-d path] [{-n _o_r -t} "package name"] ".src name" ! 14: exit 1 ! 15: fi ! 16: ! 17: while [ $# -gt 0 ] ! 18: do ! 19: case $1 in ! 20: ! 21: -m) move=y;; ! 22: -n) roff=n; pname=$2; shift;; ! 23: -t) roff=t; pname=$2; shift;; ! 24: -d) path=$2; shift;; ! 25: *) name=$1;; ! 26: ! 27: esac ! 28: shift ! 29: done ! 30: ! 31: rm -f NOCOMPACT${name} ! 32: ! 33: sed -e "3,\${ ! 34: /^''*\\\\\"/d ! 35: s/ *\\\\\".*// ! 36: s/@//g ! 37: s/^\(['.]\)[ ]*/\1/ ! 38: s/^\\([.'][a-z][a-z]\\) */\\1/ ! 39: s/\\\\{[ ]*/\\\\{/g ! 40: s/<<name>>/${name}/g ! 41: } " \ ! 42: ${name}.src | ./ntar -h "'''>S>" -t "'''>E>" -g > ${name} ! 43: ! 44: if [ -r NOCOMPACT${name} ] ! 45: then ! 46: if [ -n "${roff}" ] ! 47: then ! 48: mv NOCOMPACT${name} ucmp.${roff}.${pname} ! 49: ${path}/bin/${roff}roff -kTMP ${name} - <<! ! 50: .co ! 51: ! ! 52: mv d.TMP cmp.${roff}.d.${pname} ! 53: mv t.TMP cmp.${roff}.t.${pname} ! 54: cat ucmp.${roff}.${pname} >> ${name} ! 55: if [ $move = "y" ] ! 56: then ! 57: cp cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ${path}/lib/macros ! 58: ( cd ${path}/lib/macros ! 59: chmod 644 cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ) ! 60: if [ "${path}" = "/usr" ] ! 61: then ( cd ${path}/lib/macros ! 62: chown bin cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ! 63: chgrp bin cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ) ! 64: else true ! 65: fi ! 66: rm -f cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ! 67: fi ! 68: else ! 69: cat NOCOMPACT${name} >> ${name} ! 70: rm NOCOMPACT${name} ! 71: fi ! 72: fi ! 73: ! 74: if [ $move = "y" ] ! 75: then ! 76: cp ${name} ${path}/lib/macros ! 77: chmod 644 ${path}/lib/macros/${name} ! 78: if [ "${path}" = "/usr" ] ! 79: then chown bin ${path}/lib/macros/${name} ! 80: chgrp bin ${path}/lib/macros/${name} ! 81: else true ! 82: fi ! 83: rm -f ${name} ! 84: fi ! 85: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.