home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / cnews.tar / doc / build.script (.txt) < prev    next >
Microsoft Windows Help File Content  |  1993-08-21  |  17KB  |  296 lines

  1. :; cd conf
  2. :; ./build
  3. This interactive command will build shell files named doit.root,
  4. doit.bin, doit.news, and again.root to do all the work.  It will not
  5. actually do anything itself, so feel free to abort and start again.
  6. You probably need your system manuals handy.
  7. When a question is asked in the form `How are you [okay]? ', the
  8. answer in brackets is what you will get if you just hit RETURN.
  9. (If you want give an empty string as the answer, type a single
  10. `-' instead.)
  11. Do you want to use your previous answers as defaults [no]? 
  12. C News wants to keep most of its files under a uid which preferably
  13. should be all its own.  Its programs, however, can and probably should
  14. be owned by another user, typically the same one who owns most of the
  15. rest of the system.  (Note that on a system running NFS, any program
  16. not owned by "root" is a gaping security hole.)
  17. What user id should be used for news files [news]? 
  18. What group id should be used for news files [news]? 
  19. What user id should be used for news programs [bin]? 
  20. What group id should be used for news programs [bin]? 
  21. Do the C News sources belong to bin [yes]? 
  22. It would appear that your system is among the victims of the
  23. 4.4BSD / SVR4 directory reorganization, with (e.g.) shared
  24. data in /usr/share.  Is this correct [yes]? 
  25. This will affect where C News directories go.  We recommend
  26. making the directories wherever they have to go and then making
  27. symbolic links to them under the standard names that are used
  28. as defaults in the following questions.  Should such links
  29. be made [yes]? 
  30. Our 4.4ish friends suggest putting articles in /var/spool/news
  31. and control files in /usr/share/news, with programs left where
  32. they are in /usr/lib/newsbin.
  33. C News lives primarily under three directories:  one for articles (and
  34. incoming and outgoing spooling), one for control files, and one for
  35. programs.
  36. Where should articles live [/usr/spool/news]? 
  37. Where should control files live [/usr/lib/news]? 
  38. Where should programs live [/usr/lib/newsbin]? 
  39. C News by default assumes that all normal Unix programs can be
  40. found in /bin or /usr/bin.  This is naive, especially on
  41. Berkeley-derived systems where some standard programs
  42. inexplicably moved to /usr/ucb.
  43. It appears that some standard programs live in /usr/ucb
  44. on your system.  Is that right [yes]? 
  45. Should /usr/ucb be searched after /bin and /usr/bin
  46. (as opposed to before) [yes]? 
  47. Is there any other directory which should be searched
  48. to find standard programs on your system [no]? 
  49. C News normally uses a umask of 002, turning off only the others-write
  50. bit in the permissions of files used.  (The correspondence between bits
  51. and number is:  rwx = 421, so turning off group-write bits and all
  52. others-access bits would be a mask of 027, for example.)  Usually
  53. a umask of 002 or 022 is appropriate.
  54. What umask should C News use [002]? 
  55. C News wants to mail some forms of trouble reports to an administrator.
  56. You probably want to make this a system mailbox, rather than that of a
  57. specific user, so you won't have to change the software when you get a
  58. new administrator.
  59. Where should C News mail trouble reports [usenet]? 
  60. The shell files that are everywhere in C News want to pick up their
  61. configuration parameters (mostly, the last few questions you have
  62. answered) from a file at a known location; this is very hard to avoid
  63. unless you play tricks with environment variables (see documentation).
  64. Where should the shell configuration file be
  65. located [/usr/lib/news/bin/config]? 
  66. What is the full pathname of the chown command [/etc/chown]? 
  67. Can I say `/etc/chown news.news file' to change both the user id
  68. and group id of a file [yes]? 
  69. building doit.root...
  70. C News has libraries for several kinds of Unix:
  71.     bsd42    4.2BSD and successors
  72.     usg    AT&T System V
  73.     v7    Version 7 (4.1BSD is pretty close, ditto Xenix)
  74.     v8    Version 8, aka Eighth Edition
  75. Which best describes your system [v7]? bsd42
  76. C News has libraries for small address spaces (16 bits) and big
  77. ones (preferably 32 bits, but anything rather bigger than 16).
  78. Which best describes your system [big]? 
  79. Systems vary in whether certain library functions and system calls
  80. are present.  C News contains reasonably-portable versions of the
  81. possibly-missing library functions, and fake versions of the
  82. possibly-missing system calls, but it needs to know which are missing.
  83. Does your system have  fsync() [yes]? 
  84. Does your system have  getopt() [yes]? 
  85. Does your system have  memcpy() [yes]? 
  86. Does your system have  memcmp() [yes]? 
  87. Does your system have  memchr() [yes]? 
  88. Does your system have  memset() [yes]? 
  89. Does your system have  mkdir() [yes]? 
  90. Does your system have  putenv() [yes]? 
  91. Does your system have  strchr() [yes]? 
  92. Does your system have  strrchr() [yes]? 
  93. Does your system have  strpbrk() [yes]? 
  94. Does your system have  strspn() [yes]? 
  95. Does your system have  strcspn() [yes]? 
  96. Does your system have  strtok() [yes]? 
  97. Does your system have  symlink() [yes]? 
  98. Does your system have  strerror() [yes]? no
  99. The news system uses a database package, typically the old "dbm"
  100. library from Version 7 or a lookalike, as an indexing system.  We
  101. supply a version of the "dbz" library, which is faster than "dbm",
  102. uses much less disk space, and is program-compatible (although
  103. it is *not* file-compatible, so anything else using the database
  104. [notably NNTP, if applicable] has to be relinked with it).  Dbz
  105. is usually preferable to dbm, barring major backward-compatibility
  106. problems.  Do you want to use our "dbz" library [yes]? 
  107. Many systems, notably older ones, have implementations of the Standard
  108. I/O library ("stdio") in which fgets, fputs, fread, and fwrite are
  109. quite slow.  We supply versions of these functions which are faster
  110. than those in any stdio we know; they are compatible with most old
  111. AT&T-derived stdios.  (They tend not to work on modern System V,
  112. but the modern System V stdio is respectably fast.)  They can be a
  113. major performance win for C News.  There is a fairly thorough
  114. compatibility check run after the library is built; as far as we
  115. know, if the test works, the functions do (even on SunOS 4.0).
  116. Do you want to use our fast stdio library [yes]? 
  117. Beware that the compatibility check will work best if
  118. the output of doit.bin is NOT redirected into a file
  119. or a pipe.
  120. The strchr() function is usually slower than in-line C code
  121. when small strings are involved, unless your compiler is very
  122. clever and can generate in-line code for strchr().  Is your
  123. compiler that good (okay to guess) [no]? 
  124. Modern Unixes can generally use the setuid() system call to set the
  125. real and effective user ids to the current effective user id.  In
  126. old Unixes, only "root" can change the real user id.  This causes
  127. various problems for C News.  C News provides a small program named
  128. "setnewsids" to run setuserid-root; all it does is change user and
  129. group ids and then execute C News "relaynews".  It is needed only on
  130. uncooperative systems.  Relaynews invokes it automatically if needed
  131. (and it then invokes relaynews in return).  Can this system do
  132. setuid(geteuid()) to change the real uid/gid [yes]? 
  133. Some systems have header files that others lack, and C News
  134. is prepared to fake missing ones.
  135. Does your system have an ANSI-C-conforming <string.h> [yes]? no
  136. Does your system have <sys/timeb.h> [yes]? 
  137. Very old Unix systems needed the order of object modules in a library
  138. chosen very carefully.  V7 introduced "ranlib" which removes the need
  139. for this.  Recent System Vs have had the same facility built into "ar"
  140. (look for the "symdef" feature in the "ar" manual page) so "ranlib"
  141. is not needed.  Does your system use ranlib [no]? yes
  142. Historically the C compiler is named "cc", but this is not true on
  143. some systems, and on others there are several different C compilers.
  144. What is the name of the C compiler to be used [cc]? 
  145. Historically the only normal compilation option needed for most
  146. programs is -O, but again compilers, especially newer ones, differ.
  147. (NOTE:  many 386 compilers miscompile dbz if -O is used!)
  148. What options should be given to the compiler [-O]? 
  149. The final linking ("ld") step of compiling might need an option,
  150. such as -n or -i, to produce the preferred form of executable file.
  151. On most modern systems the default is right.  What options, if any,
  152. should be given for linking []? 
  153. On unusual systems it may be necessary to link C News programs with
  154. libraries other than the usual C library.  These can be specified as
  155. either full pathnames or -l... options.  What libraries, in addition
  156. to the one(s) picked up automatically by the compiler, should be used
  157. when linking C News []? 
  158. Does your system have a "hostname" command [yes]? 
  159. C News tries to limit the backlog of news batches spooled up for
  160. transmission to a site, to control use of disk space.  To do this,
  161. it needs to be able to determine the length of the queue of news
  162. batches for a particular site.  This is UUCP-version-dependent.
  163. There is a good chance that you will have to customize the "queuelen"
  164. program.  C News knows about several versions:
  165.     hdb    Honey DanBer, aka Basic Networking Utilities
  166.     sub    old uucp with subdirectories (e.g. /usr/spool/uucp/C.)
  167.     old    very old uucp, no subdirectories
  168.     pre    prehistoric uucp, no subdirectories, no -g option on uux
  169.     null    don't run uucp or don't care about queue lengths
  170. Which one is most appropriate [hdb]? sub
  171. Beware -- test "queuelen" to make sure it works.
  172. C News often wants to ask how much disk space is available.  The
  173. format of output from the "df" command unfortunately varies a lot,
  174. as does the availability of a system call to get the same information.
  175. C News knows about several different versions (the first three are
  176. preferred):
  177.     statfs    system with standard statfs() (SunOS, 4.4BSD, not System V)
  178.     ustat    system with ustat() (most System Vs)
  179.     ultrix    DEC Ultrix with DEC's own bizarre statfs()
  180.     bsd    4.2/4.3BSD
  181.     sysv    old System Vs
  182.     xenix    some (all?) Xenixes; some System Vs, e.g. Microport, HP?
  183.     sgi    Silicon Graphics Iris systems
  184.     v7    plain old style:  no headers or fluff, just name and number
  185.     null    don't know or don't care how much space is available
  186. Which one is most appropriate [bsd]? statfs
  187. Some "df" commands, especially on old systems, must be given the
  188. name of a device.  Modern ones can be given any directory name and
  189. the system handles the details of figuring out what device is meant.
  190. A few will take a directory only if it is the "top" of a filesystem.
  191. Will "df" accept any directory name as an argument [yes]? 
  192. Are you planning to use expire to archive news on disk [no]? 
  193. Are you particularly short of disk space [no]? 
  194. You may want to inspect "spacefor" to make sure its defaults
  195. for things like desired free space are appropriate for your
  196. system, although the defaults are fairly conservative.
  197. It is very difficult to do anything useful with incoming news when
  198. there is no space for it.  Normally, C News simply discards it and
  199. mails a trouble report.  On a single-user system, it may be better
  200. to just have the news reception stall until more space becomes
  201. available.  Warning:  this may stall processing of other incoming
  202. traffic, e.g. mail, as well, and the queue of unprocessed traffic
  203. may well grow until your disk fills up.  Should news reception
  204. stall if space gets short [no]? 
  205. News processing is much more efficient when done in bulk, so C News
  206. normally just saves incoming news and processes it once an hour.
  207. If you have ample resources and are wildly impatient to make news
  208. available the instant it arrives, that is expensive but possible.
  209. Do you want immediate processing [no]? yes
  210. Are you running C News on a group of machines hooked together with NFS,
  211. with articles filed on one "server" machine [no]? yes
  212. What is the "hostname" name of the server [newsie]? world
  213. Several programs need to know an overall name for the system news is
  214. being run on, where "system" may include multiple machines if they
  215. share a common set of control files and articles; this is used in
  216. article headers and related places.  For uucp sites, this usually
  217. should be the uucp name.  It is VITAL that you and your neighboring
  218. sites agree on this name -- if their news systems know you by a
  219. different name, or even a slightly-different variation of the same
  220. overall name, there will be trouble.  What is the name of the
  221. overall system for news purposes [nowhere]? world
  222. The "From:" lines of news postings, on the other hand, should carry
  223. a mailing address, which in particular should be a domain address
  224. for sites that have one.  What is the mailing-address name of this
  225. system, preferably a domain address [world.uucp]? world.std.com
  226. What is the name of the organization, for insertion into articles
  227. posted from here [Godcorp]? The World @ Software Tool & Die
  228. Manual pages are normally stored in a tree structure under /usr/man.
  229. Local practices vary a great deal, however, and System V has also
  230. introduced some bizarre distortions into this once-simple structure.
  231. What is the top-level manual-page directory [/usr/man]? 
  232. C News adds manual pages to chapters 1 (programs), 5 (files), and
  233. 8 (administrative programs).  These chapter numbers have changed
  234. in some variants of Unix.  Also, originally pages from chapter 5 (for
  235. example) were stored in /usr/man/man5.  This has also changed in
  236. some variants.  Has your system made such changes [no]? 
  237. The "rnews" and "cunbatch" commands (which are identical, the latter
  238. being purely for backward compatibility with seriously-old systems)
  239. have to be installed somewhere where uucp can find them to execute
  240. them.  It is not normally necessary for users to be able to run
  241. them, so they need not go in the directories searched for normal
  242. commands... although uucp often searches only those directories.
  243. What directory should "rnews" and "cunbatch" go in [/bin]? 
  244. Our "postnews", "readnews", and "checknews" are included mostly for
  245. completeness.  They are very simple and crude compared to the user
  246. interface many users are accustomed to.  As far as we know, B News
  247. (or other) versions should run fine with C News.  If you are already
  248. running such user-interface software, you may not want to change.
  249. Do you want to install our user-interface programs [yes]? 
  250. The "inews", "postnews", "readnews", and "checknews" command(s) should
  251. go in one of the directories searched for normal commands, so users
  252. can run them without special arrangements.  What directory should
  253. these commands go in [/bin]? 
  254. For replies to control messages, C News invokes "mail" (typically
  255. /bin/mail unless you make special arrangements) with either an
  256. Internet-style "@" address or a uucp-style "!" address.  Internet
  257. style is probably better... if your mailer supports it at all.
  258. Will "mail" handle "@" addresses [no]? yes
  259. Postnews can supply a default newsgroup, to aid naive users in
  260. getting this right for simple postings.  What should the default
  261. newsgroup be [none]? wstd.general
  262. Postnews can supply a default distribution, to limit news to a
  263. local area unless the user specifically changes it.  This is
  264. probably wise.  What should the default postnews distribution
  265. be [world]? wstd
  266. Readnews has a default subscription list, for users who have
  267. not specified what newsgroups they wish to see.  What groups
  268. should be in that list (comma-separated with no spaces, please,
  269. as they would be in a .newsrc) [general]? wstd.general
  270. For administrative use, readnews has one newsgroup that users
  271. must subscribe to, even if they ask not to.  What group should
  272. that be [general]? wstd.general
  273. The ihave/sendme protocol, although marginally useful in some cases,
  274. is a security hole -- it lets another site ask for any article by
  275. Message-ID, and if your Message-IDs are predictable enough (which
  276. C News's generally are not, mind you), that site can get any article
  277. currently on your system.  Do you have any newsgroups containing
  278. confidential or proprietary material [no]? 
  279. building doit.bin...
  280. building doit.news...
  281. building again.root...
  282. saving defaults...
  283. You should now run doit.root as root, doit.bin as bin, doit.news
  284. as news, and again.root as root, in that order.  (This assumes
  285. that the source directories are owned by bin.  If you need to do
  286. installation work by hand, run 'doit.bin -i' as the owner; this will
  287. create the programs but won't install them.)  (It is not necessary
  288. to log in as these users; use of 'su' suffices.)  Finally, you will
  289. want to add the contents of 'cron', or something similar, to your
  290. cron's work-to-be-done file(s), and the contents of 'rc', or something
  291. similar, to /etc/rc or whatever your system executes when booting.
  292. "make gclean" will clean up everything afterwards.  "make lclean"
  293. does a less drastic cleanup affecting only the library directories.
  294. "make spotless" does "make gclean" and also removes the doit files.
  295. Good luck and happy news reading.
  296.