Xref: utzoo news.admin:6595 comp.unix.xenix:7162
Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!virtech!dennis
From: dennis@virtech.UUCP (Dennis P. Bednar)
Newsgroups: news.admin,comp.unix.xenix
Subject: Re: Need help with updating active file
Message-ID: <1028@virtech.UUCP>
Date: 17 Aug 89 07:26:09 GMT
References: <26@dynasys.UUCP>
Distribution: usa
Organization: Virtual Technologies Inc
Lines: 123
In article <26@dynasys.UUCP>, root@dynasys.UUCP (Super user) writes:
> I'm new to using news and I need some help. I am running Xenix and received
> their version of netnews. The active file was old (still had mod in it).
> I need to update it completely but I don't know how I should do this. Can
> anyone help me out?
I recently installed netnews here, and ran into the same problem
you speak of. What I did was to uucp the latest newsgroups file
from a neighboring UUCP site, then I ran a shell script, addgroups.sh,
that read the latest newsgroups file, extracted only the newsgroup
name, and then searched the active file to see if the newsgroup
was already there. If not, it runs "inews -C newsgroup addgroup.sh
# /bin/sh
# addgroup.sh
# read the current newsgroups file and generate newsgroups if the name in
# column one is a new newsgroup, that is, the name is not already
# in the active file
# This procedure was used to generate the newsgroups based on latest
# information from rlgvax on Aug 4 89. dennis
tmpfile=/tmp/news$$
trap "rm -f $tmpfile" 0 1 2 15
# copy to temp file that we can edit
# keep only column 1 which are the newsgroup names
cp newsgroups $tmpfile
ed $tmpfile </dev/null >/dev/null
1,\$s/ .*//
1,\$s/ .*//
w
q
EOF
cat $tmpfile |
while read group
do
grep $group active >/dev/null
if [ $? -eq 0 ]
then
: # found it
else
echo Adding newsgroup $group
/usr/lib/news/inews -C $group diffac.sh
# diff the active vs the newsgroup file
# this is useful for making sure that both files are in sync with one another
# temporary files, removed upon exit
tmpfilex=/tmp/$$xx # /tmp/$$xx
tmpfiley=/tmp/$$yy # /tmp/$$yy
act_not_news=/tmp/$$act_not_news # in active file but not in newsgroups
news_not_act=/tmp/$$news_not_act # in newsgroups file but not in active
trap "rm -f $tmpfilex $tmpfiley $act_not_news $news_not_act" 0 1 2 15
# copy to temp file that we can edit
# keep only column 1 which are the newsgroup names
sort newsgroups | sed -e 's/ .*//' -e 's/ .*//' | uniq >$tmpfiley
#ed $tmpfiley </dev/null >/dev/null
#1,\$s/ .*//
#1,\$s/ .*//
#w
#q
#EOF
sort active | sed -e 's/ .*//' | uniq >$tmpfilex
comm -23 $tmpfilex $tmpfiley >$act_not_news
comm -13 $tmpfilex $tmpfiley >$news_not_act
if [ -s $act_not_news ]
then
echo "The following are in active file but not in newsgroups:"
cat $act_not_news
fi
if [ -s $news_not_act ]
then
echo "The following are in newsgroups file but not in active file:"
cat $news_not_act
fi
SHAR_EOF
# End of shell archive
exit 0