diff --git a/lib/rfc/grabrfc b/lib/rfc/grabrfc index 4e06df312..76f95097a 100755 --- a/lib/rfc/grabrfc +++ b/lib/rfc/grabrfc @@ -1,19 +1,27 @@ -#!/bin/rc -# grabrfc - copy new rfcs and drafts into /lib/rfc +#!/bin/rc -b +# grabrfc - copy new rfcs into /lib/rfc +# grabrfc -d - copy draft rfcs as well rfork en path=(/bin) fn cd +flagfmt='d:drafts' +eval `''{aux/getflags $*} || exec aux/usage + dom=`{ndb/query sys $sysname dom} if(~ $dom '') dom=$sysname -ramfs -ftpfs -q/ -a $user@$dom ftp.rfc-editor.org # was ftp.isi.edu +ftpfs -q/ -a $user@$dom ftp.rfc-editor.org found=no LIB=/lib/rfc cd /n/ftp/in-notes -for(i in rfc*){ +fn cprfc { + f=$1 + shift +} + +for(i in rfc*.txt){ target=`{ echo $i | sed ' s/.txt$// @@ -31,19 +39,42 @@ if (~ $found yes) sed 's/^[0-9]/rfc&/' >$LIB/index unmount /n/ftp -ftpfs -q/ -a $user@$dom ftp.ietf.org +if (~ $drafts '') + exit + +ftpfs -q/ -a $user@$dom ftp.math.utah.edu # copy in new ones found=no LIB=/lib/rfc/drafts mkdir -p $LIB -cd /n/ftp/internet-drafts -for(i in *){ - target=$i +cd /n/ftp/pub/mirrors/ftp.ietf.org/internet-drafts +for(i in draft-*.txt){ + target=`{ + echo $i | sed ' + s/.txt$// + s/draft-//' + } if (test ! -e $LIB/$target && test -f $i && test `{ls -s $i | sed 's/ .*//'} -ge 2){ - cp $i $LIB/$target - chmod 664 $LIB/$target - echo drafts/$i + cp $i $LIB/$target + chmod 664 $LIB/$target + found=yes + echo drafts/$target } } +if (~ $found yes) { + if (test -f 1id-index.txt) + <1id-index.txt sed ' + s/\.txt// + s/draft-//' > $LIB/index + if not + >[1=2] echo no draft index found + if (test -f 1id-abstracts.txt) + <1id-abstracts.txt sed ' + s/\.txt// + s/draft-//' > $LIB/abstracts + if not + >[1=2] echo no abstracts found +} +unmount /n/ftp