Script started on Mon Sep 12 01:53:00 1994 fuzzy:~/trn-3.4# Configure Beginning of configuration questions for trn. Checking echo to see how to suppress newlines... ...using -n. The star should be here-->* First let's make sure your kit is complete. Checking... Looks good... This installation shell script will examine your system and ask you questions to determine how the trn package should be installed. If you get stuck on a question, you may use a ! shell escape to start a subshell or execute a command. Many of the questions will have default answers in square brackets; typing carriage return will give you the default. On some of the questions which ask for file or directory names you are allowed to use the ~name construct to specify the login directory belonging to "name", even if you don't have a shell which knows about that. Questions where this is allowed will be marked "(~name ok)". [Type carriage return to continue] The prompter used in this script allows you to use shell variables and backticks in your answers. You may use $1, $2, etc... to refer to the words in the default answer, as if the default line was a set of arguments given to a script shell. This means you may also use $* to repeat the whole default line, so you do not have to re-type everything to add something to the default. Everytime there is a substitution, you will have to confirm. If there is an error (e.g. an unmatched backtick), the default answer will remain unchanged and you will be prompted again. If you are in a hurry, you may run 'Configure -d'. This will bypass nearly all the questions and use the computed defaults (or the previous answers if there was already a config.sh file). Type 'Configure -h' for a list of options. [Type carriage return to continue] Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on yours, your best bet is to edit Configure and run it again. Also, let me (davison@borland.com) know how I blew it. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. This installation script affects things in two ways: 1) it may do direct variable substitutions on some of the files included in this kit. 2) it builds a config.h file for inclusion in C programs. You may edit any of these files as the need arises after running this script. If you make a mistake on a question, there is no easy way to back up to it currently. The easiest thing to do is to edit config.sh and rerun all the SH files. Configure will offer to let you do this before it runs the SH files. [Type carriage return to continue] Checking your sh to see if it knows about # comments... Your sh handles # comments correctly. Okay, let's see if #! works on this system... It does. Checking out how to guarantee sh startup... Let's see if '#!/bin/sh' works... Yup, it does. Locating common programs... awk is in /usr/bin/awk. cat is in /bin/cat. echo is in /bin/echo. expr is in /usr/bin/expr. grep is in /usr/bin/grep. mkdir is in /bin/mkdir. mv is in /bin/mv. rm is in /bin/rm. sed is in /usr/bin/sed. sort is in /usr/bin/sort. tail is in /usr/bin/tail. tr is in /usr/bin/tr. uniq is in /usr/bin/uniq. Don't worry if any of the following aren't found... I don't see Mcc out there, offhand. bash is in /bin/bash. cpp is in /lib/cpp. csh is in /bin/csh. date is in /bin/date. egrep is in /usr/bin/egrep. inews is in /usr/bin/inews. ispell is in /usr/bin/ispell. I don't see ksh out there, either. less is in /usr/bin/less. mail is in /bin/mail. I don't see metamail out there, either. I don't see mhn out there, either. more is in /bin/more. nroff is in /usr/bin/nroff. I don't see pg out there, either. rmail is in /usr/bin/rmail. sendmail is in /usr/sbin/sendmail. I don't see smail out there, either. test is in /usr/bin/test. uname is in /bin/uname. I don't see uuname out there, either. vi is in /usr/bin/vi. Using the test built into your sh. Checking compatibility between /bin/echo and builtin echo (if any)... They are compatible. In fact, they may be identical. First time through, eh? I have some defaults handy for the following systems: aix_rs dynix isc_3_2_3 sco_3_2_4 sunos_4_1 altos486 hp9000_800 mc6000 sco_xenix svr4 convexos hpux mips sgi dec_osf1 i386 next solaris_2_0 dgux isc_2_2_1 osf1 solaris_2_1 domainos isc_3_2_2 sco_3 solaris_2_2 You may give one or more space-separated answers, or "none" if appropriate. If your OS version has no hints, DO NOT give a wrong version -- say "none". Which of these apply, if any? [none] Do you want to access news via NNTP? [n] I can set things up so that your shell scripts and binaries are more portable, at what may be a noticable cost in performance. In particular, if you ask to be portable, the following happens: 1) Shell scripts will rely on the PATH variable rather than using the paths derived above. 2) ~username interpretations will be done at run time rather than by Configure. 3) The system name will be determined at run time, if at all possible. Do you expect to run these scripts and binaries on multiple machines? [n] y Where is the news library directory? (~name ok) [/usr/lib/news] /var/lib/news Directory /var/lib/news doesn't exist. Use that name anyway? [n] y Which inews should be used for posting articles? [/usr/bin/inews] Where is the active file? (~name ok) [/var/lib/news/active] File /var/lib/news/active doesn't exist. Use that name anyway? [n] y If your news system maintains an "active.times" file, trn can use it for a fast new-group check. If it's not around, answer "none" and the active file will be scanned for new groups when it changes size. The full pathname of active.times or "none"? (~name ok) [/var/lib/news/active.times] none Hmm... Looks kind of like a Version 7 system, but we'll see... Congratulations. You aren't running Eunice. It's not Xenix... Nor is it Venix... Does your /etc/passwd file keep full names in Berkeley/V7 format (name first thing after ':' in GCOS field)? In that case, a typical entry in the password file looks like this: guest:**paswword**:10:100:Mister Guest User:/usr/users:/bin/sh ^^^^^^^^^^^^^^^^^ Berkeley/V7 format for full name in /etc/password? [n] y System manual is in /usr/man/man1. Use which C compiler? [cc] gcc Hmm... Doesn't look like a MIPS system. Where are the include files you want to use? [/usr/include] Checking for optional libraries... No -lmalloc. Found -lbsd. No -lsocket. No -lbsdipc. No -lsun. No -lnet. No -lhdb. No -lbbn. No -lstr. No -lnls. No -lnsl. No -lc_s. No -lintl. No -lx. No -lucb. Some versions of Unix support shared libraries, which make executables smaller but make load time slightly longer. On some systems, mostly newer Unix System V's, the shared library is included by putting the option "-lc_s" as the last thing on the cc command line when linking. Other systems use shared libraries by default. There may be other libraries needed to compile trn on your machine as well. If your system needs the "-lc_s" option, include it here. Include any other special libraries here as well. Say "none" for none. Any additional libraries? [-lbsd] Your C library seems to be in /usr/lib/libc.a. That's fine. If the guess above is wrong (which it might be if you're using a strange compiler, or your machine supports multiple models), you can override it here. Where is your C library? [/usr/lib/libc.a] Extracting names from the following files for later perusal: /usr/lib/libbsd.a /usr/lib/libc.a This may take a while............. nm didn't seem to work right. Trying ar instead... Ok. Some C compilers have problems with their optimizers, by default, trn compiles with the -O flag to use the optimizer. Alternately, you might want to use the symbolic debugger, which uses the -g flag (on traditional Unix systems). Either flag can be specified here. To use neither flag, specify the word "none". What optimizer/debugger flag should be used? [-O] -O2 Your C compiler may want other flags. For this question you should include -I/whatever and -DWHATEVER flags and any other flags used by the C compiler, but you should NOT include libraries or ld flags like -lwhatever. If you want trn to honor its debug switch, you should include -DDEBUG here. To use no flags, specify the word "none". Any additional cc flags? [none] Any additional ld flags (NOT including libraries)? [none] -s ftime() found. getwd() found. Figuring out local host name... Maybe "hostname" will work... Trn wants to know what hostname your news software (usually inews) puts into the "From" line of news articles posted from this machine. If you get this wrong the ownership checks done for Cancel, Supersede and auto-post-selection (the -p option) will fail to recognize articles as belonging to the poster. (NOTE: trn does NOT create "From" lines when posting news or sending mail as this is the job of your news/mail software, not trn.) If you enter a filename here (by starting the name with '/' or '~') trn will read the hostname from a file, otherwise specify as much of the hostname as you want to be matched in the aforementioned comparisons. If your response contains the current machine's name (fuzzy) trn will determine that portion at run-time. What hostname appears in the From line of this machine's postings? [fuzzy.UUCP] /etc/HOSTNAME Trn will read the host name from /etc/HOSTNAME. getpwent() found. Termcap library found. Trn normally looks in the environment variables NEWSORG and ORGANIZATION for an overriding organization name. However, if your operating system reserves the environment variable ORGANIZATION for other purposes, you will want to ignore it and only have trn check for NEWSORG. Should ORGANIZATION be ignored? [n] Most mailers can deliver mail to addresses of the INTERNET persuasion, such as user@host.edu. Some older mailers, however, require the complete path to the destination to be specified in the address. Does your mailer understand INTERNET addresses? [y] Now, how can we feed standard input to your C preprocessor... Using gcc, eh? We'll try to force gcc -E using a wrapper... Yup, we can. Computing filename position in cpp output for #include directives... Your cpp writes the filename in the third field of the line. No ndir library found, but you have readdir() so we'll use that. memcmp() found. memcpy() found. memset() found. Trn is able to use an external mime-processing program such as metamail or mhn to display and store non-text mime articles. If you don't have any mime-processing programs installed at the moment answer no (you can come back and Configure it in later). Do you want to include mime support? [n] Many systems keep their news in a private directory, or have a non-superuser in charge of administering news. (If you don't have such a user, take the default answer.) I need the login name (not directory) which is used for news administration. News admin login? [news] Checking for buffering of stdout to terminal. Observe the following characters as they are printed out, to see whether they print out all at once, or with a 1 second pause between each of them. If they print out one by one, you don't have buffering. If they print together (after about a 5 second pause), you do have buffering. [Type return to start printing the test characters] abcde Would you like to see that again? [n] Do you have buffering (printed all at once)? [y] No jobs library found. (That's okay, we all have our faults.) Checking to see how well your C compiler groks the void type... Yup, it does. rdchk() NOT found. rename() found. sigblock() found. sighold() NOT found. strcasecmp() found. Using instead of . strchr() found. strftime() found. Where is news spooled? (~name ok) [/usr/spool/news] /var/spool/news Trn can take advantage of an mthreads or news overview database if one or both of these are available on your system. Usually trn will figure out what's available for itself, but you can have support for one or both of these databases disabled by default, if desired. Default database support for 't'hreads, 'o'verviews, 'b'oth, or 'n'one? [both] n vfork() found. Pathname where the public executables will reside? (~name ok) [/usr/local/bin] /usr/bin To install the files in this directory, a few strange systems need to use a different directory name to get the files there. What directory name should be used for the install? (~name ok) [/usr/bin] Distribution groups are the things you use on the Distribution line to limit where an article will go to. You are likely to be a member of several distribution groups, such as organization, city, state, province, country, continent, etc. For example, Los Angeles has the distribution code "la", New Jersey has the code "nj", and Europe has the code "eunet". The categories you will be asked are: local organization (Could be just one machine or a cluster or an office) organization att, dec, kgb, ... city la, ny, mosc, ... state/province ca, nj, bc, ... country usa, can, rok, whatever continent na (North America), asia, etc. Use 'none' for any distributions you don't have. What is the distribution code for your local organization? [none] What is the distribution code for your organization? [none] What is the distribution code for your city? [none] What is the distribution code for your state/province? [none] What is the distribution code for your country? [none] What is the distribution code for your continent? [none] If you have any other distribution groups you will need to edit Pnews and newsetup to add them. What is the default editor on your system? [/usr/bin/vi] There are some auxiliary files for trn that need to be put into a private library directory that is accessible by everyone. Pathname where the private library files will reside? (~name ok) [/usr/local/lib/trn] /usr/lib/trn To install the files in this directory, a few strange systems need to use a different directory name to get the files there. What directory name should be used for the install? (~name ok) [/usr/lib/trn] Directory /usr/lib/trn doesn't exist. Use that name anyway? [n] y trn has manual pages available in source form. If you don't want the manual sources installed, answer 'none'. Where do the manual pages (source) go? (~name ok) [/usr/local/man/man1] /usr/man/man1 What directory name should be used for the install? (~name ok) [/usr/man/man1] Pnews has a "Check spelling" option that will allow you to correct spelling errors if you have ispell or vspell, or will simply list possible spelling errors via spell if you don't (assuming you have a spell program!). Configure has found a spell checker known as /usr/bin/ispell Do you want to use an interactive speller? [y] What is the full pathname of the executable? [/usr/bin/ispell] (NOTE: gnu ispell doesn't yet understand -x -- use "none" for no options.) What options should be used? [-x] I need the full pathname of the program used to deliver mail on your system. A typical answer would be /usr/lib/sendmail or /bin/rmail, but you may choose any other program, as long as it can be fed from standard input and will honour any user-supplied headers. Mail transport agent to be used? [/usr/sbin/sendmail] /usr/lib/sendmail In the following question, you may use %~ to represent the user's home directory, and %L to represent a users name. In which file is yet-to-be-read mail spooled? (~name ok) [/usr/spool/mail/%L] /var/spool/mail/%L In saving articles, trn wants to differentiate between saving to mailbox format files and normal files. It does this by examining the first character of the file in question. On most systems the first line starts with "From ...", so the first character is an F. Other systems use magic cookies like control codes between articles, so one of those would be first. What's the first character of a mailbox file? [F] Please type the name of your organization as you want it to appear on the Organization line of outgoing articles. (It's nice if this also specifies your location. Your city name is probably sufficient if well known.) For example: University of Southern North Dakota, Hoople You may also put the name of a file, as long as it begins with a slash. For example: /etc/organization Organization: /etc/ORGANIZATION            organization Some of the support scripts want to use a paging program such as "more" to help the user page through the generated output. You'll probably want the most innocuous pager you have, since some lists consist of only one line (if your kernel does terminal paging then you may answer this with "cat"). Also note that this does not affect the paging of articles, as trn uses an internal pager for that. What pager should we use? [/bin/more] Give the full path name of the shell most people like to use on your system. This will be used by trn whenever the user wants to get a shell escape (for instance) and is not necessarily the same as the shell you are currently using (/bin/bash). Preferred shell to be used? (~name ok) [/bin/bash] Root uid = 0 I can't determine whether signal handler returns void or int... What type does your signal handler returns? [void] Trn has two distinct operating modes (selected by the -x option): traditional rn and threaded rn. If you like, trn will check the first letter of the command name and default to threaded mode (-x) if it is a 't', or run as traditional rn (+x) if it isn't (this lets you install as both trn and rn, linked together). Otherwise, you can install trn to default to threaded rn (-x) no matter what its name is. Do you want trn to default to -x, regardless of name? [y] n When the -X option is specified, trn will set the default command for starting a newsgroup to be the selector. Should the -X option be on by default for trn (not rn)? [y] found. Your C preprocessor defines the following symbols: __STDC__ i386 unix __unix__ tcsetattr() found. You have POSIX termios.h... good! found. found. found. NOT found. Testing to see if we should include , or both. I'm now running the test program.... Succeeded with -DI_SYSTIME -DS_TIMEVAL We'll include . found. NOT found. End of configuration questions. Creating config.sh... If you didn't make any mistakes, then just type a carriage return here. If you need to edit config.sh, do it as a shell escape here: Doing variable substitutions on .SH files... Extracting Makefile (with variable substitutions) Extracting Pnews (with variable substitutions) Extracting Policy.sh (with variable substitutions) Extracting Rnmail (with variable substitutions) Extracting Speller (with variable substitutions) Extracting config.h (with variable substitutions) Extracting makedepend (with variable substitutions) Extracting makedir (with variable substitutions) Extracting mbox.saver (with variable substitutions) Extracting newsetup (with variable substitutions) Extracting newsgroups (with variable substitutions) Extracting newsnews (with variable substitutions) Extracting norm.saver (with variable substitutions) Now type "make". fuzzy:~/trn-3.4# exit exit Script done on Mon Sep 12 01:58:41 1994