home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / N / CNEWS / _CNEWS.TAR / usr / doc / cnews / docs / b-to-c next >
Encoding:
Text File  |  1994-09-02  |  22.2 KB  |  1,127 lines

  1. .\" tbl this-file | troff -ms
  2. .Ch "B News to C News Transition Guide"
  3. .Ix "B News to C News transition"
  4. .SH
  5. Preface
  6. .PP
  7. We describe the changes in installation
  8. and administration from B News to C News.
  9. The intended audience is B News administrators
  10. switching to C News.
  11. .SH
  12. Introduction
  13. .PP
  14. .Ix history
  15. .Ix "C News" history
  16. .Ix history "C News"
  17. C News was written by two people
  18. .Ix authors
  19. (Geoff Collyer
  20. and
  21. Henry Spencer)
  22. who were experienced B News administrators
  23. (since 1982).
  24. C News was intended to be a much faster and more correct
  25. B News
  26. with some of the things that irritated us in B News changed.
  27. C News is thus administratively similar to B News,
  28. though not identical.
  29. We have no personal experience running B News later than
  30. 2.10.1,
  31. .Ix "B News 2.10.1"
  32. and thus may have missed subtleties in later releases,
  33. notably 2.11.
  34. .Ix "B News 2.11"
  35. .PP
  36. The single largest visible change from B News is probably
  37. that we wanted to allow the possibility of
  38. machines of
  39. different architectures sharing a single news data base
  40. (\c
  41. .I /usr/spool/news
  42. .Ix /usr/spool/news
  43. plus the data files in
  44. .I /usr/lib/news
  45. .Ix /usr/lib/news
  46. in B News terms)
  47. via network file systems
  48. while keeping separate directories of executables elsewhere.
  49. We did this by pushing the executables into a new directory,
  50. often called
  51. .I /usr/lib/newsbin .
  52. .Ix /usr/lib/newsbin
  53. We also took the opportunity to push most of the binaries into
  54. subdirectories to reduce the clutter at the top level,
  55. as the old B News
  56. .I /usr/lib/news
  57. had become awfully cluttered.
  58. .PP
  59. The next most visible change
  60. is probably that we only compile in default values
  61. for directory names
  62. (and a few other configuration parameters),
  63. but they can be overridden at run-time via environment variables
  64. (subject to restrictions to prevent spoofing).
  65. .I notebook/config
  66. .Ix config
  67. .Ix files config
  68. (relative to the C News source subtree root)
  69. describes the variables.
  70. In a nutshell,
  71. .I NEWSCTL
  72. .Df NEWSCTL
  73. is the equivalent of
  74. .I /usr/lib/news
  75. when referring to control files,
  76. .I NEWSBIN
  77. .Df NEWSBIN
  78. is the equivalent of
  79. .I /usr/lib/news
  80. when referring to executables
  81. (and is often
  82. .I /usr/lib/newsbin),
  83. and
  84. .I NEWSARTS
  85. .Df NEWSARTS
  86. is the equivalent of
  87. .I /usr/spool/news .
  88. This capability can be used to run
  89. B News
  90. and C News
  91. in parallel for testing,
  92. .Ix "test system"
  93. .Ix system test
  94. feeding them identical inputs.
  95. It can probably be used instead of the
  96. .B IHCC
  97. .Ix IHCC
  98. ifdefs in B News.
  99. It is also used for regression testing,
  100. .Ix "regression testing"
  101. when we run known input data through the software
  102. in test directories
  103. and verify that we get known results out;
  104. .B "make r"
  105. in a given source directory will generally invoke the relevant
  106. regression test
  107. and
  108. .B "make rs"
  109. in
  110. .I conf
  111. will invoke all of them.
  112. .SH
  113. Changes in control file formats
  114. .PP
  115. In general,
  116. .I news (5)
  117. .Ix "file formats"
  118. .Ix formats file
  119. now describes the file formats.
  120. .PP
  121. .I Sys
  122. .Ix files sys
  123. .Ix sys
  124. adds a few optional features
  125. and withdraws some old and little-used ones.
  126. Many obsolete flags
  127. draw fatal diagnostics,
  128. notably
  129. .B N ,
  130. .Ix "N sys flag"
  131. .Ix "sys flag" N
  132. the old,
  133. unbatched ihave/sendme flag.
  134. The other unsupported flags are
  135. .B A
  136. .Ix "A sys flag"
  137. .Ix "sys flag" A
  138. (convert outgoing messages to
  139. A News
  140. .Ix "A News"
  141. format;
  142. .I relaynews
  143. is not a protocol converter),
  144. .B H
  145. .Ix "H sys flag"
  146. .Ix "sys flag" H
  147. (append history entry to named file?;
  148. sorry),
  149. .B S
  150. .Ix "S sys flag"
  151. .Ix "sys flag" S
  152. (duplicate the work of the shell to avoid one process;
  153. just delete this flag),
  154. .B M ,
  155. .Ix "M sys flag"
  156. .Ix "sys flag" M
  157. and
  158. .B O
  159. .Ix "O sys flag"
  160. .Ix "sys flag" O
  161. .Ix multicast
  162. (multicast flags;
  163. obsoleted by the batcher,
  164. as far as we can tell).
  165. New flags are
  166. .B f
  167. .Ix "f sys flag"
  168. .Ix "sys flag" f
  169. (append spool file name and size in bytes to the named file)
  170. and
  171. .B n
  172. .Ix "n sys flag"
  173. .Ix "sys flag" n
  174. (append spool file name and Message-ID to the named file;
  175. equivalent to
  176. .B FI
  177. in
  178. B News).
  179. There have been some changes to flag semantics:
  180. .B I
  181. .Ix "I sys flag"
  182. .Ix "sys flag" I
  183. .Ix ihave/sendme
  184. in B News
  185. invoked all the ihave/sendme machinery
  186. .I and
  187. wrote message-ids to the batch file;
  188. C News
  189. just writes the message-ids.
  190. See below for how to set up ihave/sendme feeds.
  191. In
  192. C News,
  193. .B FI
  194. and
  195. .B I
  196. are equivalent;
  197. use
  198. .B n
  199. if you want file names and message-ids.
  200. All file names written
  201. are relative to
  202. .I NEWSARTS .
  203. .PP
  204. B News
  205. allowed comments to be continued;
  206. this is at odds with all other
  207. .UX
  208. software,
  209. including
  210. C News.
  211. To comment-out an entry under C News,
  212. you need to prepend
  213. `\c
  214. .B # '
  215. before
  216. .I each
  217. line of the entry,
  218. not just the first.
  219. .Ix "sys comments"
  220. .Ix comments sys
  221. .PP
  222. There is now an optional
  223. .I distributions
  224. .Ix "distributions sys subfield"
  225. .Ix sys distributions
  226. list after the newgroups pattern,
  227. separated by a slash.
  228. If the fourth
  229. .I sys
  230. field is a relative command name,
  231. .I NEWSCTL/bin
  232. and
  233. .I NEWSBIN/relay
  234. will be searched before the standard search path.
  235. If the fourth field is a relative file name,
  236. .I NEWSARTS/out.going
  237. will be prepended internally.
  238. .Ix "batch files"
  239. .Ix files batch
  240. If the fourth field is an empty file name,
  241. it will be replaced internally with
  242. \fINEWSARTS/out.going/\fPsystem\fI/togo\fP
  243. where
  244. .I system
  245. is the first field of the entry.
  246. Note that although these batch files
  247. live under
  248. .I NEWSARTS ,
  249. they are not news articles,
  250. and their parent directories will
  251. .I not
  252. be automatically created.
  253. .Ix ihave/sendme
  254. The ihave/sendme kludges of B news
  255. have been expunged;
  256. one must say what one means.
  257. See the section below on ihave/sendme.
  258. .PP
  259. .Ix active
  260. .Ix files active
  261. .I Active
  262. has four fields
  263. (there is vestigial code in some,
  264. but not all,
  265. programs for two or three fields)
  266. and
  267. any number of digits in the article-number fields
  268. (five is too few for the long term).
  269. Two new values are understood for the fourth
  270. (flags)
  271. field:
  272. .B x ,
  273. .Ix "x active flag"
  274. .Ix "active flag" x
  275. meaning
  276. ``quietly discard articles for this group'',
  277. and
  278. .B = realgroup
  279. .Ix "= active flag"
  280. .Ix "active flag" =
  281. meaning
  282. ``file articles for this group under
  283. .I realgroup
  284. instead''.
  285. .B =
  286. is useful for coping with badly-run
  287. local newsgroups,
  288. often created from mailing lists.
  289. .Ix "news system lock"
  290. You must lock the news system with
  291. .I locknews
  292. before editing the active file.
  293. .PP
  294. .I History
  295. .Ix history
  296. .Ix files history
  297. is in an extended
  298. B 2.10 news
  299. format:
  300. the second field consists of two subfields
  301. separated by a tilde:
  302. time received as an integer (a
  303. .I time_t
  304. in fact),
  305. and
  306. the value of the
  307. .I Expires:
  308. header,
  309. "-" if none.
  310. More subfields may appear in future.
  311. You must lock the news system with
  312. .I locknews
  313. .Ix "news system lock"
  314. before editing the history file,
  315. and
  316. run
  317. .I dbz (1)
  318. .Ix dbz
  319. (found in
  320. .I NEWSBIN )
  321. afterward to rebuild the index files.
  322. .Ix "history index files"
  323. .Ix files "history index"
  324. .PP
  325. .I Log
  326. .Ix log
  327. .Ix files log
  328. and
  329. .I errlog
  330. .Ix errlog
  331. .Ix files errlog
  332. are only faintly similar to their B News counterparts.
  333. Error processing in general is due for an overhaul,
  334. which may further revise their formats.
  335. Currently,
  336. .I errlog
  337. is the unadorned standard error from
  338. .I relaynews (8)
  339. .Ix relaynews
  340. and any programs it runs.
  341. .I Log
  342. is a time-stamped log,
  343. down to the millisecond
  344. (where possible,
  345. offer void where prohibited by
  346. System V),
  347. .Ix "System V" time
  348. .Ix time "System V"
  349. consisting of one line per article,
  350. and
  351. always showing the name of the host that handed us this article
  352. and the Message-ID of this article.
  353. See
  354. .I "Log File Formats in C News"
  355. for details.
  356. .PP
  357. Locks are in the style of B 2.10:
  358. .I NEWSCTL/LOCK
  359. .Ix "news system lock"
  360. .Ix lock "news system"
  361. is the news system lock,
  362. but it never times out.
  363. One locks the news system by repeatedly attempting
  364. to link to the lock name until successful;
  365. one releases the lock by removing the lock name.
  366. There are other locks,
  367. all of which begin with the prefix
  368. .I NEWSCTL/LOCK .
  369. This scheme works well over network file systems,
  370. can be used from shell scripts and interactively,
  371. permits one to
  372. see trivially
  373. what locks are present,
  374. and is portable across
  375. .UX
  376. variants.
  377. See
  378. .I "Locking in C News"
  379. for details.
  380. .SH
  381. `Missing' control files
  382. .Ix "B News files" missing
  383. .PP
  384. .I Aliases
  385. .Ix aliases
  386. .Ix files aliases
  387. does not exist,
  388. since we believe that header munging is to be avoided
  389. if at all possible
  390. (we do update
  391. .B Path: ,
  392. regenerate
  393. .B Xref: ,
  394. and delete some large obsolete headers
  395. [\c
  396. .B Relay-Version: ,
  397. .B Posting-Version: ,
  398. .B Date-Received: ,
  399. .B Received: ,
  400. .B Posted: ,
  401. .B Illegal-Object: ]).
  402. It is possible to file articles locally under different newsgroups
  403. by use of the
  404. .I active
  405. file
  406. .B =
  407. flag.
  408. .PP
  409. .I Notify
  410. .Ix notify
  411. is replaced by
  412. .I NEWSMASTER
  413. .Ix NEWSMASTER
  414. in
  415. .I NEWSCTL/bin/config .
  416. .Ix config
  417. .PP
  418. .I Moderators ,
  419. .Ix moderators
  420. .Ix files moderators
  421. .I recmail
  422. .Ix recmail
  423. and
  424. .I recnews
  425. .Ix recnews
  426. are missing;
  427. we don't know what they do (yet).
  428. .PP
  429. .I Seq
  430. .Ix seq
  431. .Ix files seq
  432. is gone;
  433. we don't need it.
  434. .SH
  435. New control files
  436. .Ix "C News files" new
  437. .PP
  438. .I Batchparms
  439. .Ix batchparms
  440. .Ix files batchparms
  441. controls outbound batching.
  442. See
  443. .I newsbatch (8).
  444. .PP
  445. .I Explist
  446. .Ix explist
  447. .Ix files explist
  448. controls expiry policies.
  449. The command-line options for
  450. .I expire
  451. are completely different from B News.
  452. See
  453. .I expire (8).
  454. The simplest possible
  455. .I explist
  456. is
  457. ``\c
  458. .B "all x 7 -" ''
  459. for 7-day expiry of all articles
  460. and
  461. history entries.
  462. .PP
  463. .I Mailname
  464. .Ix mailname
  465. .Ix files mailname
  466. is the domain name of this machine
  467. for mail purposes;
  468. .I whoami
  469. .Ix whoami
  470. .Ix files whoami
  471. is the news name of this machine
  472. (e.g. for
  473. .B Path:
  474. headers).
  475. If
  476. .I replyusepath
  477. .Ix replyusepath
  478. .Ix files replyusepath
  479. exists,
  480. automated mail replies will use the
  481. .Ix "mail replies"
  482. .Ix Path:
  483. .B Path:
  484. header for return addresses.
  485. If
  486. .I server
  487. .Ix server
  488. .Ix files server
  489. exists,
  490. .I inews
  491. will
  492. .I rsh
  493. .Ix rsh
  494. .Ix "remote command execution"
  495. to the hostname found therein
  496. to run
  497. .I relaynews .
  498. .Ix relaynews
  499. .PP
  500. .I Setnewsids
  501. .Ix setnewsids
  502. .Ix files setnewsids
  503. is an optional setuid-root program
  504. (in the wrong directory,
  505. it appears)
  506. to set user and group ids;
  507. it should be obsolete now,
  508. but instead
  509. .SM
  510. POSIX
  511. .NL
  512. .Ix POSIX
  513. .Ix "System V"
  514. and System V
  515. are making it necessary all too often.
  516. .SH
  517. ihave/sendme feeds
  518. .Ix ihave/sendme
  519. .PP
  520. We didn't understand the implementation of ihave/sendme
  521. in B News for a long time and nearly didn't implement it,
  522. having a very dim view of ihave/sendme to start with,
  523. but we wanted to be RFC 1036 compliant.
  524. Upon discovering the tricks
  525. (including mandatory default values for various
  526. .I sys
  527. file fields)
  528. used internally by B News to implement
  529. ihave/sendme,
  530. there was immediate agreement that
  531. .IP (a)
  532. we should document how ihave/sendme works,
  533. and
  534. .IP (b)
  535. we should implement something more obvious
  536. and that would not mandate fixed values for fields
  537. that users might legitimately want to change from their
  538. default values.
  539. .PP
  540. We also see no use for the old unbatched ihave/sendme protocol:
  541. it is grossly wasteful of resources at today's traffic volumes
  542. and offers no clear advantage to sending lists of Message-IDs
  543. in each
  544. .I ihave
  545. or
  546. .I sendme
  547. message.
  548. .PP
  549. The result is that,
  550. in our second implementation,
  551. we have implemented batched ihave/sendme
  552. with
  553. .I batchparms
  554. .Ix batchparms
  555. .Ix files batchparms
  556. specifying details of batching and transport.
  557. One typically needs a single
  558. .I sys
  559. .Ix sys
  560. .Ix files sys
  561. entry
  562. to specify
  563. which articles are to be offered to the other system
  564. via an
  565. .I ihave
  566. message.
  567. .PP
  568. Note that any article requested by a
  569. .I sendme
  570. will be sent;
  571. there is no checking that the requesting site is permitted by its
  572. appropriate
  573. .I sys
  574. entry to receive this article.
  575. Such checking could be added,
  576. at some cost in performance.
  577. For now,
  578. disable ihave/sendme
  579. on systems with `private' newsgroups
  580. (if that isn't an oxymoron).
  581. .PP
  582. See
  583. .I "Setting Up Netnews Feeds Using the Ihave/sendme Protocol"
  584. for gory details including sample
  585. .I sys
  586. files.
  587. .SH
  588. Differences in behaviour
  589. .PP
  590. The
  591. .I checkgroups
  592. .Ix "checkgroups control message"
  593. .Ix "control messages" checkgroups
  594. control message
  595. is non-destructive;
  596. it merely mails its output to
  597. .B NEWSMASTER
  598. (e.g.
  599. .B usenet ).
  600. The distributed
  601. .I checkgroups
  602. script has problems,
  603. which will be fixed some day.
  604. In the mean time,
  605. some people have reported that the latest B News
  606. .I checkgroups
  607. script works fine for them;
  608. you could try it.
  609. .PP
  610. There is an
  611. .I Also-Control:
  612. header recognised,
  613. of which
  614. .I Supersedes:
  615. is a special case.
  616. .SH
  617. Interactions with NNTP
  618. .Ix NNTP
  619. .PP
  620. We had erroneously assumed when writing C News
  621. that the NNTP situation was not too disastrous.
  622. Since we didn't then run NNTP ourselves,
  623. we benignly ignored NNTP.
  624. Only once we started running NNTP did we realise what a
  625. performance
  626. .\" (and other)
  627. disaster it was.
  628. We are still working on improving the situation.
  629. .PP
  630. The
  631. .B CNEWS
  632. ifdef of NNTP
  633. as distributed by Stan Barber
  634. .Ix NNTP "Stan Barber"
  635. makes the situation tolerable
  636. (we supplied the original version of the code inside the ifdef)
  637. if not wonderful.
  638. In particular,
  639. it will happily accept duplicate articles,
  640. only to have
  641. .I relaynews
  642. throw them away.
  643. .\" We have an experimental
  644. .\" .I nntpd
  645. .\" based on NNTP 1.5.8 that we are reasonably happy with,
  646. .\" though lock contention may still be an issue
  647. .\" for a busy site.
  648. Paul Vixie's
  649. .I msgidd
  650. .Ix msgidd
  651. .Ix NNTP msgidd
  652. (and associated nntpd patch)
  653. is strongly recommended for sites
  654. that get more than one incoming NNTP feed;
  655. it eliminates the reception of duplicates.
  656. Sites not running
  657. .I msgidd
  658. or running the reference NNTP implementation without
  659. .B CNEWS
  660. defined
  661. are on their own;
  662. performance of the total news system
  663. is likely to be poor.
  664. .PP
  665. More work is called for.
  666. Several people have simultaneously invented the idea
  667. of a multi-threaded
  668. .I nntpd
  669. handling multiple inbound transfer sessions
  670. and that may be a worthwhile direction to pursue.
  671. (It permits cheap duplicate rejection with little lock contention
  672. and few processes.)
  673. It has the disadvantage of not exploiting parallelism on multiprocessor
  674. machines,
  675. which seem to be what
  676. the biggest news relay sites are becoming.
  677. .SH
  678. dbm & dbz
  679. .Ix dbm
  680. .Ix dbz
  681. .Ix "history index files"
  682. .Ix files "history index"
  683. .PP
  684. There are now several redistributable
  685. .I dbm (3)
  686. clones available.
  687. Before they appeared,
  688. we fixed and enhanced
  689. Jon Zeeff's
  690. .I dbz
  691. library;
  692. it is faster and has smaller files than any
  693. .I dbm
  694. or
  695. .I dbm
  696. clone,
  697. so we recommend using it for news.
  698. Whatever you elect to use,
  699. be sure to link
  700. NNTP and any other software that makes
  701. .I history
  702. file lookups with
  703. the same library that C News uses
  704. (picking up
  705. .I libcnews.a
  706. is usually simplest).
  707. .SH
  708. .LG
  709. .LG
  710. Migration to C News
  711. .Ix "migration to C News"
  712. .NL
  713. .PP
  714. A good first step is to read the documentation in the C News
  715. .I doc
  716. source directory.
  717. You will want to refer to the contents of the
  718. .I man
  719. directory.
  720. If you have trouble formatting any of this documentation,
  721. get the
  722. .I awf
  723. formatter and use it.
  724. .I Awf
  725. .Ix "awf text formatter"
  726. can be had
  727. from your nearby
  728. .I comp.sources.unix
  729. .Ix comp.sources.unix
  730. archive site,
  731. or
  732. by
  733. .I uucp
  734. or
  735. .I ftp
  736. from
  737. .I uunet
  738. .Ix uunet
  739. (\c
  740. .I uunet.uu.net )
  741. as
  742. .I comp.sources.unix/volume23/awf.Z .
  743. For side-by-side comparisons of
  744. B and C News
  745. where this document may have missed something,
  746. one could compare the corresponding sections for B and C News
  747. in
  748. .I "Managing uucp and Usenet" ,
  749. .Ix "Managing uucp and Usenet"
  750. .Ix books "Managing uucp and Usenet"
  751. by Tim O'Reilly and Grace Todino,
  752. O'Reilly & Associates,
  753. 1989,
  754. ISBN 0-937175-48-X,
  755. inquiries to
  756. `\c
  757. .B nuts@ora.com '
  758. or
  759. `\c
  760. .B uunet!ora!nuts ',
  761. or
  762. 800-338-NUTS
  763. (in California,
  764. 800-533-NUTS),
  765. FAX 707-829-0104.
  766. See
  767. .I "Annotated Bibliography on C News"
  768. for a fuller bibliography.
  769. .PP
  770. It is probably safest to create parallel C News trees,
  771. .Ix "test system"
  772. .Ix system test
  773. at least for the equivalent of
  774. .I /usr/lib/news ,
  775. then populate them and rename the B and C trees when you are
  776. satisfied that C News is installed and set up correctly.
  777. The C News installation procedure
  778. (\c
  779. .I build )
  780. .Ix build
  781. will not overwrite existing control files in
  782. .I NEWSCTL ,
  783. so copying your old
  784. .Ix "saving old control files"
  785. .I active ,
  786. .I sys ,
  787. and possibly
  788. .I history
  789. files to
  790. .I NEWSCTL
  791. adapting them as necessary
  792. (see below),
  793. and then installing C News there
  794. normally should get you started.
  795. .PP
  796. One advantage of setting up a parallel tree for C News
  797. is that it is possible,
  798. though
  799. .I build
  800. doesn't know how,
  801. to run all incoming news into both news systems for a day or two
  802. to convince yourself that everything is working right.
  803. If you decide
  804. .I not
  805. to switch,
  806. you can just remove the C News tree.
  807. .Ix "DON'T PANIC!"
  808. In any case,
  809. running both systems simultaneously
  810. avoids the desperate panic of having to
  811. cut everything over at once
  812. and
  813. get it right first time to avoid losing news;
  814. this just should not be necessary any more.
  815. The change is just to ensure that all the commands that
  816. used to invoke
  817. .I rnews
  818. .Ix rnews
  819. (\c
  820. .I inews ,
  821. .Ix inews
  822. .I rnews ,
  823. .I cunbatch
  824. .Ix cunbatch
  825. and probably a few others)
  826. now hand the incoming batch to both news systems.
  827. Something like this should suffice
  828. (and has worked in the past):
  829. .DS
  830. .ft B
  831. # parallel rnews
  832. f=/tmp/rn$$
  833. cat >$f
  834. brnews <$f
  835. crnews <$f
  836. rm $f
  837. .ft
  838. .DE
  839. .PP
  840. .I Sys
  841. .Ix sys
  842. .Ix files sys
  843. .Ix "sys flags"
  844. should only need to be scanned for unsupported flags
  845. (I think
  846. .B S
  847. can just be deleted without ill effect),
  848. and entries
  849. with
  850. .B I
  851. flags rewritten to write
  852. site\c
  853. .B .wehave/togo
  854. and
  855. .I batchparms
  856. .Ix batchparms
  857. .Ix files batchparms
  858. updated to describe the
  859. ihave/sendme
  860. tango for this site.
  861. .I Active
  862. .Ix active
  863. .Ix files active
  864. can optionally be edited to refile groups locally,
  865. to compensate for lack of
  866. .I aliases .
  867. .Ix aliases
  868. .Ix files aliases
  869. C
  870. .I expire
  871. .Ix expire
  872. can read a correct B
  873. .I history
  874. .Ix history
  875. .Ix files history
  876. file,
  877. but B News sometimes produced incorrectly-formatted history files.
  878. To be safe,
  879. and to pick up information that B News didn't store in the history file,
  880. run
  881. .I mkhistory
  882. .Ix mkhistory
  883. to regenerate
  884. .I history
  885. and its index files.
  886. .I Mkhistory
  887. will take quite a while;
  888. it has to open every article in the news system,
  889. which can take hours on some machines.
  890. .\" .PP
  891. .\" Although some of the older documentation warns against
  892. .\" using
  893. .\" .I NEWSCTL/bin/config
  894. .\" as a master configuration file,
  895. .\" we intend to eventually make it so,
  896. .\" and as long as you ensure that you always invoke C News
  897. .\" shell scripts
  898. .\" (which read
  899. .\" .I config
  900. .\" to set environment variables)
  901. .\" and never invoke the C programs directly
  902. .\" (which is generally how things work anyway),
  903. .\" you should be able to get away with treating it as a master
  904. .\" configuration file,
  905. .\" subject to one small caveat:
  906. .\" you need to change
  907. .\" .I inews
  908. .\" to invoke
  909. .\" either
  910. .\" .I newsspool
  911. .\" or
  912. .\" .I rnews ,
  913. .\" and then
  914. .\" arrange to have
  915. .\" .I cron
  916. .\" run
  917. .\" .I newsrun
  918. .\" under the
  919. .\" .I news
  920. .\" userid
  921. .\" (or local equivalent)
  922. .\" fairly frequently
  923. .\" to at least process any local postings.
  924. .PP
  925. The normal installation procedure
  926. is described in
  927. .I "Installing ``C News'' Network News Software"
  928. and really just involves running
  929. .I conf/build ,
  930. .Ix build
  931. answering its (many) questions,
  932. and following its instructions.
  933. (We intend that eventually
  934. .I build
  935. will be run once per site for all time
  936. (or until the hardware or OS change drastically)
  937. and that thereafter
  938. components may be built
  939. using
  940. .I make .)
  941. .Ix make
  942. Do be careful to use the correct userid for each step of installation;
  943. doing the whole thing as
  944. .I root
  945. .Ix userids
  946. will result in incorrect file ownerships.
  947. Two major by-products of
  948. .I build
  949. are
  950. .I libcnews.a
  951. .Ix libcnews.a
  952. in the root of the source subtree
  953. and the directory
  954. .I include .
  955. .PP
  956. There are some differences in configurable options.
  957. All the length and size limits are gone.
  958. Essentially all the B News
  959. .I makefile
  960. options are now queried for by
  961. .I build .
  962. DFLTEXP and HISTEXP
  963. .Ix "B configuration" DFLTEXP
  964. .Ix "B configuration" HISTEXP
  965. are now specified in
  966. .I explist .
  967. .Ix explist
  968. .Ix files explist
  969. Only a trivial newsreader,
  970. a
  971. .I readnews
  972. .Ix readnews
  973. replacement,
  974. is included with C News,
  975. so little of the reader configuration is relevant.
  976. .Ix "B configuration" NOTIFY
  977. NOTIFY is now
  978. .I NEWSMASTER
  979. .Ix NEWSMASTER
  980. and
  981. .I build
  982. queries for it.
  983. .Ix "B configuration" DFTXMIT
  984. .Ix "B configuration" UXMIT
  985. DFTXMIT and UXMIT
  986. are now
  987. .Ix CMDPFX
  988. .Ix CMDSFX
  989. CMDPFX and CMDSFX
  990. in
  991. .I relay/sys.c
  992. with no simple override
  993. (though an override is in the works);
  994. the default command,
  995. in case anyone still uses it,
  996. is
  997. .B "uux - -r -z"
  998. .Ix uux
  999. system\c
  1000. .B !rnews .
  1001. .Ix "B configuration" MANUALLY
  1002. .Ix "B configuration" NONEWGROUPS
  1003. .Ix "B configuration" UUPROG
  1004. MANUALLY,
  1005. NONEWGROUPS
  1006. and
  1007. UUPROG
  1008. are replaced by policy in shell scripts;
  1009. edit
  1010. .I relay/ctl/*
  1011. to taste.
  1012. .Ix "B configuration" BATCH
  1013. BATCH is gone;
  1014. the unbatcher is built into
  1015. .Ix unbatcher
  1016. .I relaynews .
  1017. .Ix "B configuration" OLD
  1018. OLD is gone
  1019. (\c
  1020. .I relaynews
  1021. is not a protocol converter).
  1022. .Ix "B configuration" DOXREFS
  1023. DOXREFS is gone;
  1024. .B Xref:
  1025. is always generated for cross-posted articles.
  1026. .Ix "B configuration" SENDMAIL
  1027. .Ix "B configuration" MMDF
  1028. SENDMAIL and MMDF
  1029. are gone;
  1030. we just use
  1031. .I mail .
  1032. .Ix mail
  1033. .Ix "B configuration" DEADTIME
  1034. DEADTIME is gone;
  1035. locks do not time out.
  1036. .PP
  1037. This table summarises the disposition of the remaining B News options.
  1038. File names in the
  1039. `build file'
  1040. column are relative to
  1041. .I NEWSCTL
  1042. and refer to files generated by
  1043. .I build .
  1044. A `flag' in the
  1045. `note'
  1046. column indicates that the presence or absence of the file
  1047. .I is
  1048. the flag.
  1049. A `gone' in the
  1050. `note'
  1051. column indicates that the option has vanished.
  1052. If the
  1053. `build file'
  1054. column is empty,
  1055. the option has just been absorbed into
  1056. .I build .
  1057. .Ix "B configuration" "summary table"
  1058. .TS
  1059. box, center;
  1060. c c c
  1061. l l c .
  1062. B option    build file    note
  1063. _
  1064. SPOOLNEWS    rnews.newsrun    flag
  1065. INTERNET    replyusepath    flag
  1066. MYDOMAIN    mailname
  1067. MYORG    organization
  1068. UUNAME    whoami
  1069. _
  1070. CHEAP        gone
  1071. NICENESS        gone
  1072. FASCIST        gone
  1073. ORGDISTRIB        gone
  1074. MULTICAST        gone
  1075. _
  1076. UNAME
  1077. GHNAME
  1078. BSD4_2
  1079. BSD4_1C
  1080. LOCKF
  1081. HIDDENNET
  1082. SMALL_ADDRESS_SPACE
  1083. .TE
  1084. .PP
  1085. If you compile and install the software as two steps,
  1086. it is simple,
  1087. though time-consuming,
  1088. to run regression tests
  1089. .Ix regression tests
  1090. for the major subsystems:
  1091. .B cd
  1092. into a source directory
  1093. (e.g.
  1094. .I expire ,
  1095. .I batch ,
  1096. .I relay )
  1097. and type
  1098. .B "make r".
  1099. If you get no complaints,
  1100. the software is believed (after testing)
  1101. to work correctly on your machine.
  1102. .PP
  1103. .Ix relaynews tuning
  1104. .Ix tuning relaynews
  1105. Sites with a lot of outgoing news feeds
  1106. (over 60, say),
  1107. should be aware that batch file writing will probably
  1108. dominate
  1109. .I relaynews 's
  1110. elapsed time.
  1111. We hope to fix this.
  1112. .\" could add a checklist here.
  1113. .PP
  1114. After installation,
  1115. errors will generally be reported by mail
  1116. (to
  1117. .I NEWSMASTER
  1118. [typically
  1119. .I usenet ]).
  1120. To watch the progress of incoming news,
  1121. tail
  1122. .I NEWSCTL/log
  1123. and
  1124. .I NEWSCTL/errlog .
  1125. .I errlog
  1126. should be empty on a smoothly-running system.
  1127.