|
|
1.1 ! root 1: # @(#)fulltext:docsubmit 1.18 ! 2: ! 3: # THis routine was originally written by Lorinda Cherry - it gathers up ! 4: # all the files connected with a documents, and transmits them via ! 5: # uucp to mhuxd!~/full.text/ ! 6: # ! 7: # It bundles all the files involved together into one cpio file ! 8: # called <1st 5 chars of machine name><process id>.cp ! 9: ! 10: # Finding a good awk is a pain - set it here if you want ! 11: L=/usr/lib/docsubmit ! 12: AWK="" ! 13: if test -z "${AWK}" ! 14: then ! 15: if ans=`sh -c 'logdir exptools' 2>&1` ; then ! 16: : ! 17: else ! 18: ans=`grep '^exptools:' /etc/passwd | sed "s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*/\1/"` ! 19: fi ! 20: if test -r ${ans}/bin/nawk ! 21: then ! 22: AWK=${ans}/bin/nawk ! 23: fi ! 24: fi ! 25: if test -z "${AWK}" ! 26: then ! 27: if test -r /usr/local/bin/awk ! 28: then ! 29: AWK=/usr/local/bin/awk ! 30: fi ! 31: fi ! 32: if test -z "${AWK}" ! 33: then ! 34: AWK=awk ! 35: fi ! 36: ! 37: # Get machine nodename - swiped from rn build routine Configure ! 38: if ans=`sh -c hostname 2>&1` ; then ! 39: MACH=$ans ! 40: elif ans=`sh -c 'uuname -l' 2>&1` ; then ! 41: MACH=$ans ! 42: elif ans=`sh -c 'uname -n' 2>&1` ; then ! 43: MACH=$ans ! 44: else ! 45: MACH=failedget ! 46: fi ! 47: # Get the users LOGNAME ! 48: if ans=`sh -c logname 2>&1` ; then ! 49: LOGNAME=$ans ! 50: else ! 51: LOGNAME=`echo $HOME|sed 's/.*\///'` ! 52: fi ! 53: ! 54: T=/tmp ! 55: AWKTEMP=/tmp/Doc.Awk.$$ ! 56: OUTP="junk" ! 57: COVER="junk" ! 58: DOCNUM="junk" ! 59: REF="" ! 60: # cut the machine name down to a max of 5 characters ! 61: DIR=`echo ${MACH} | sed 's/\(.....\).*/\1/'`$$ ! 62: NAME=$DIR ! 63: DIR=$T/$DIR ! 64: trap 'rm -f ${AWKTEMP} $DIR/* $T/$NAME.cp ; rmdir $DIR 2>>/dev/null; trap 0;exit' 0 1 2 15 ! 65: if test $# -eq 0 ! 66: then ! 67: echo "docsubmit -C -c file.cover -N number -r ref_file -t file(s)" ! 68: echo " -C if document complete without coversheet, else -c file.cover" ! 69: echo " -N number if document number not included in the files" ! 70: echo " -r to include a refer file" ! 71: echo " -t if source is Knuths TeX instead of troff/nroff\n" ! 72: echo " Two examples, first with cover sheet, second without:" ! 73: echo " docsubmit -c mydoc.cover mydoc.text mydoc.append" ! 74: echo " docsubmit -C -N 79111-880324-01 mydoc.text" ! 75: exit 0 ! 76: fi ! 77: for i in $* ! 78: do case $i in ! 79: -r) shift; REF=$1; shift; continue;; ! 80: -c) shift; COVER=$1; shift; continue;; ! 81: -C) shift; COVER=$$; continue;; ! 82: -t) shift; TEX="yes"; ARG=$1; shift; continue;; ! 83: -N) shift; DOCNUM=$1; shift; continue;; ! 84: -*) echo docsubmit unknown flag $i; exit 1;; ! 85: esac ! 86: done ! 87: ARGS=$* ! 88: if test "$COVER" = "junk" ! 89: then ! 90: echo "You must include the coversheet file for the paper to be submitted" ! 91: echo "If the coversheet is in the files (or the files are the complete document)," ! 92: echo " indicate this by using the -C flag" ! 93: echo "Use the flag -N number if document number not included in the files" ! 94: echo " ===> Full text of document not sent <===" ! 95: exit 1 ! 96: fi ! 97: ! 98: # check the entered document number ! 99: if test ${DOCNUM} != "junk" ! 100: then ! 101: x=`expr "${DOCNUM}" : '^[a-zA-Z0-9]*-[89][0-9]*-[0-9][0-9]'` ! 102: if test $x -lt 2 ! 103: then ! 104: echo "\nDocument numbers must be of form OrgNum-Date-seq" ! 105: echo " Where Date is usually YYMMDD (e.g. 881224) [always starts with a year]" ! 106: echo " and the sequence number is always 2 digits (e.g. 03)" ! 107: echo " ===> Full text of document not sent <===" ! 108: exit 1 ! 109: fi ! 110: fi ! 111: OUTP=$DIR/$NAME ! 112: mkdir $DIR ! 113: if test $TEX ! 114: then ! 115: case $OUTP in ! 116: *.*) echo "the name for a TeX paper cannot contain . tex gets confused" ! 117: echo " use _ or - instead" ! 118: exit 1 ! 119: esac ! 120: BBL=$OUTP.bbl ! 121: OUTP=$OUTP.tex ! 122: echo "%...\\\"" `date` >$OUTP ! 123: echo "%...\\\"" EmailAddress ${MACH}"!"${LOGNAME} >>$OUTP ! 124: if test "${DOCNUM}" != "junk" ! 125: then ! 126: echo "%...\\\" DocNum ${DOCNUM}" >>$OUTP ! 127: fi ! 128: echo "%...\\\"" `pwd` >>$OUTP ! 129: ${AWK} -f $L/tex.awk dir=$DIR texinp=$TEXINPUTS $ARG.tex >>$OUTP ! 130: # Check that it ended okay ! 131: if test $? -ne 0 ! 132: then ! 133: echo "Sorry - couldnt collect together the full text of your document." ! 134: echo "No full text was sent! Contact the docsubmit provider with questions." ! 135: exit 1 ! 136: fi ! 137: ! 138: if test -s $ARG.bbl ! 139: then ! 140: cp $ARG.bbl $BBL ! 141: else if test \( -s $ARG.bib \) -a \( ! -s $DIR/$ARG.bib \) ! 142: then ! 143: cp $ARG.bib $BIB ! 144: fi ! 145: fi ! 146: else ! 147: echo "...\\\"" `date` >$OUTP ! 148: echo "...\\\"" EmailAddress ${MACH}"!"${LOGNAME} >>$OUTP ! 149: if test "${DOCNUM}" != "junk" ! 150: then ! 151: echo "...\\\" DocNum ${DOCNUM}" >>$OUTP ! 152: fi ! 153: echo "...\\\"" `pwd` >>$OUTP ! 154: if test $REF ! 155: then ! 156: cat >>$OUTP <<x ! 157: ...\"refer first ! 158: x ! 159: fi ! 160: if test $COVER = $$ ! 161: then ! 162: PARMS="$ARGS" ! 163: else ! 164: PARMS="$COVER $ARGS" ! 165: fi ! 166: ${AWK} -f $L/troff.awk dir=$DIR $PARMS >>$OUTP ! 167: if test $? -ne 0 ! 168: then ! 169: echo "Sorry - couldnt collect together the full text of your document." ! 170: echo "No full text was sent! Contact the docsubmit provider with questions." ! 171: exit 1 ! 172: fi ! 173: ! 174: if test $REF ! 175: then ! 176: cat >>$OUTP <<x ! 177: ...\"refer begin ! 178: x ! 179: cat $REF >>$OUTP ! 180: cat >>$OUTP <<x ! 181: ...\"refer end ! 182: x ! 183: fi ! 184: fi ! 185: cd $T ! 186: ls $NAME/*|cpio -oc >$NAME.cp ! 187: chmod 0644 $NAME.cp ! 188: uucp -C $NAME.cp mhuxd!~/full.text/ ! 189: echo " ! 190: The full text of your document has been sent to the Library Network. ! 191: Please note that an official paper copy MUST still be filed. ! 192: " ! 193: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.