Article View: de.comp.sources.os9
Article #4MNews Prerelease Part09/09
From: Frank Kaefer
Date: Wed, 23 Dec 1992 19:41
Date: Wed, 23 Dec 1992 19:41
387 lines
10268 bytes
10268 bytes
Submitted-by: Ulrich Dessauer <ud@Nightmare.ddt.sub.org>
Archive-name: mnews/part09
: ----- Cut here ----- Cut here ----- Cut here ----- Cut here -----
: Use sh filename to extract shell archive
: This shell archive contains following files:
: 'SBATCH/sbatch.h 820 bytes'
: 'SH/check.sh 3841 bytes'
: 'SH/install.sh 2041 bytes'
: 'SH/respool.sh 690 bytes'
:
if test -f 'SBATCH/sbatch.h' ; then
echo 'File SBATCH/sbatch.h already exists, overwriting it'
del 'SBATCH/sbatch.h'
fi
echo Extracting \"'SBATCH/sbatch.h'\"
sed "s/^X//" >'SBATCH/sbatch.h' <<'__END__OF__THIS__FILE__'
X/*
X * $Log: sbatch.h_v $
X * Revision 1.1 90/08/31 15:41:07 ud
X * Initial revision
X *
X */
X# include "news.h"
X
X# define EXT_TAB "Convtable"
X
X# define BATCH_TMP "tmp"
X
X# define DEF_MAXSIZ 50000
X# define DEF_MAXARTSIZ (-1)
X
X# define DEF_BITSIZE 16
X# define DEF_GRADE 'T'
X
X# ifndef EXTERN
X# define EXTERN extern
X# endif EXTERN
X
XEXTERN int error;
X
XEXTERN char buffer[512];
X
XEXTERN char *command;
XEXTERN char *transport;
XEXTERN char *encode;
XEXTERN char *compress;
XEXTERN char *freeze;
XEXTERN char *batchdir;
XEXTERN char *newsdir;
XEXTERN char *newslib;
XEXTERN int maxsiz; /* maximum size of spoolfiles */
XEXTERN int maxartsiz; /* maximum size of one article */
XEXTERN int bitsize; /* # of bits for compress */
XEXTERN char grade; /* the grading, if supported */
XEXTERN int convmode; /* converting mode for news */
__END__OF__THIS__FILE__
if test -f 'SH/check.sh' ; then
echo 'File SH/check.sh already exists, overwriting it'
del 'SH/check.sh'
fi
echo Extracting \"'SH/check.sh'\"
sed "s/^X//" >'SH/check.sh' <<'__END__OF__THIS__FILE__'
X: 'this shell script can be used to check your current news'
X: 'installation, but be warned: it is sloowwwwwwww.....'
X: '$Id: check.sh_v 1.1 90/08/31 13:57:59 ud Exp $'
X: 'Copyright (C) 1990 Ulrich Dessauer, Germering, Germany'
X:
X: 'Insert here your local configuration'
X:
XBATCHDIR=/h0/SPOOL/BATCH
XNEWSDIR=/h0/SPOOL/NEWS
XSPOOLDIR=/h0/SPOOL/RNEWS
XNEWSLIB=/h0/USR/LIB/NEWS
XHISTORY=${NEWSLIB}/HISTORY
XNEWS=news
X:
X: 'Get GID.UID from password file'
XOWNER=`grep ${NEWS}, /dd/SYS/password | gawk -F, '{ print $3 }'`
Xif [ X$OWNER = X ]
Xthen
X OWNER=2.39
Xfi
Xecho 'Pass one, check existance of files.'
Xfor file in $BATCHDIR $NEWSDIR $SPOOLDIR $NEWSLIB $HISTORY
Xdo
X echo Check $file
X if test ! -d $file
X then
X echo -r $file 'is not available, Create it ? [y] '
X read ans
X case X$ans in
X X | X[Yy]*)
X makdir $file
X chown -u=$NEWS $file
X ;;
X X[Qq]*)
X echo 'Script aborted.'
X exit 1
X esac
X else
X own=`dir -ne $file | grep -v Bytecount | grep -ve=-------- | gawk '{ print $1 }'`
X if [ X$own != X$OWNER ]
X then
X echo -r 'Owner of' $file 'is not news, change it? [y] '
X read ans
X case X$ans in
X X | X[Yy]*)
X chown -u=$NEWS $file
X ;;
X X[Qq]*)
X echo 'Script aborted.'
X exit 1
X esac
X else
X echo 'Everything looks okay for' $file
X fi
X fi
Xdone
Xfor xfile in Active Distributions Sys send_uuname
Xdo
X file=${NEWSLIB}/${xfile}
X echo Check $file
X if test ! -f $file
X then
X echo -r $file 'is not available, Create it ? [y] '
X read ans
X case X$ans in
X X | X[Yy]*)
X touch $file
X chown -u=$NEWS $file
X ;;
X X[Qq]*)
X echo 'Script aborted.'
X exit 1
X esac
X else
X own=`dir -e $file | grep -v Bytecount | grep -ve=-------- | gawk '{ print $1 }'`
X if [ X$own != X$OWNER ]
X then
X echo -r 'Owner of' $file 'is not news, change it? [y] '
X read ans
X case X$ans in
X X | X[Yy]*)
X chown -u=$NEWS $file
X ;;
X X[Qq]*)
X echo 'Script aborted.'
X exit 1
X esac
X else
X echo 'Everything looks okay for' $file
X fi
X fi
Xdone
Xecho 'Pass two, slightly syntax check of files in' $NEWSLIB
Xcd $NEWSLIB
Xecho 'Check Sys file'
Xcnt=`wc -l Sys | gawk '{ print $1 }'`
Xi=1
Xwhile test $i -le $cnt
Xdo
X sed -n ${i}p Sys | read line
X case X$line in
X X#*)
X echo 'Skip comment line'
X ;;
X *)
X count=`echo $line | gawk -F: '{ print NF }'`
X system=`echo $line | gawk -F: '{ print $1 }' | gawk -F/ '{ print $1 }'`
X case $count in
X 3)
X echo $system 'will be spooled into' $SPOOLDIR
X ;;
X 4)
X cmd=`echo $line | gawk -F: '{ print $4 }'`
X echo $system 'will use the command' $cmd
X ;;
X *)
X echo 'This line may contain some errors (has' $count 'entries)'
X echo $line
X ;;
X esac
X ;;
X esac
X i=`expr $i + 1`
Xdone
Xecho 'Check Active file'
Xcnt=`wc -l Active | gawk '{ print $1 }'`
Xi=1
Xwhile test $i -le $cnt
Xdo
X sed -n ${i}p Active | read line
X case X$line in
X X#*)
X echo 'Skip comment line'
X ;;
X *)
X count=`echo $line | gawk -F: '{ print NF }'`
X case $count in
X 2)
X echo $line | gawk -F: '{ print $2 }' | read start end mod moderator
X status=OKAY
X if test $start -gt $end
X then
X echo 'Start (' $start ') is greater than end (' $end ') in line'
X echo $line
X status=ERR
X fi
X if [ X$mod = Xy ]
X then
X if [ X$moderator = X ]
X then
X echo 'No moderator in moderated group, you should add one; in line'
X echo $line
X status=ERR
X fi
X fi
X if [ $status = OKAY ]
X then
X echo $line 'looks okay'
X fi
X ;;
X *)
X echo 'This line may contain some errors (has' $count 'entries)'
X echo $line
X ;;
X esac
X ;;
X esac
X i=`expr $i + 1`
Xdone
X
__END__OF__THIS__FILE__
if test -f 'SH/install.sh' ; then
echo 'File SH/install.sh already exists, overwriting it'
del 'SH/install.sh'
fi
echo Extracting \"'SH/install.sh'\"
sed "s/^X//" >'SH/install.sh' <<'__END__OF__THIS__FILE__'
X:
X: '$Id: install.sh_v 1.1 90/11/03 02:18:17 ud Exp $'
X: 'Copyright (C) 1989, 1990 by Ulrich Dessauer, Germering, Germany.'
X:
Xcd ..
XBATCHDIR=`grep MNEWS_BATCHDIR config.h | gawk '{ print $4 }' | sed 's/"//g'`
XNEWSDIR=`grep MNEWS_NEWSDIR config.h | gawk '{ print $4 }' | sed 's/"//g'`
XSPOOLDIR=`grep MNEWS_RNEWS_SPOOLDIR config.h | gawk '{ print $4 }' | sed 's/"//g'`
XNEWSLIB=`grep MNEWS_NEWSLIB config.h | gawk '{ print $4 }' | sed 's/"//g'`
XHISTORY=${NEWSLIB}/HISTORY
XOWNER=`grep news, /dd/SYS/password | gawk -F, '{ print $3 }'`
Xif [ X$OWNER = X ]
Xthen
X OWNER=2.39
Xfi
Xstatus=OKAY
Xif [ X$BATCHDIR = X ]
Xthen
X echo 'Could not extract Batchdir properly'
X status=FAIL
Xfi
Xif [ X$NEWSDIR = X ]
Xthen
X echo 'Could not extract Newsdir properly'
X status=FAIL
Xfi
Xif [ X$SPOOLDIR = X ]
Xthen
X echo 'Could not extract Rnews-Spooldir properly'
X status=FAIL
Xfi
Xif [ X$NEWSLIB = X ]
Xthen
X echo 'Could not extract Newslib properly'
X status=FAIL
Xfi
Xif [ ! X$status = XOKAY ]
Xthen
X echo 'Abort due to intact config.h'
X exit 1
Xfi
Xecho -r 'Please type in the gid.uid of your News account [' $OWNER '] '
Xread answer
Xif [ X$answer = X ]
Xthen
X owner=$OWNER
Xelse
X owner=$answer
Xfi
Xfor dir in $BATCHDIR $NEWSDIR $SPOOLDIR $NEWSLIB $HISTORY
Xdo
X if test ! -d $dir
X then
X echo -r 'Create missing directory' $dir '[y] ?'
X read answer
X if [ X$answer = X -o X$answer = Xy ]
X then
X makdir $dir
X chown $owner $dir
X fi
X else
X echo $dir 'exists.'
X fi
Xdone
X:
X: Install missing files, etc
X:
Xif test ! -d LIB
Xthen
X echo 'No LIB directory in your distribution\?'
X exit 1
Xfi
Xcd LIB
Xfor file in *
Xdo
X destfile=${NEWSLIB}/$file
X if test ! -f $destfile
X then
X echo Copy $file to $destfile
X copy $file $destfile
X chown $owner $destfile
X fi
Xdone
Xactive=${NEWSLIB}/Active
Xif test ! -f $active
Xthen
X touch $active
X chown $owner $active
Xfi
Xfor entries in control junk local
Xdo
X if [ ! X`bm -l $entries $active` = X$active ]
X then
X echo 'Create missing newsgroup' $entries
X inews -vac=newgroup:$entries </nil
X fi
Xdone
__END__OF__THIS__FILE__
if test -f 'SH/respool.sh' ; then
echo 'File SH/respool.sh already exists, overwriting it'
del 'SH/respool.sh'
fi
echo Extracting \"'SH/respool.sh'\"
sed "s/^X//" >'SH/respool.sh' <<'__END__OF__THIS__FILE__'
X: 'This script can be used to feed articles stored in (typical)'
X: '/h0/SPOOL/RNEWS from a failed rnews operation'
X: '$Id$'
X: 'Copyright (C) 1990 Ulrich Dessauer, Germering, Germany'
X:
X: 'Insert here your local configuration'
X:
XRNEWSDIR=/h0/SPOOL/RNEWS
X:
Xcd $RNEWSDIR
Xif [ $? -ne 0 ]
Xthen
X echo "Cannot chdir to $RNEWSDIR, aborted"
X exit 1
Xfi
Xfor i in *
Xdo
X if [ "$i" = "*" ]
X then
X echo "No files in $RNEWSDIR"
X exit 0
X fi
X case X$i in
X [0-9]*)
X inews < $i
X if [ $? -eq 0 ]
X then
X del $i
X else
X echo "Article $i could not be fed successfully to inews"
X fi
X ;;
X *)
X echo "$i seems not to be a proper file to be feed to inews"
X ;;
X esac
Xdone
__END__OF__THIS__FILE__
exit 0
: end of shell archive
--
Frank Kaefer # fkk@stasys.sta.sub.org # Starnberg, Germany
Technical Details
Message-ID:
<1hafdsINNptu@stasys.sta.sub.org>Path:
arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!ames!sun-barr!news2me.EBay.Sun.COM!seven-up.East.Sun.COM!sungy!stasys!stasys!not-for-mailShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!ames!sun-barr!news2me.EBay.Sun.COM!seven-up.East.Sun.COM!sungy!stasys!stasys!not-for-mail From: frank.kaefer@stasys.sta.sub.org (Frank Kaefer) Newsgroups: de.comp.sources.os9,comp.os.os9 Subject: MNews Prerelease Part09/09 Message-ID: <1hafdsINNptu@stasys.sta.sub.org> Date: 23 Dec 92 19:41:48 GMT Sender: news@stasys.sta.sub.org Followup-To: de.comp.sources.d Organization: Stasys News Server, Starnberg, Germany Lines: 387 Approved: frank.kaefer@stasys.sta.sub.org (Frank Kaefer) NNTP-Posting-Host: stasys.sta.sub.org