#! /bin/sh # addgroup - add a newsgroup, locally only # =()<. ${NEWSCONFIG-@@}>()= . ${NEWSCONFIG-/usr/local/libexec/cnews/config} PATH=$NEWSCTL/bin:$NEWSBIN/maint:$NEWSBIN/relay:$NEWSBIN:$NEWSPATH ; export PATH umask $NEWSUMASK usage="Usage: $0 groupname {y|n|m|x|=realgroup}" case $# in 2) ;; *) echo "$usage" >&2 ; exit 2 ;; esac case "$1" in */*) echo "$usage" >&2 ; exit 2 ;; esac case "$2" in [ynmx]) ;; =*/*) echo "$usage" >&2 ; exit 2 ;; =*) ;; *) echo "$usage" >&2 ; exit 2 ;; esac already="`awk '\$1 == \"'"$1"'\"' $NEWSCTL/active`" if test " $already" != " " then echo "$0: $1 appears to exist already: \`$already'" >&2 exit 1 fi lock -v LOCK $$ 5 || exit 1 trap "unlock LOCK ; trap 0 ; exit 0" 0 1 2 15 max=0000000000 case "$2" in [x=]*) ;; *) d=`echo $1 | tr . /` hi= if test -d $NEWSARTS/$d # recreating old group then hi=`ls -f $NEWSARTS/$d | egrep '^[0-9]+$' | sort -n | tail -1` fi if test " $hi" != " " # old articles still there then max=000$hi fi mkpdir $NEWSARTS/$d $NEWSOV/$d touch $NEWSOV/$d/.overview ;; esac echo "$1 $max 00001 $2" >>$NEWSCTL/active SENDER=${LOGNAME-${USER-unknown}}@`newshostname` echo "$1 `now` $SENDER" >>$NEWSCTL/active.times