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