henry@utzoo.uucp (Henry Spencer) (01/18/90)
This is the second of two coordinated patches; the first appeared yesterday. The big change, set up in the first and implemented in the second, is that build has been revamped to use your previous answers as the defaults for the next run. (Thanks to the magic :-( of context diffs, and the large number of lines affected, the changes to build itself are essentially the entire second patch.) The only other thing in the second patch is a fix of a (largely harmless) buglet in the changes to sendbatches. start of patch 17-Jan-1990 (suggested archive name: `pch17Jan90.Z') this should be run with patch -p0 <thisfile Please do the following (there is no easy way we can convince patch to do this automatically): rm conf/query The following is a complete list of patches to date. Prereq: 23-Jun-1989 Prereq: 7-Jul-1989 Prereq: 23-Jul-1989 Prereq: 22-Aug-1989 Prereq: 24-Aug-1989 Prereq: 14-Sep-1989 Prereq: 13-Nov-1989 Prereq: 10-Jan-1990 Prereq: 16-Jan-1990 *** PATCHDATES.old Wed Jan 17 16:06:28 1990 --- PATCHDATES Wed Jan 17 16:06:29 1990 *************** *** 1,9 **** --- 1,10 ---- 23-Jun-1989 7-Jul-1989 23-Jul-1989 22-Aug-1989 24-Aug-1989 14-Sep-1989 13-Nov-1989 10-Jan-1990 16-Jan-1990 + 17-Jan-1990 Changed files, if any: *** cnpatch/old/batch/sendbatches Tue Jan 16 17:58:27 1990 --- batch/sendbatches Wed Jan 17 15:51:28 1990 *************** *** 134,138 **** # No -- need some more batches. if test ! -s togo && test ! -s togo.more && ! test ! -s togo.more then break # Nothing left to do. --- 134,138 ---- # No -- need some more batches. if test ! -s togo && test ! -s togo.more && ! test ! -s togo.next then break # Nothing left to do. *** cnpatch/old/conf/build Wed Jan 10 19:10:17 1990 --- conf/build Wed Jan 17 15:57:36 1990 *************** *** 1,4 **** --- 1,14 ---- #! /bin/sh + PATH=:$PATH + # configuration variables to remember for next time + vars='newsuid newsgid binuid bingid binsrc mess unmess newsarts newsctl + newsbin newsumask newsmaster newsconfig chown chboth chgrp unixkind + addrsize dbmopt faststdio storeval faststrchr sete sprintfchar ranlib + symdef cc copts ldopts postlibs hostname uname uucptype dftype dfdirs + archive spacelow nfsgroup server manpages manmess rbin doui bin atok + postdefltdist paranoid whoami mailname organization postdefltgroup + newspath fake fakehdrs' + # functions and headers we are prepared to fake mightfake='fsync getopt memcpy memcmp memchr memset mkdir *************** *** 22,38 **** echo 'You probably need your system manuals handy.' echo ! echo 'When a question is asked in the form "How are you [okay]? ", the' echo 'answer in brackets is what you will get if you just hit RETURN.' ! chmod +x query # just in case ! if test " `./query hi | wc -c`" -ne 2 then ! echo 'The "query" utility that this command needs does not seem to' ! echo 'be working properly. It is supposed to work like "echo"' ! echo 'except not produce a newline at the end. You will have to fix' ! echo 'it (it is a shell file). (Most versions of "echo" have a way' ! echo 'to suppress the newline, but unfortunately there are at least' ! echo 'two different incompatible ways.)' ! exit 1 fi --- 32,53 ---- echo 'You probably need your system manuals handy.' echo ! echo "When a question is asked in the form \`How are you [okay]? ', the" echo 'answer in brackets is what you will get if you just hit RETURN.' + echo '(If you want give an empty string as the answer, type a single' + echo "\`-' instead.)" ! chmod +x ask yesno notinlist # just in case ! ! if test -r build.def then ! echo ! tmp=`yesno 'Do you want to use your previous answers as defaults' no` ! case "$tmp" in ! yes) echo ! echo 'Picking up defaults, from last run...' ! . build.def ! echo 'done' ! ;; ! esac fi *************** *** 42,69 **** echo 'be owned by another user, typically the same one who owns most of the' echo 'rest of the system.' ! ./query 'What user id should be used for news files [news]? ' ! read newsuid ! case "$newsuid" in ! '') newsuid=news ;; ! esac ! ./query 'What group id should be used for news files [news]? ' ! read newsgid ! case "$newsgid" in ! '') newsgid=news ;; ! esac ! ./query 'What user id should be used for news programs [bin]? ' ! read binuid ! case "$binuid" in ! '') binuid=bin ;; ! esac ! ./query 'What group id should be used for news programs [bin]? ' ! read bingid ! case "$bingid" in ! '') bingid=bin ;; ! esac ! ./query "Do the C News sources belong to $binuid [yes]? " ! read answer ! case "$answer" in ! n*|N*) echo "You may need to do some of the installation procedures by hand" echo "after the software is built; doit.bin assumes that it has the" echo "power to create files in the source directories and to update" --- 57,67 ---- echo 'be owned by another user, typically the same one who owns most of the' echo 'rest of the system.' ! newsuid=`ask 'What user id should be used for news files' ${newsuid-news}` ! newsgid=`ask 'What group id should be used for news files' ${newsgid-news}` ! binuid=`ask 'What user id should be used for news programs' ${binuid-bin}` ! bingid=`ask 'What group id should be used for news programs' ${bingid-bin}` ! binsrc=`yesno "Do the C News sources belong to $binuid" ${binsrc-yes}` ! case "$binsrc" in ! no) echo "You may need to do some of the installation procedures by hand" echo "after the software is built; doit.bin assumes that it has the" echo "power to create files in the source directories and to update" *************** *** 72,77 **** esac ! answer= ! if test -d /var -a -d /usr/share then echo --- 70,74 ---- esac ! if test '(' -d /var -a -d /usr/share ')' -o " $mess" = " yes" then echo *************** *** 78,104 **** echo 'It would appear that your system is among the victims of the' echo '4.4BSD / SVR4 directory reorganization, with (e.g.) shared' ! ./query 'data in /usr/share. Is this correct [yes]? ' ! read answer ! case "$answer" in ! y*|Y*|'') answer=y ;; ! esac fi ! if test " $answer" = " y" ! then ! echo 'This will affect where C News directories go. We recommend' echo 'making the directories wherever they have to go and then making' echo 'symbolic links to them under the standard names that are used' echo 'as defaults in the following questions. Should such links' ! ./query 'be made [yes]? ' ! read makelinks ! case "$makelinks" in ! y*|Y*|'') makelinks=y ;; ! esac echo 'Our 4.4ish friends suggest putting articles in /var/spool/news' echo 'and control files in /usr/share/news, with programs left where' echo 'they are in /usr/lib/newsbin.' ! fi - needsubst= echo echo 'C News lives primarily under three directories: one for articles (and' --- 75,95 ---- echo 'It would appear that your system is among the victims of the' echo '4.4BSD / SVR4 directory reorganization, with (e.g.) shared' ! mess=`yesno 'data in /usr/share. Is this correct' ${mess-yes}` ! else ! mess=no fi ! case "$mess" in ! yes) echo 'This will affect where C News directories go. We recommend' echo 'making the directories wherever they have to go and then making' echo 'symbolic links to them under the standard names that are used' echo 'as defaults in the following questions. Should such links' ! unmess=`yesno 'be made' ${unmess-yes}` echo 'Our 4.4ish friends suggest putting articles in /var/spool/news' echo 'and control files in /usr/share/news, with programs left where' echo 'they are in /usr/lib/newsbin.' ! ;; ! *) unmess=no ;; ! esac echo echo 'C News lives primarily under three directories: one for articles (and' *************** *** 105,185 **** echo 'incoming and outgoing spooling), one for control files, and one for' echo 'programs.' ! ./query 'Where should articles live [/usr/spool/news]? ' ! read newsarts ! case "$newsarts" in ! '') newsarts=/usr/spool/news ;; ! *) needsubst=y ;; esac ! ./query 'Where should control files live [/usr/lib/news]? ' ! read newsctl ! case "$newsctl" in ! '') newsctl=/usr/lib/news ;; ! *) needsubst=y ;; esac - ./query 'Where should programs live [/usr/lib/newsbin]? ' - read newsbin - case "$newsbin" in - '') newsbin=/usr/lib/newsbin ;; - *) needsubst=y ;; - esac - if test " $makelinks" = " y" - then - realarts="$newsarts" - realctl="$newsctl" - realbin="$newsbin" - newsarts="/usr/spool/news" - newsctl="/usr/lib/news" - newsbin="/usr/lib/newsbin" - fi ! echo ! echo 'C News by default assumes that all normal Unix programs can be found' ! echo 'in /bin or /usr/bin. This is naive, especially on Berkeley-derived' ! echo 'systems where some standard programs inexplicably moved to /usr/ucb.' ! newspath='/bin:/usr/bin' ! if test '(' ! -f /bin/wc -a ! -f /usr/bin/wc ')' -o \ '(' ! -f /bin/hostname -a ! -f /usr/bin/hostname -a \ -f /usr/ucb/hostname ')' ! then ! echo 'It would appear that some standard programs live in /usr/ucb' ! ./query 'on your system. Is that right [yes]? ' ! read ucb ! else ! echo 'It would appear that /usr/ucb does not exist or is not needed' ! ./query 'for normal operation on your system. Is that right [yes]? ' ! read ucb ! case "$ucb" in ! y*|Y*|'') ucb=no ;; ! n*|N*) ucb=yes ;; ! esac ! fi ! case "$ucb" in ! y*|Y*|'') ./query 'Should /usr/ucb go before or after /bin and /usr/bin [after]? ' ! read answer ! case "$answer" in ! a*|A*|'') newspath="$newspath:/usr/ucb" ;; ! *) newspath="/usr/ucb:$newspath" ;; esac ! needsubst=y ;; - esac - while true - do - echo 'Is there any other directory which should be searched to find' - ./query 'standard programs on your system [no]? ' - read answer - case "$answer" in - n*|N*|'') break ;; - *) needsubst=y ;; esac ! ./query 'What is the full name of the directory? ' ! read dir ! ./query 'Should it go before or after the others [after]? ' ! read answer ! case "$answer" in ! a*|A*|'') newspath="$newspath:$dir" ;; ! *) newspath="$dir:$newspath" ;; ! esac ! done echo --- 96,165 ---- echo 'incoming and outgoing spooling), one for control files, and one for' echo 'programs.' ! newsarts=`ask 'Where should articles live' ${newsarts-/usr/spool/news}` ! newsctl=`ask 'Where should control files live' ${newsctl-/usr/lib/news}` ! newsbin=`ask 'Where should programs live' ${newsbin-/usr/lib/newsbin}` ! case "$unmess" in ! yes) linkarts="/usr/spool/news" ! linkctl="/usr/lib/news" ! linkbin="/usr/lib/newsbin" ! ;; esac ! ! case "$newspath" in ! '') pathok=no ;; ! *) echo ! echo "Is $newspath" ! echo 'the correct path to follow to find standard programs on your' ! pathok=`yesno 'system' yes` ! ;; esac ! case "$pathok" in ! no) newspath='/bin:/usr/bin' ! echo ! echo 'C News by default assumes that all normal Unix programs can be' ! echo 'found in /bin or /usr/bin. This is naive, especially on' ! echo 'Berkeley-derived systems where some standard programs' ! echo 'inexplicably moved to /usr/ucb.' ! if test '(' ! -f /bin/wc -a ! -f /usr/bin/wc ')' -o \ '(' ! -f /bin/hostname -a ! -f /usr/bin/hostname -a \ -f /usr/ucb/hostname ')' ! then ! echo 'It appears that some standard programs live in /usr/ucb' ! needucb=`yesno 'on your system. Is that right' yes` ! else ! echo 'It appears that /usr/ucb does not exist or is not' ! echo 'needed for normal operation on your system. Is that' ! tmp=`yesno 'right' yes` ! case "$tmp" in ! yes) needucb=no ;; ! no) needucb=yes ;; esac ! fi ! case "$needucb" in ! yes) echo 'Should /usr/ucb be searched after /bin and /usr/bin' ! tmp=`yesno '(as opposed to before)' yes` ! case "$tmp" in ! yes) newspath="$newspath:/usr/ucb" ;; ! no) newspath="/usr/ucb:$newspath" ;; ! esac ;; esac ! while true ! do ! echo 'Is there any other directory which should be searched' ! more=`yesno 'to find standard programs on your system' no` ! case "$more" in ! no) break ;; ! esac ! dir=`ask 'What is the full name of the directory' /urk` ! bef=`yesno 'Should it go after (as opposed to before) the others' yes` ! case "$bef" in ! no) newspath="$dir:$newspath" ;; ! yes) newspath="$newspath:$dir" ;; ! esac ! done ! ;; ! esac echo *************** *** 189,198 **** echo 'others-access bits would be a mask of 027, for example.) Usually' echo 'a umask of 002 or 022 is appropriate.' ! ./query 'What umask should C News use [002]? ' ! read newsumask ! case "$newsumask" in ! '') newsumask=002 ;; ! *) needsubst=y ;; ! esac echo --- 169,173 ---- echo 'others-access bits would be a mask of 027, for example.) Usually' echo 'a umask of 002 or 022 is appropriate.' ! newsumask=`ask 'What umask should C News use' ${newsumask-002}` echo *************** *** 201,210 **** echo "specific user, so you won't have to change the software when you get a" echo 'new administrator.' ! ./query 'Where should C News mail trouble reports [usenet]? ' ! read newsmaster ! case "$newsmaster" in ! '') newsmaster=usenet ;; ! *) needsubst=y ;; ! esac echo --- 176,180 ---- echo "specific user, so you won't have to change the software when you get a" echo 'new administrator.' ! newsmaster=`ask 'Where should C News mail trouble reports' ${newsmaster-usenet}` echo *************** *** 214,253 **** echo 'unless you play tricks with environment variables (see documentation).' echo 'Where should the shell configuration file be' ! ./query "located [$newsctl/bin/config]? " ! read newsconfig ! case "$newsconfig" in ! '') newsconfig=$newsctl/bin/config ;; ! *) needsubst=y ;; ! esac echo ! ./query 'What is the full pathname of the chown command [/etc/chown]? ' ! read chown ! case "$chown" in ! '') chown=/etc/chown ;; ! esac ! echo "Can I say '$chown $newsuid.$newsgid file' to change both the user id" ! ./query 'and group id of a file [yes]? ' ! read chboth case "$chboth" in ! y*|Y*|'') chboth=y ;; esac - if test " $chboth" != " y" - then - ./query 'Is there a chgrp command to change the group of a file [yes]? ' - read chgrp - case "$chgrp" in - n*|N*) echo 'You will need to edit doit.root by hand before running it.' - echo "It will assume that 'chown $newsuid.$newsgid' works." - chboth=y - ;; - *) ./query 'What is the full pathname of the chgrp command [/etc/chgrp]? ' - read chgrp - case "$chgrp" in - '') chgrp=/etc/chgrp ;; - esac - ;; - esac - fi echo --- 184,198 ---- echo 'unless you play tricks with environment variables (see documentation).' echo 'Where should the shell configuration file be' ! newsconfig=`ask 'located' ${newsconfig-$newsctl/bin/config}` echo ! chown=`ask 'What is the full pathname of the chown command' ${chown-/etc/chown}` ! echo "Can I say \`$chown $newsuid.$newsgid file' to change both the user id" ! chboth=`yesno 'and group id of a file' ${chboth-yes}` case "$chboth" in ! no) chgrp=`ask 'What is the full pathname of chgrp' ${chgrp-/etc/chgrp}` ! ;; ! yes) chgrp="/etc/chgrp" ;; esac echo *************** *** 266,272 **** ln= lb= ! if test " $makelinks" = " y" ! then ! echo "mkdir $realarts $realctl $realbin" if test " $realarts" != " $newsarts" then --- 211,216 ---- ln= lb= ! case "$unmess" in ! yes) echo "mkdir $realarts $realctl $realbin" if test " $realarts" != " $newsarts" then *************** *** 284,288 **** lb="$lb $realbin" fi ! fi n="$newsarts $newsarts/in.coming $newsarts/in.coming/bad" n="$n $newsarts/out.going $newsctl $newsctl/bin" --- 228,233 ---- lb="$lb $realbin" fi ! ;; ! esac n="$newsarts $newsarts/in.coming $newsarts/in.coming/bad" n="$n $newsarts/out.going $newsctl $newsctl/bin" *************** *** 295,308 **** echo " fi" echo "done" ! if test " $chboth" = " y" ! then ! echo "$chown $newsuid.$newsgid $n $ln" echo "$chown $binuid.$bingid $b $lb" ! else ! echo "$chown $newsuid $n $ln" echo "$chgrp $newsgid $n $ln" echo "$chown $binuid $b $lb" echo "$chgrp $bingid $b $lb" ! fi echo ": done" ) >>doit.root --- 240,253 ---- echo " fi" echo "done" ! case "$chboth" in ! yes) echo "$chown $newsuid.$newsgid $n $ln" echo "$chown $binuid.$bingid $b $lb" ! ;; ! no) echo "$chown $newsuid $n $ln" echo "$chgrp $newsgid $n $ln" echo "$chown $binuid $b $lb" echo "$chgrp $bingid $b $lb" ! ;; ! esac echo ": done" ) >>doit.root *************** *** 317,326 **** while true do ! ./query 'Which best describes your system [v7]? ' ! read unixkind ! if test " $unixkind" = " " ! then ! unixkind=v7 ! fi if test -d ../lib$unixkind then --- 262,266 ---- while true do ! unixkind=`ask 'Which best describes your system' ${unixkind-v7}` if test -d ../lib$unixkind then *************** *** 335,344 **** while true do ! ./query 'Which best describes your system [big]? ' ! read addrsize ! if test " $addrsize" = " " ! then ! addrsize=big ! fi if test -d ../lib$addrsize then --- 275,279 ---- while true do ! addrsize=`ask 'Which best describes your system' ${addrsize-big}` if test -d ../lib$addrsize then *************** *** 353,388 **** echo 'possibly-missing library functions, and fake versions of the' echo 'possibly-missing system calls, but it needs to know which are missing.' ! fake= for fn in $mightfake do ! ./query "Does your system have $fn() [yes]? " ! read answer ! case "$answer" in ! y*|Y*|'') ;; ! *) fake="$fake $fn.o" ;; esac done ! ./query "Does your system have a library function ldiv() as in ANSI C? [no]? " ! read answer ! case "$answer" in ! n*|N*|'') fake="$fake ldiv.o" ;; esac ! ./query 'Does your system have the "dbm" library [yes]? ' ! read answer ! case "$answer" in ! y*|Y*|'') ./query 'What is the compile option needed to get it [-ldbm]? ' ! read answer ! case "$answer" in ! '') answer=-ldbm ;; ! esac ! dbm="DBM=$answer" ! ./query 'Does your dbm have a dbmclose() function [no]? ' ! read answer ! case "$answer" in ! n*|N*|'') fake="$fake dbmclose.o" ;; ! esac ! ;; ! *) fake="$fake dbm.o dbmclose.o" ! dbm='DBM=' echo "Okay, we'll fake it for you. You might want to look at" echo "contrib/dbz, which is a probably-superior fake that we have" --- 288,317 ---- echo 'possibly-missing library functions, and fake versions of the' echo 'possibly-missing system calls, but it needs to know which are missing.' ! newfake= for fn in $mightfake do ! has=`notinlist "$fake" $fn.o` ! tmp=`yesno "Does your system have $fn()" $has` ! case "$tmp" in ! no) newfake="$newfake $fn.o" ;; esac done ! has=`notinlist "$fake" ldiv.o` ! tmp=`yesno 'Does your system have a library function ldiv() as in ANSI C' $has` ! case "$tmp" in ! no) newfake="$newfake ldiv.o" ;; esac ! has=`notinlist "$fake" dbm.o` ! tmp=`yesno 'Does your system have the "dbm" library' $has` ! case "$tmp" in ! yes) dbmopt=`ask 'What is the compile option needed to get it' ${dbmopt--ldbm}` ! has=`notinlist "$fake" dbmclose.o` ! tmp=`yesno 'Does your dbm have a dbmclose() function' $has` ! case "$tmp" in ! no) newfake="$newfake dbmclose.o" ;; ! esac ! ;; ! no) newfake="$newfake dbm.o dbmclose.o" ! dbmopt= echo "Okay, we'll fake it for you. You might want to look at" echo "contrib/dbz, which is a probably-superior fake that we have" *************** *** 390,446 **** ;; esac echo echo 'Many systems, notably older ones, have implementations of the Standard' ! echo 'I/O library ("stdio") in which fgets, fputs, fread, and fwrite, although' ! echo 'correct, are quite slow. We supply versions of these functions which' ! echo 'are faster than those in any stdio we know; they are compatible with' ! echo 'most AT&T-derived stdios. If they work on your system, they are a' echo 'major performance win for C News. There is a fairly thorough' echo 'compatibility check run after the library is built; as far as we' echo 'know, if the test works, the functions do (even on SunOS 4.0).' ! ./query 'Do you want to use our fast stdio library [yes]? ' ! read libstdio ! case "$libstdio" in ! y*|Y*|'') libstdio=libstdio ! echo 'Beware that the compatibility check will work best if' ! echo 'the output of doit.bin is NOT redirected into a file' ! echo 'or a pipe.' ! ;; ! *) libstdio= ;; esac ! if test " $dbm" != " DBM=" ! then ! echo echo 'Does the store() function in your dbm library return a' ! ./query 'value (some old ones did not) [yes]? ' ! read storeval ! case "$storeval" in ! y*|Y*|'') storeval=y ;; ! esac ! else ! storeval=y ! fi ! found= ! for f in $fake dummy ! do ! if test " $f" = " strchr.o" ! then ! found=y ! fi ! done ! if test " $found" = " " ! then ! echo ! echo 'A well-tuned strchr() function customized to a particular machine' echo 'is usually faster than portable C. Is your strchr() function' ! ./query 'indeed fast (okay to guess) [yes]? ' ! read faststrchr ! case "$faststrchr" in ! y*|Y*|'') faststrchr=y ;; ! esac ! fi echo --- 319,357 ---- ;; esac + fake="$newfake" echo echo 'Many systems, notably older ones, have implementations of the Standard' ! echo 'I/O library ("stdio") in which fgets, fputs, fread, and fwrite are' ! echo 'quite slow. We supply versions of these functions which are faster' ! echo 'than those in any stdio we know; they are compatible with most' ! echo 'AT&T-derived stdios. If they work on your system, they are a' echo 'major performance win for C News. There is a fairly thorough' echo 'compatibility check run after the library is built; as far as we' echo 'know, if the test works, the functions do (even on SunOS 4.0).' ! faststdio=`yesno 'Do you want to use our fast stdio library' ${faststdio-yes}` ! case "$faststdio" in ! yes) echo 'Beware that the compatibility check will work best if' ! echo 'the output of doit.bin is NOT redirected into a file' ! echo 'or a pipe.' ! ;; esac ! case "$dbmopt" in ! '') storeval=yes ;; ! *) echo echo 'Does the store() function in your dbm library return a' ! storeval=`yesno 'value (some old ones did not)' ${storeval-yes}` ! ;; ! esac ! has=`notinlist "$fake" strchr.o` ! case "$has" in ! yes) echo ! echo 'A well-tuned strchr() function customized to your machine' echo 'is usually faster than portable C. Is your strchr() function' ! faststrchr=`yesno 'indeed fast (okay to guess)' ${faststrchr-yes}` ! ;; ! esac echo *************** *** 453,461 **** echo 'systems that are too old to do setuid(geteuid()). Relaynews invokes' echo 'it automatically if needed (and it then invokes relaynews in return).' ! ./query 'Can this system do setuid(geteuid()) [yes]? ' ! read sete ! case "$sete" in ! y*|Y*|'') sete=y ;; ! esac echo --- 364,368 ---- echo 'systems that are too old to do setuid(geteuid()). Relaynews invokes' echo 'it automatically if needed (and it then invokes relaynews in return).' ! sete=`yesno 'Can this system do setuid(geteuid())' ${sete-yes}` echo *************** *** 462,480 **** echo 'Some systems have header files that others lack, and C News' echo 'is prepared to fake missing ones.' ! fakehdrs= for h in $mightfakehdrs do ! ./query "Does your system have an ANSI-C-conforming <$h> [yes]? " ! read answer ! case "$answer" in ! y*|Y*|'') ;; ! *) fakehdrs="$fakehdrs ../include/$h" ;; esac done ! ./query "Does your system have <sys/timeb.h> [yes]? " ! read answer ! case "$answer" in ! n*|N*) fakehdrs="$fakehdrs ../include/sys/timeb.h" ;; esac echo --- 369,387 ---- echo 'Some systems have header files that others lack, and C News' echo 'is prepared to fake missing ones.' ! newfakehdrs= for h in $mightfakehdrs do ! has=`notinlist "$fakehdrs" ../include/$h` ! tmp=`yesno "Does your system have an ANSI-C-conforming <$h>" $has` ! case "$tmp" in ! no) newfakehdrs="$newfakehdrs ../include/$h" ;; esac done ! has=`notinlist "$fakehdrs" ../include/sys/timeb.h` ! tmp=`yesno 'Does your system have <sys/timeb.h>' $has` ! case "$tmp" in ! no) newfakehdrs="$newfakehdrs ../include/sys/timeb.h" ;; esac + fakehdrs="$newfakehdrs" echo *************** *** 481,495 **** echo 'Some old systems think sprintf() returns a value of type "char *".' echo 'The modern standard is that it returns "int". Does your sprintf()' ! ./query 'return "char *" [no]? ' ! read answer ! case "$answer" in ! n*|N*|'') ;; ! *) echo 'You may have to hand-edit our "libc.h" include file if' ! echo 'your compiler objects to us declaring sprintf() to' ! echo 'return "int". (This will usually happen only if your' ! echo '<stdio.h> header file declares sprintf() -- some do,' ! echo 'some do not.) If you do need to edit "libc.h", look' ! echo 'for the definition of "sprvalue".' ! ;; esac --- 388,400 ---- echo 'Some old systems think sprintf() returns a value of type "char *".' echo 'The modern standard is that it returns "int". Does your sprintf()' ! sprintfchar=`yesno 'return "char *"' ${sprintfchar-no}` ! case "$sprintfchar" in ! yes) echo 'You may have to hand-edit our "libc.h" include file if' ! echo 'your compiler objects to us declaring sprintf() to' ! echo 'return "int". (This will usually happen only if your' ! echo '<stdio.h> header file declares sprintf() -- some do,' ! echo 'some do not.) If you do need to edit "libc.h", look' ! echo 'for the definition of "sprvalue".' ! ;; esac *************** *** 498,519 **** echo 'chosen very carefully. V7 introduced "ranlib" which removes the need' echo 'for this. Recent System Vs have had the same facility built into "ar"' ! echo '(look for "symdef" in the "ar" manual page) so "ranlib" is not needed.' ! ./query "Does your system have a 'ranlib' command [no]? " ! read ranlib case "$ranlib" in ! n*|N*|'') ! ./query 'Does your "ar" have a "symdef" feature [yes]? ' ! read answer ! case "$answer" in ! n*|N*) echo 'You have trouble and may need to modify doit.bin before' echo 'running it. It will assume "ranlib" is present.' ! ranlib=y ;; - *) ranlib= - ;; esac ;; ! *) ranlib=y ! ;; esac --- 403,418 ---- echo 'chosen very carefully. V7 introduced "ranlib" which removes the need' echo 'for this. Recent System Vs have had the same facility built into "ar"' ! echo '(look for the "symdef" feature in the "ar" manual page) so "ranlib"' ! ranlib=`yesno 'is not needed. Does your system use 'ranlib'' ${ranlib-no}` case "$ranlib" in ! no) symdef=`yesno 'Does your "ar" have a "symdef" feature' ${symdef-yes}` ! case "$symdef" in ! no) echo 'You have trouble and may need to modify doit.bin before' echo 'running it. It will assume "ranlib" is present.' ! ranlib=yes ;; esac ;; ! yes) symdef=no ;; esac *************** *** 521,530 **** echo 'Historically the C compiler is named "cc", but this is not true on' echo 'some systems, and on others there are several different C compilers.' ! ./query 'What is the name of the C compiler to be used [cc]? ' ! read cc ! case "$cc" in ! '') cc= ;; ! *) cc="CC=$cc" ;; ! esac echo --- 420,424 ---- echo 'Historically the C compiler is named "cc", but this is not true on' echo 'some systems, and on others there are several different C compilers.' ! cc=`ask 'What is the name of the C compiler to be used' ${cc-cc}` echo *************** *** 531,540 **** echo 'Historically the only normal compilation option needed for most' echo 'programs is -O, but again compilers, especially newer ones, differ.' ! ./query "What options should be given to the compiler [-O]? " ! read copts ! case "$copts" in ! '') copts= ;; ! *) copts="COPTS='$copts'" ;; ! esac echo --- 425,429 ---- echo 'Historically the only normal compilation option needed for most' echo 'programs is -O, but again compilers, especially newer ones, differ.' ! copts="`ask 'What options should be given to the compiler' \"${copts--O}\"`" echo *************** *** 541,551 **** echo 'The final linking ("ld") step of compiling might need an option,' echo 'such as -n or -i, to produce the preferred form of executable file.' ! echo 'On many modern systems the preferred form is the default. What options,' ! ./query 'if any, should be given for linking [none]? ' ! read ldopts ! case "$ldopts" in ! '') ;; ! *) copts="$copts LDFLAGS='$ldopts'" ;; ! esac echo --- 430,435 ---- echo 'The final linking ("ld") step of compiling might need an option,' echo 'such as -n or -i, to produce the preferred form of executable file.' ! echo 'On most modern systems the default is right. What options, if any,' ! ldopts=`ask 'should be given for linking' ${ldopts-}` echo *************** *** 554,576 **** echo 'either full pathnames or -l... options. What libraries, in addition' echo 'to the one(s) picked up automatically by the compiler, should be used' ! ./query 'when linking C News [none]? ' ! read postlibs ! case "$postlibs" in ! '') ;; ! *) postlibs="POST='$postlibs'" ;; ! esac echo ! ./query 'Does your system have a "hostname" command [yes]? ' ! read hostname case "$hostname" in ! y*|Y*|'') hostname=y ;; ! *) ./query 'Does it have a "uname" command with a "-n" option [yes]? ' ! read hostname ! case "$hostname" in ! y*|Y*|'') hostname=u ;; ! *) hostname= ;; ! esac ! ;; esac --- 438,448 ---- echo 'either full pathnames or -l... options. What libraries, in addition' echo 'to the one(s) picked up automatically by the compiler, should be used' ! postlibs=`ask 'when linking C News' ${postlibs-}` echo ! hostname=`yesno 'Does your system have a "hostname" command' ${hostname-yes}` case "$hostname" in ! yes) uname=no ;; ! no) uname=`yesno 'Does it have a "uname -n" command' ${uname-yes}` ;; esac *************** *** 584,598 **** echo ' hdb Honey DanBer, aka Basic Networking Utilities' echo ' sub old uucp with subdirectories (e.g. /usr/spool/uucp/C.)' echo " null don't run uucp or don't care about queue lengths" while true do ! ./query 'Which one is most appropriate [hdb]? ' ! read uucptype case "$uucptype" in ! '') uucptype=hdb ;; ! sub) echo 'Beware -- test "queuelen" to make sure it works.' ;; esac case "$uucptype" in ! hdb|sub|null) break ;; esac echo 'Sorry, no such choice is available.' --- 456,470 ---- echo ' hdb Honey DanBer, aka Basic Networking Utilities' echo ' sub old uucp with subdirectories (e.g. /usr/spool/uucp/C.)' + echo ' old very old uucp, no subdirectories' + echo ' pre prehistoric uucp, no subdirectories, no -g option on uux' echo " null don't run uucp or don't care about queue lengths" while true do ! uucptype=`ask 'Which one is most appropriate' ${uucptype-hdb}` case "$uucptype" in ! sub|old) echo 'Beware -- test "queuelen" to make sure it works.' ;; esac case "$uucptype" in ! hdb|sub|old|pre|null) break ;; esac echo 'Sorry, no such choice is available.' *************** *** 604,611 **** echo 'C News knows about several different versions:' echo ' bsd 4.2BSD and later' ! echo ' sysv most System Vs' echo ' sgi Silicon Graphics Iris systems' echo ' ultrix DEC Ultrix 3.0 (and later) (and earlier??)' - echo ' xenix some (all?) Xenixes, notably SCO' echo ' v7 plain old style: no headers or fluff, just name and number' echo " null don't know or don't care how much space is available" --- 476,483 ---- echo 'C News knows about several different versions:' echo ' bsd 4.2BSD and later' ! echo ' sysv many System Vs' ! echo ' xenix some (all?) Xenixes, notably SCO; also Microport?' echo ' sgi Silicon Graphics Iris systems' echo ' ultrix DEC Ultrix 3.0 (and later) (and earlier??)' echo ' v7 plain old style: no headers or fluff, just name and number' echo " null don't know or don't care how much space is available" *************** *** 612,619 **** while true do ! ./query 'Which one is most appropriate [bsd]? ' ! read dftype case "$dftype" in - '') dftype=bsd ;; sysv|xenix) echo 'Beware -- test "spacefor" to make sure it works.' --- 484,489 ---- while true do ! dftype=`ask 'Which one is most appropriate' ${dftype-bsd}` case "$dftype" in sysv|xenix) echo 'Beware -- test "spacefor" to make sure it works.' *************** *** 632,639 **** echo 'name of a device. Modern ones can be given any directory name and' echo 'the system handles the details of figuring out what device is meant.' ! ./query 'Does your "df" accept a directory name as an argument [yes]? ' ! read answer ! case "$answer" in ! n*|N*) echo 'You are going to have to customize "spacefor" for your system.' echo 'It will be generated assuming that directory names do work.' ;; --- 502,508 ---- echo 'name of a device. Modern ones can be given any directory name and' echo 'the system handles the details of figuring out what device is meant.' ! dfdirs=`yesno 'Will your "df" accept a directory-name argument' ${dfdirs-yes}` ! case "$dfdirs" in ! no) echo 'You are going to have to customize "spacefor" for your system.' echo 'It will be generated assuming that directory names do work.' ;; *************** *** 641,648 **** echo ! ./query 'Are you planning to use expire to archive news on disk [no]? ' ! read answer ! case "$answer" in ! y*|Y*) echo 'You probably want to customize the "archive" entry in' echo '"spacefor" so it knows where your archiving is done and how' echo 'much space you want free there.' --- 510,516 ---- echo ! archive=`yesno 'Are you planning to use expire to archive news on disk' ${archive-no}` ! case "$archive" in ! yes) echo 'You probably want to customize the "archive" entry in' echo '"spacefor" so it knows where your archiving is done and how' echo 'much space you want free there.' *************** *** 651,658 **** echo ! ./query 'Are you particularly short of disk space [no]? ' ! read answer ! case "$answer" in ! y*|Y*) echo 'You may want to reconsider whether you really want to get' echo 'news, unless you are getting only a very small set of groups.' echo 'In any case, you definitely want to inspect "spacefor" and' --- 519,525 ---- echo ! spacelow=`yesno 'Are you particularly short of disk space' ${spacelow-no}` ! case "$spacelow" in ! yes) echo 'You may want to reconsider whether you really want to get' echo 'news, unless you are getting only a very small set of groups.' echo 'In any case, you definitely want to inspect "spacefor" and' *************** *** 659,663 **** echo 'change some of its thresholds for free space.' ;; ! *) echo 'You may want to inspect "spacefor" to make sure its defaults' echo 'for things like desired free space are appropriate for your' echo 'system, although the defaults are fairly conservative.' --- 526,530 ---- echo 'change some of its thresholds for free space.' ;; ! no) echo 'You may want to inspect "spacefor" to make sure its defaults' echo 'for things like desired free space are appropriate for your' echo 'system, although the defaults are fairly conservative.' *************** *** 666,690 **** echo ! echo 'Are you running C News on a group of machines hooked together with' ! ./query 'NFS, with articles filed on only one "server" machine [no]? ' ! read answer server= ! case "$answer" in ! y*|Y*) if test " $hostname" = " " ! then ! echo 'With a server but no "hostname" command, you will have' echo 'problems and will probably have to tinker by hand to' echo 'get a fake "hostname" that does the right thing. The' echo 'generated files will assume you have "hostname".' ! hostname=y ! fi ! if test " $hostname" = " u" ! then ! ./query 'What is the "uname -n" name of the server? ' ! else ! ./query 'What is the "hostname" name of the server? ' ! fi ! read server ;; esac --- 533,555 ---- echo ! echo 'Are you running C News on a group of machines hooked together with NFS,' ! nfsgroup=`yesno 'with articles filed on one "server" machine' ${nfsgroup-no}` server= ! case "$nfsgroup" in ! yes) case "$hostname$uname" in ! 'nono') echo 'With a server but no "hostname" command, you will have' echo 'problems and will probably have to tinker by hand to' echo 'get a fake "hostname" that does the right thing. The' echo 'generated files will assume you have "hostname".' ! hostname=yes ! ;; ! esac ! case "$uname" in ! yes) tmp="uname -n" ;; ! no) tmp="hostname" ;; ! esac ! server=`ask "What is the \"$tmp\" name of the server" ${server-newsie}` ;; + no) server=newsie ;; esac *************** *** 695,700 **** echo 'article headers and related places. For uucp sites, this usually' echo 'should be the uucp name. What is the name of the overall system' ! ./query 'for news purposes? ' ! read whoami echo --- 560,564 ---- echo 'article headers and related places. For uucp sites, this usually' echo 'should be the uucp name. What is the name of the overall system' ! whoami="`ask 'for news purposes' \"${whoami-nowhere}\"`" echo *************** *** 702,715 **** echo 'a mailing address, which in particular should be a domain address' echo 'for sites that have one. What is the mailing-address name of this' ! ./query "system, preferably a domain address [$whoami.uucp]? " ! read mailname ! case "$mailname" in ! '') mailname="$whoami.uucp" ;; ! esac echo echo 'What is the name of the organization, for insertion into articles' ! ./query 'posted from here? ' ! read organization echo --- 566,574 ---- echo 'a mailing address, which in particular should be a domain address' echo 'for sites that have one. What is the mailing-address name of this' ! mailname="`ask 'system, preferably a domain address' \"${mailname-$whoami.uucp}\"`" echo echo 'What is the name of the organization, for insertion into articles' ! organization="`ask 'posted from here' \"${organization-Godcorp}\"`" echo *************** *** 717,725 **** echo 'Local practices vary a great deal, however, and System V has also' echo 'introduced some bizarre distortions into this once-simple structure.' ! ./query 'What is the top-level manual-page directory [/usr/man]? ' ! read manpages ! case "$manpages" in ! '') manpages=/usr/man ;; ! esac echo --- 576,580 ---- echo 'Local practices vary a great deal, however, and System V has also' echo 'introduced some bizarre distortions into this once-simple structure.' ! manpages=`ask 'What is the top-level manual-page directory' ${manpages-/usr/man}` echo *************** *** 729,736 **** echo 'in some variants of Unix. Also, originally pages from chapter 5 (for' echo "example) were stored in $manpages/man5. This has also changed in" ! ./query 'some variants. Has your system made either of these changes [no]? ' ! read answer ! case "$answer" in ! y*|Y*) echo 'You will have to hand-edit the last few lines of doit.bin' echo 'to install the manual pages where they belong on your system.' ;; --- 584,590 ---- echo 'in some variants of Unix. Also, originally pages from chapter 5 (for' echo "example) were stored in $manpages/man5. This has also changed in" ! manmess=`yesno 'some variants. Has your system made such changes' ${manmess-no}` ! case "$manmess" in ! yes) echo 'You will have to hand-edit the last few lines of doit.bin' echo 'to install the manual pages where they belong on your system.' ;; *************** *** 744,752 **** echo 'them, so they need not go in the directories searched for normal' echo 'commands... although uucp often searches only those directories.' ! ./query 'What directory should "rnews" and "cunbatch" go in [/bin]? ' ! read rbin ! case "$rbin" in ! '') rbin=/bin ;; ! esac echo --- 598,602 ---- echo 'them, so they need not go in the directories searched for normal' echo 'commands... although uucp often searches only those directories.' ! rbin=`ask 'What directory should "rnews" and "cunbatch" go in' ${rbin-/bin}` echo *************** *** 756,764 **** echo '(or other) versions should run fine with C News. If you are already' echo 'running such user-interface software, you may not want to change.' ! ./query 'Do you want to install our user-interface programs [yes]? ' ! read doui case "$doui" in ! ''|y*|Y*) doui=yes ; pgmdirs="$pgmdirs rna" ;; ! *) doui=no ;; esac --- 606,612 ---- echo '(or other) versions should run fine with C News. If you are already' echo 'running such user-interface software, you may not want to change.' ! doui=`yesno 'Do you want to install our user-interface programs' ${doui-yes}` case "$doui" in ! yes) pgmdirs="$pgmdirs rna" ;; esac *************** *** 765,778 **** echo case "$doui" in ! no) echo 'The "inews" command(s) should' ;; ! *) echo 'The "inews", "postnews", "readnews", and "checknews" commands should' ;; esac echo 'go in one of the directories searched for normal commands, so users' echo 'can run them without special arrangements. What directory should' ! ./query 'these commands go in [/bin]? ' ! read bin ! case "$bin" in ! '') bin=/bin ;; ! esac echo --- 613,623 ---- echo case "$doui" in ! no) tmp='"inews"' ;; ! yes) tmp='"inews", "postnews", "readnews", and "checknews"' ;; esac + echo "The $tmp command(s) should" echo 'go in one of the directories searched for normal commands, so users' echo 'can run them without special arrangements. What directory should' ! bin=`ask 'these commands go in' ${bin-/bin}` echo *************** *** 781,798 **** echo 'Internet-style "@" address or a uucp-style "!" address. Internet' echo 'style is probably better... if your mailer supports it at all.' ! ./query 'Will "mail" handle "@" addresses [no]? ' ! read atok ! case "$atok" in ! y*|Y*) atok=y ;; ! *) atok= ;; ! esac case "$doui" in ! yes) ! echo echo 'Postnews can supply a default newsgroup, to aid naive users in' echo 'getting this right for simple postings. What should the default' ! ./query 'newsgroup for postnews be [no default]? ' ! read postdefltgroup echo --- 626,636 ---- echo 'Internet-style "@" address or a uucp-style "!" address. Internet' echo 'style is probably better... if your mailer supports it at all.' ! atok=`yesno 'Will "mail" handle "@" addresses' ${atok-no}` case "$doui" in ! yes) echo echo 'Postnews can supply a default newsgroup, to aid naive users in' echo 'getting this right for simple postings. What should the default' ! postdefltgroup="`ask 'newsgroup be' \"${postdefltgroup-none}\"`" echo *************** *** 800,805 **** echo 'local area unless the user specifically changes it. This is' echo 'probably wise. What should the default postnews distribution' ! ./query 'be [world]? ' ! read postdefltdist ;; esac --- 638,642 ---- echo 'local area unless the user specifically changes it. This is' echo 'probably wise. What should the default postnews distribution' ! postdefltdist="`ask 'be' \"${postdefltdist-world}\"`" ;; esac *************** *** 811,819 **** echo "C News's generally are not, mind you), that site can get any article" echo 'currently on your system. Do you have any newsgroups containing' ! ./query 'confidential or proprietary material [no]? ' ! read answer ! case "$answer" in ! n*|N*|'') ;; ! *) echo 'You may want to substitute relay/ihave.not.c for relay/ihave.c' echo 'before running doit.bin, so that ihave/sendme is disabled' echo 'at your site.' --- 648,654 ---- echo "C News's generally are not, mind you), that site can get any article" echo 'currently on your system. Do you have any newsgroups containing' ! paranoid=`yesno 'confidential or proprietary material' ${paranoid-no}` ! case "$paranoid" in ! yes) echo 'You may want to substitute relay/ihave.not.c for relay/ihave.c' echo 'before running doit.bin, so that ihave/sendme is disabled' echo 'at your site.' *************** *** 872,887 **** echo 'cd h' echo 'rm -f nnewshsed' ! if test " $faststrchr" != " y" ! then ! echo 'echo "/FASTSTRCHR.*qqq/s;^;/* ;" >>nnewshsed' ! fi ! if test " $storeval" = " y" ! then ! echo 'echo "/NOSTOREVAL.*qqq/s;^;/* ;" >>nnewshsed' ! fi ! if test " $addrsize" = " big" ! then ! echo 'echo "/SMALLMEM.*qqq/s;^;/* ;" >>nnewshsed' ! fi echo 'if test -f newshsed && cmp -s nnewshsed newshsed' echo 'then' --- 707,719 ---- echo 'cd h' echo 'rm -f nnewshsed' ! case "$faststrchr" in ! no) echo 'echo "/FASTSTRCHR.*qqq/s;^;/* ;" >>nnewshsed' ;; ! esac ! case "$storeval" in ! yes) echo 'echo "/NOSTOREVAL.*qqq/s;^;/* ;" >>nnewshsed' ;; ! esac ! case "$addrsize" in ! big) echo 'echo "/SMALLMEM.*qqq/s;^;/* ;" >>nnewshsed' ;; ! esac echo 'if test -f newshsed && cmp -s nnewshsed newshsed' echo 'then' *************** *** 900,904 **** echo ": making substitutions..." echo "cd ../conf" ! if test " $needsubst" = " y" then echo 'case "$1" in' --- 732,736 ---- echo ": making substitutions..." echo "cd ../conf" ! if test " $needsubst" != " n" xxx then echo 'case "$1" in' *************** *** 916,939 **** echo "make queuelen.$uucptype || exit 1" echo "cp queuelen.$uucptype queuelen" ! if test " $hostname" = " y" ! then ! echo "# ( echo '#! /bin/sh' ; echo 'echo $whoami' ) >hostname" ! elif test " $hostname" = " u" ! then ! echo "( echo '#! /bin/sh' ; echo 'uname -n' ) >hostname" ! else ! echo "( echo '#! /bin/sh' ; echo 'echo $whoami' ) >hostname" ! fi echo ': done' echo ': making library...' ! if test " $ranlib" = " y" ! then ! echo "touch ../ranlibed" ! echo "sleep 2" ! fi echo "for dir in lib$unixkind lib$addrsize libc libcnews $libstdio" echo "do" echo " cd ../\$dir" ! echo " make u $cc $copts $postlibs || exit 1" echo "done" echo "cd ../libfake" --- 748,782 ---- echo "make queuelen.$uucptype || exit 1" echo "cp queuelen.$uucptype queuelen" ! case "$hostname" in ! no) case "$uname" in ! yes) echo "echo 'uname -n' >hostname" ;; ! no) echo "echo 'echo $whoami' >hostname" ;; ! esac ! esac echo ': done' echo ': making library...' ! case "$ranlib" in ! yes) echo "touch ../ranlibed ; sleep 2" ;; ! esac ! case "$faststdio" in ! yes) libstdio=libstdio ;; ! no) libstdio= ;; ! esac ! case "$cc" in ! cc) ccc="COPTS='$copts'" ;; ! *) ccc="CC=$cc COPTS='$copts'" ;; ! esac ! case "$ldopts" in ! '') ;; ! *) ccc="$ccc LDFLAGS='$ldopts'" ;; ! esac ! case "$postlibs" in ! '') ;; ! *) ccc="$ccc POST='$postlibs'" ;; ! esac echo "for dir in lib$unixkind lib$addrsize libc libcnews $libstdio" echo "do" echo " cd ../\$dir" ! echo " make u $ccc || exit 1" echo "done" echo "cd ../libfake" *************** *** 942,955 **** echo "w" echo "!" ! echo "make u $cc $copts $postlibs || exit 1" echo "cd ../conf" ! if test " $ranlib" = " y" ! then ! echo "make ../ranlibed || exit 1" ! fi echo ': library done' ! if test " $libstdio" != " " ! then ! echo 'case "$1" in' echo '-*t*) ;;' echo '*) : testing libstdio' --- 785,796 ---- echo "w" echo "!" ! echo "make u $ccc || exit 1" echo "cd ../conf" ! case "$ranlib" in ! yes) echo "make ../ranlibed || exit 1" ;; ! esac echo ': library done' ! case "$faststdio" in ! yes) echo 'case "$1" in' echo '-*t*) ;;' echo '*) : testing libstdio' *************** *** 958,976 **** echo ' : but do not redirect it -- it is important that stdio' echo ' : think output is going to a terminal.' ! echo " make trials $cc $copts $postlibs || exit 1" echo ' : done' echo ' ;;' echo 'esac' ! fi echo ': building programs' echo 'cd ../conf' ! if test " $sete" != " y" ! then ! echo "make setnewsids NEWSUSER=$newsuid NEWSGROUP=$newsgid $cc $copts $postlibs || exit 1" ! fi echo "for dir in $pgmdirs" echo "do" echo " cd ../\$dir" ! echo " make all $dbm $cc $copts $postlibs || exit 1" echo "done" echo ": done" --- 799,822 ---- echo ' : but do not redirect it -- it is important that stdio' echo ' : think output is going to a terminal.' ! echo " make trials $ccc || exit 1" echo ' : done' echo ' ;;' echo 'esac' ! ;; ! esac echo ': building programs' echo 'cd ../conf' ! case "$sete" in ! no) echo "make setnewsids NEWSUSER=$newsuid NEWSGROUP=$newsgid $ccc || exit 1" ! ;; ! esac ! case "$dbmopt" in ! '') dbm= ;; ! *) dbm="DBM=$dbmopt" ;; ! esac echo "for dir in $pgmdirs" echo "do" echo " cd ../\$dir" ! echo " make all $dbm $ccc || exit 1" echo "done" echo ": done" *************** *** 983,1002 **** echo "$organization" echo '!' ! if test " $server" != " " ! then ! echo "echo '$server' >server" ! fi ! if test " $atok" != " y" ! then ! echo echo "'replies must use "!" addresses' >replyusepath" ! fi ! if test " $postdefltdist" != " " ! then ! echo "echo '$postdefltdist' >>postdefltdist" ! fi ! if test " $postdefltgroup" != " " ! then ! echo "echo '$postdefltgroup' >>postdefltgroup" ! fi echo "echo '$whoami' >whoami" echo "echo 'general 0000000000 0000000001 y' >active" --- 829,846 ---- echo "$organization" echo '!' ! case "$nfsgroup" in ! yes) echo "echo '$server' >server" ! esac ! case "$atok" in ! no) echo echo "'replies must use paths' >replyusepath" ;; ! esac ! case "$postdefltdist" in ! world) ;; ! *) echo "echo '$postdefltdist' >>postdefltdist" ;; ! esac ! case "$postdefltgroup" in ! none) ;; ! *) echo "echo '$postdefltgroup' >>postdefltgroup" ;; ! esac echo "echo '$whoami' >whoami" echo "echo 'general 0000000000 0000000001 y' >active" *************** *** 1012,1015 **** --- 856,866 ---- echo "echo 'all uunet!%s' >mailpaths" # crude echo "cp sys.proto sys" + echo "cd ../expire" + echo "make explist.$archive && cp explist.$archive explist" + echo "cd ../conf" + case "$archive" in + yes) a='-a /where/ever' ;; + no) a= ;; + esac echo "cat >cron <<'!'" cat <<! *************** *** 1018,1023 **** 00 17 1-31 * 1-5 su news -c '$newsbin/input/newsrunning on' 40 * 1-31 * 0-6 su news -c '$newsbin/batch/sendbatches' ! 59 0 1-31 * 0-6 su news -c '$newsbin/expire/doexpire' ! 45 3 1-31 * 0-6 su news -c '$newsbin/expire/superkludge comp.mail.maps news.announce.newusers' 10 8 1-31 * 0-6 su news -c '$newsbin/maint/newsdaily' 00 5,13,21 1-31 * 0-6 su news -c '$newsbin/maint/newswatch' --- 869,873 ---- 00 17 1-31 * 1-5 su news -c '$newsbin/input/newsrunning on' 40 * 1-31 * 0-6 su news -c '$newsbin/batch/sendbatches' ! 59 0 1-31 * 0-6 su news -c '$newsbin/expire/doexpire $a' 10 8 1-31 * 0-6 su news -c '$newsbin/maint/newsdaily' 00 5,13,21 1-31 * 0-6 su news -c '$newsbin/maint/newswatch' *************** *** 1069,1073 **** echo "do" echo " cd ../\$dir" ! echo " make newsinstall BIN=$bin RBIN=$rbin $dbm || exit 1" echo "done" echo ": done" --- 919,923 ---- echo "do" echo " cd ../\$dir" ! echo " make newsinstall BIN=$bin RBIN=$rbin || exit 1" echo "done" echo ": done" *************** *** 1113,1119 **** echo "umask $newsumask" echo 'set -x' ! if test " $sete" != " y" ! then ! echo ": installing setnewsids" echo "cp setnewsids $newsctl" echo "$chown root $newsctl/setnewsids" --- 963,968 ---- echo "umask $newsumask" echo 'set -x' ! case "$sete" in ! no) echo ": installing setnewsids" echo "cp setnewsids $newsctl" echo "$chown root $newsctl/setnewsids" *************** *** 1120,1133 **** echo "chmod u+s $newsctl/setnewsids" echo ": done" ! fi echo ": setting uids for setuid programs..." them="$newsbin/input/newsspool $newsbin/relay/relaynews" ! if test " $chboth" = " y" ! then ! echo "$chown $newsuid.$newsgid $them" ! else ! echo "$chown $newsuid $them" echo "$chgrp $newsgid $them" ! fi echo "chmod u+s,g+s $them" echo ": done" --- 969,982 ---- echo "chmod u+s $newsctl/setnewsids" echo ": done" ! ;; ! esac echo ": setting uids for setuid programs..." them="$newsbin/input/newsspool $newsbin/relay/relaynews" ! case "$chboth" in ! yes) echo "$chown $newsuid.$newsgid $them" ;; ! *) echo "$chown $newsuid $them" echo "$chgrp $newsgid $them" ! ;; ! esac echo "chmod u+s,g+s $them" echo ": done" *************** *** 1136,1139 **** --- 985,1008 ---- echo + echo 'saving defaults...' + rm -f build.def + >build.def + warn='# These answers are interdependent; do not edit this file!' + if test ! -w build.def + then + echo 'It appears that I cannot save the defaults.' + else + ( + for v in $vars + do + echo "$warn" + eval "echo $v=\\\"\$$v\\\"" + done + ) >>build.def + echo 'done' + fi + chmod -w build.def + + echo chmod +x doit.root doit.bin doit.news again.root echo "You should now run doit.root as root, doit.bin as $binuid, doit.news" *************** *** 1141,1145 **** echo "that the source directories are owned by $binuid. If you need to do" echo "installation work by hand, run 'doit.bin -i' as the owner; this will" ! echo "create the programs but won't install them.) Finally, you will" echo "want to add the contents of 'cron', or something similar, to your" echo "cron's work-to-be-done file(s), and the contents of 'rc', or something" --- 1010,1015 ---- echo "that the source directories are owned by $binuid. If you need to do" echo "installation work by hand, run 'doit.bin -i' as the owner; this will" ! echo "create the programs but won't install them.) (It is not necessary" ! echo "to log in as these users; use of 'su' suffices.) Finally, you will" echo "want to add the contents of 'cron', or something similar, to your" echo "cron's work-to-be-done file(s), and the contents of 'rc', or something" end of patch 17-Jan-1990 -- 1972: Saturn V #15 flight-ready| Henry Spencer at U of Toronto Zoology 1990: birds nesting in engines | uunet!attcan!utzoo!henry henry@zoo.toronto.edu