home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Other / Coherent / DemonArchives / docs / coh4.2.10.z / coh4.2.10
Encoding:
Text File  |  1995-10-10  |  83.3 KB  |  2,088 lines

  1. This is a Frequently Asked Questions posting for comp.os.coherent,
  2. with answers about the COHERENT operating system, 
  3.  
  4.               V4.2.10 
  5.             exclusively.
  6.  
  7. Some general notes:  No new activity. No contributions in over 18 months.
  8.  
  9. When used alone, the word "Coherent" is used to mean any of the
  10. versions that may have been released.
  11.  
  12. Unless otherwise specified, these answers refer to COHERENT.4.2.10, which
  13. is the latest release available. 
  14.  
  15. Many people have contributed to this list, directly or indirectly.  In
  16. some cases, an answer has been adapted from one or more postings on the
  17. comp.os.coherent newsgroup.  Our thanks to all of those who post answers.
  18. The name (or names) at the end of an entry indicate that the information
  19. was taken from postings by those individuals; the text may have been
  20. edited for this FAQ.  These citations are only given to acknowledge the
  21. contribution.
  22.  
  23.         The Mark Williams Company is no longer trading.
  24.         There will be no further releases of Coherent.
  25.  
  26.  
  27.      C O H E R N T    V E R S I O N    4.2.10    S P E C I F I C S 
  28.  
  29.  
  30.     =======================================================
  31.  
  32. A Description of Amazing and Wonderous attributes concerning the World Famous
  33. digital Human Effort enhansing Device, lately called Coherent Version 4.1.10.
  34.  
  35. Table of Contents.
  36.         ------------ Introduction --------------
  37.  
  38.             =============================
  39. A1.    Those perennial problems with COM ports.
  40. A2.    Hardware & Configs, IRQ, IQ and ........
  41. A3.    Compiling tips......VI options..........    
  42. A4.    UUCP, and Taylor 1.05...................
  43. A5.     X11R5...................................    
  44. A6.    TCP/IP.    SLIP & Ethernet.................    
  45.           ----------------------------------------
  46.              Electronic Mail, and News Handling
  47.              ==================================
  48. A7    cnews...........  abcd goldfish, mno goldfish, sar, osicm.
  49. A8    smail.3.........  smail damit, smail for the camera.
  50. A9    tin.............  tin, for being rin .........
  51. A10    elm.............  street, for having nightmares on 
  52. A11    usenet..........  or fishing line, I still can't catch 'em.
  53. A12    The Commercial Sector. Sell your goodies worldwide.
  54.     ( contact us, the fees are outrageous but we smile a lot )
  55.  
  56.     ========================================
  57.  
  58. Introduction --------------
  59. Who We are. As if you didn't know!
  60. ============================== Queensland ==============================
  61.              right On the Great Barrier Reef.
  62.  
  63. Site name -----> chalmers.com.au
  64. Organisation --> CSTPL (Commercial Software Training Pty Ltd)
  65. Location ------> Brisbane, Mackay
  66. Dialins -------> 3 * V32bis/V.42bis.
  67. Charges -------> $2.44Mb Metropolitan, $2.95Mb Regional, plus costs.
  68. Machine -------> Unix. 486
  69. Link ----------> Shell, UUCP, (SL)IP
  70. Features ------> AARNet VAR. Domain registration, International
  71.          MX, UUCP, SLIP, Router, Shell.
  72. How -----------> By email, F:079424032 P:079524395 FC:1800067722
  73. Contact -------> Robert Chalmers. <robert@chalmers.com.au>
  74.     ------------------- CSTPL ----------------------
  75. chalmers.com.au
  76. Commerical Software Training Pty Ltd is an AARNet Value Added
  77. Reseller, and is thus able to connect others to the network. This
  78. includes full domain registration assistance and MX record handling.
  79. chalmers.com.au is extending its operations and research into Queensland
  80. as well as seeking to provide network feeds to developing countries.
  81. The special area of interest is Asia, with on going research in
  82. China, and connections to Pakistan. The Queensland project is enabling
  83. Cairns, Mt Isa, Townsville, Mackay and Rockhampton to be connected to
  84. the Brisbane server via DDS, providing internet access for users, with
  85. servers in all cities. All options will be available to users as a
  86. local call. The time frame for completion of all links is early 1995.
  87.  
  88. CSTPL is heavily involved in Applied Communications research. We attempt
  89. to establish useable communications between international sites and
  90. the Internet. Also covering Queensland, this research is based on all
  91. available technologies, including portable satellite ground stations.
  92. We try to keep the technical aspects to the bare minimum for users,
  93. and the costs reflect our committment to on going research.
  94.  
  95. Email -----> <robert@chalmers.com.au> 
  96. PSTN ------> F:079424032 P:079524395 FC:1800067722
  97. Contact ---> Robert Chalmers. <robert@chalmers.com.au>
  98. Mail ------> 22 Minster St.4170 or 4 Corndale St.4129
  99.     =======================================================
  100.  
  101.  
  102.     If you feel that you have a contribution to make, either by 
  103. way of a short shell script, a tip, trick or trap, please contribute 
  104. them to this document. Post them to robert@chalmers.com.au, set out if
  105. you like, with your name attached so you get the credit.
  106.  
  107.     This message is for the attention primarily of Australian users
  108. of Coherent, but may have some value to users around the world as well.
  109.  
  110.         Coherent Updates Now Available In Australia.
  111.         ============================================
  112.  
  113.     CSTPL is making available, with the approval of MWC, the Coherent
  114. updates as they become available. The updates are now available for
  115. retrieval by two methods: automatic reply email, and uucp for those without
  116. an internet account that they can use for such things. Uucp within Australia
  117. is not expensive, a half hour call will set you back a mere $11 for an hours
  118. downloading in off peak time. 
  119.  
  120.     As near as possible the full range of updates and patches is available
  121. and conforms to the following criteris. Take Note if you intend retrieving it.
  122.  
  123. [1]
  124.     By Email:  send email          To: updates@chalmers.com.au
  125.                 Subject: list
  126.                      ^^^^^^^^^^^^^^^^^^^^
  127.         Please.... watch the spelling of 'updates'.............
  128.  
  129.     The message does not need any text, as only the machine sees it, 
  130.     unless of course you cock it up, then I see it, care of the daemon.
  131.     This will generate a reply message to you, with a file attached
  132.     that is a LIST of the available patches. To retrieve any of the
  133.     required files, put the name of the wanted file as the Subject: .
  134.     The file will be sent back to you as UUENCODED email. You take
  135.     it from there.
  136.  
  137.      Using this method, you are making use of my Internet connection,
  138.     which is attached by Long Distance (STD) to the backbone. If you
  139.     want ALL the files, ask MWC to send you a disk, or send me bulk
  140.     money to pay for the extended phone call duration made on your
  141.     behalf. Otherwise, I have no problem with users from anywhere 
  142.     requesting the occasional update. Lets face it. You rarely need them
  143.     all! This is a voluntary service, and I get NO support by way of
  144.     money or goods for doing it. Just remember us when you want to
  145.     buy your next copy of Coherent, or you want an Internet connection
  146.     from anywhere in the world.
  147.     Last note: Some of the files are BIG. So if you have traffic limits,
  148.     your system might choke!... blaaaa...
  149.  
  150. [2]
  151.     By UUCP:    EASY...... I can't believe it.... Where has this
  152.     been all my life? You mean I can actually get these things by
  153.     dial-up in Australia?
  154.  
  155.     You should set up a system in your sys file (L.sys) with the
  156.     following. Or suitable entry in your Taylor sys file.
  157.  
  158.         SYSTEM=nanguo SEND=yes RECIEVE=yes MYNAME=anon
  159.     and the dial file,
  160.     Login: anon  Passwd: update
  161.     /usr/spool/uucppublic/downloads/updates
  162.     The phone number is +61 79 524527,  speed 9600 V42/MNP etc.
  163.  
  164.     Got that?  piece of cake.
  165.     Once you have that right, use the old reliable uucp command to
  166.     get the list of updates. UUCP users must note, I say must note,
  167.     that ALL files in the updates directory, including the list,
  168.     actually have their NAMES IN UPPERCASE. That's capitals for the
  169.     semiliterate! So note the following command example.
  170.  
  171.     uucp nanguo!/usr/spool/uucppublic/downloads/updates/LIST ~/
  172.  
  173.     All things being equal, that should shoot back the LIST of updates
  174.     to you. If not, check your configs etc. I know I have it right here,
  175.     I have just spent most of today getting it right. :-)   enjoy.
  176.  
  177.     Users should also note: There is NO direct login here. You can NOT
  178.     SEND me files, and you can only pick up files from the $PUBDIR.
  179.  
  180. ****************************************************************************
  181. Subjects:
  182.     Communication with the Outside World.
  183.     -------------------------------------
  184. A1.    COM ports.
  185.  
  186.     Things of Great Moment and Import.
  187.  
  188.     1)  You can not use ckermit or and other interactive comms program
  189.         to dial out of a com port that is already enabled so that a
  190.         terminal can use it, or it is used to take incoming calls on a
  191.         modem.
  192.  
  193.         An enabled port looks like this, as seen in /etc/ttys
  194.         1rPcom1r
  195.         ^
  196.         this indicates to you that the port is ENABLED.
  197.  
  198.     2)  If you use the UUCP program called cu to dial out to other sites,
  199.         then you don't need to worry about it, as you will have the UUCP
  200.         configuration files so designed, that everything is taken care of
  201.         for you. If you haven't got UUCP configured, read on. There is an
  202.         entire section on configuring Taylor UUCP. V1.05 for Coherent.
  203.  
  204.     3)  In order that programs like UUCP and cu can properly manage the
  205.         com ports, your files /etc/enable & /etc/disable 
  206.         
  207.         must look like this:
  208.         -r-s--s--x 3 root  root  8892  Mon may 23 22:11 /etc/disable
  209.         -r-s--s--x 3 root  root  8892  Mon may 23 22:11 /etc/enable
  210.         ^^^^^^^^^^^^^^^^^^^^^^^
  211.         important bits !
  212.  
  213.         With Taylor uucp V1.05,
  214.         DISABLED COM PORTS MUST    NOT BE IN TTYS.
  215.         That is, previously you could have
  216.         1rPcom1r
  217.         0lPcom1l
  218.         to denote that you had that port actually in use for
  219.         something. Not so with Taylor 5.
  220.     =========================================================
  221. *****************************************************************************
  222. A2. Hardware & Configs, IRQ, IQ and ........
  223.         
  224.     Some jottings on IRQ lines. There is some discussion on IRQ 7
  225.     problems, but as it sounds like something that might just be
  226.     specific to a particular setting, I'll leave it out for now.
  227.  
  228.     IRQ 7 is the printer(LPT1) IRQ.
  229.     LPT1    03BC    IRQ 7
  230.     LPT2    0378    IRQ 7
  231.     LPT3    0278    IRQ 5
  232.  
  233.     The whole list up,
  234.  
  235.     ISA, EISA AND MCA DEFAULT INTERRUPTS.
  236.  
  237.     IRQ 0    SYSTEM TIMER
  238.     IRQ 1    KEYBOARD CONTROLLER
  239.     IRQ 2    SECOND IRQ CONTROLLER
  240.     IRQ 3    COM 2
  241.     IRQ 4    COM 1
  242.     IRQ 5   LPT 2, OR LPT 3
  243.     IRQ 6    FDD CONTROLLER
  244.     IRQ 7    LPT 1
  245.     IRQ 8    REAL TIME CLOCK
  246.     IRQ 9      RE-DIRECTED IRQ 2   IRQ-2 is latched to the first port
  247.                     on the second chip, IRQ 9.
  248.     IRQ 10    AVAILABLE
  249.     IRQ 11    AVAILABLE
  250.     IRQ 12    MOTHERBOARD MOUSE PORT  (available if no mouse)
  251.     IRQ 13    MATHS COPROCESSOR
  252.     IRQ 14    HDD CONTROLLER
  253.     IRQ 15    AVAILABLE
  254.  
  255.  
  256. Ok, lets enlarge on this a little. The following excerpts are from Dr Dobbs,
  257. the SCO configuration guide, and Programming Device Drivers, and the OAK Chip
  258. Set, specification Data Book.
  259.  
  260. Lets start with the Interrupt controllers.
  261.  
  262. Interrupt Control Logic.
  263. The interrupt control logic includes two Intel 8259A compatible interrupt 
  264. controllers. It has 15 levels of interrupt that are handled according to
  265. programming priority in the CPU chip. The list above shows the hardware 
  266. interrupts and their availability to the I/O channel. (PC bus)
  267. The I/O address for each register for each register in the interrupt 
  268. controller is defined in the the following table. (OAK DATA)
  269.  
  270.         MASTER INTERRUPT CONTROLLER
  271.  
  272. ADDRESS        W/R    Function
  273.             ***initialization mode***
  274. 0020        W    initialization command word ICW1
  275. 0021        W    initialization command word ICW2,ICW3,ICW4
  276.             ***operation mode***
  277. 0021        W    operation control word OCW1
  278. 0020        W    operation control word OCW2,OCW3
  279.             ***read status register(operation mose)***
  280. 0021        R    interrupt mask register(IMR)
  281. 0020        R    interrupt request register(IRR), and interrupt
  282.             service register(ISR).IRR and ISR  are selected
  283.             through bit 0 and bit 1 in OCW3
  284.  
  285.         SLAVE INTERRUPT CONTROLLER
  286.             ***initialization mode***
  287. 00A0        W    initialization command wordICW1
  288. 00A1        W    .......
  289.             as for MASTER above.
  290.  
  291. The interrupt acknowledge cycle requires two wait states.
  292. --------------------------------------------------------------------------
  293. from the SCO configuration book
  294. Typical device interrupts.
  295.     IRQ 0    clock
  296.     IRQ 1*    console
  297.     IRQ 2    networks, tapes and others
  298.     IRQ 3    COM 2
  299.     IRQ 4    COM 1
  300.     IRQ 5   LPT 2, OR LPT 3
  301.     IRQ 6*    FDD CONTROLLER
  302.     IRQ 7    LPT 1
  303.     8    not mentioned (but it is the battery clock)
  304.     IRQ 9*     chain from IRQ2
  305.     IRQ 10    AVAILABLE
  306.     IRQ 11*    Adaptec 0
  307.     IRQ 12    Adaptec 1
  308.     IRQ 13*    FPU
  309.     IRQ 14* ST506 Controller 0
  310.     IRQ 15    ST506 Controller 1
  311. * do not use these interrupts.
  312. ----------------------------------------------------------------------------
  313. Dr Dobbs journal. #186. March 1992.
  314. Page 44 - 50.
  315.  
  316. On page 46. Along with a diagram of the Bus Architecture, there is a foot
  317. note that says.
  318. quote
  319. *IRQ7 and IRQ15 also receive "lost" interrupts for associated controller.
  320. end of quote
  321.  
  322. That is, MASTER CONTROLLER, IRQ 0 - 7, lost interrupts spill onto #7
  323. On the  SLAVE CONTROLLER, IRQ8 -15, lost interrupts spill onto #15
  324.  
  325. Now, I'm told reliably that a "lost" interrupt is one that the processor
  326. didn't process before another one came in from the same device. 
  327. See the following notes;
  328.  
  329.  
  330. quote(Dr Dobbs)
  331. 386 ISA Interrupt Mechanism in Detail
  332. The ICUs are attached in a cascaded arrangement, with the master ICU directly
  333. connected to the 386 and the slace ICU connected to one of the eight interrupt
  334. input lines that each ICU possesses. Because of this layout, although we have 
  335. two ICUs with eight lines apiece, only 15 interrupts are actually generatable.
  336. as the third interrupt(IRQ2) is not allowed. Even more confusing is the 
  337. arrangement of relative priority. the interrupt priorities for the 
  338. slave interrupts (IRQ8-15) are jammed in between IRQ1 and IRQ3. And finally
  339. to maintain compatibility with the original PC, what used to be IRQ2 is now
  340. attached to the slave to IRQ9, with the newer interrupt signals on the slave
  341. ICU(other than IRQ9) available only to the AT or 16-bit wide cards.
  342. end quote.
  343.  
  344. quote
  345. ...Also, in deference to high speed 386 systems, what appear to be spurious
  346. input instructions are added after updating the ICU mask register. These 
  347. instructions do a read of a known "nonexistent" port. It is known that no
  348. data will be forced on the bus, and that any outstanding output operations
  349. on the ISA bus will have been written out before this instruction finishes.
  350. This code is necessary to mitigate the sins of "clever" hardware that holds
  351. port output contents in a "write buffer" so that output instructions
  352. can overlap execution. If this code is not insereted, when we turn on the 
  353. processor's interrupt processing again(sti), the new mask won't have made it
  354. to the ICU and we will be running at the "old" priority for a "while". If this
  355. happens at an inconvenient time(during an interrupt processing routine, for
  356. instance), we might endlessly recurse and overrun the processor. the 386 is
  357. very unforgiving in this regard - the processor will shut down and 
  358. spontaneously reset itself.
  359. end quote
  360.  
  361.  
  362. ....there is more to come on this section....
  363.  
  364.  
  365.  
  366.  
  367.  
  368. =============================================================================
  369. A3.
  370.         Compilation Environments and Feature Tests
  371. The COHERENT  header files are  designed to let  you invoke any  of several
  372. ``compilation environments''.  Each environment offers its own features; in
  373. this way,  you can easily  import code that  conforms to the  POSIX or ANSI
  374. standards, compile device drivers, or otherwise fine tune how your programs
  375. are compiled.   To invoke a  given compilation environment, you  must set a
  376. feature test.
  377. As discussed  in the Lexicon article name space,  the ISO Standard reserves
  378. for  the  implementation   every  identifier  that  begins  with  a  single
  379. underscore followed  by an upper-case  letter.  The POSIX  Standards define
  380. several  symbols in  this name  space  that the  implementation can  use as
  381. ``feature tests''  -- that is, as  symbols that you can  use in your source
  382. code  to determine  the  presence or  absence  of a  particular feature  or
  383. combination  of  features.   Note   that  a  feature  test  applies  to  an
  384. implementation of  C, rather than  to an operating system.   A feature test
  385. combines aspects of the host system and the language translator: some tests
  386. apply to the operating system, some purely to the C translator.
  387.  
  388. The  operating  system's   header  files  can  define  them  (for  example,
  389. _POSIX_SAVED_IDS)  to control  compilation  of user  code or  to deal  with
  390. optional  features,  or  you can  define  them  (e.g., _POSIX_C_SOURCE)  to
  391. control how  the system's header files declare  or define constants, types,
  392. structures, and macros.
  393.  
  394. In general,  a feature  test must  either be undefined  or have  an integer
  395. value.  It must not be defined  as having no expansion text, or expand into
  396. a string.  For example,
  397.  
  398.     # CORRECT
  399.     cc -D_POSIX_C_SOURCE=1 foo.c
  400.  
  401. is correct, as is:
  402.  
  403.     # CORRECT
  404.     cc -U_POSIX_C_SOURCE foo.c
  405.  
  406. However,
  407.  
  408.     # WRONG
  409.     cc -D_POSIX_C_SOURCE foo.c
  410.  
  411. is incorrect, as is:
  412.  
  413.     # WRONG
  414.     cc -D_POSIX_C_SOURCE="yes" foo.c
  415.  
  416. This is to permit the constants to be tested with expressions like
  417.  
  418.     #if _POSIX_C_SOURCE > 1
  419.  
  420. where an integer  value is required.  (If the symbol  is used in a #if test
  421. and is  undefined, cpp  replaces it  with zero, which  is still  an integer
  422. value).  This  permits the  implementation to  use different values  of the
  423. feature test  to invoke different  feature sets; and  it simplifies testing
  424. for complex combinations of feature tests.
  425.  
  426. Although nearly  all feature tests behave  as shown above, there  are a few
  427. exceptions, namely _POSIX_SOURCE and _KERNEL. These symbols are not defined
  428. as having a  specific value, so many users do  not supply a value.  To deal
  429. with this,  the COHERENT  header files  check whether these  constants have
  430. expansion text.  If they do  not, the header files redefine these constants
  431. with value  1, so that they  can be used like the  other feature tests that
  432. the COHERENT header files define.
  433.  
  434. The  following describes  the  feature tests  used in  the COHERENT  header
  435. files,  and briefly  describes  the compilation  environment each  invokes.
  436. Because we are continually adding new  features to the kernel, this list is
  437. not guaranteed to be complete.
  438.  
  439. _DDI_DKI
  440.      Invoke the environment for compiling device drivers.  This environment
  441.      makes visible  all DDI/DKI  function prototypes and  data definitions,
  442.      and defines  all fundamental data types and  structures as mandated by
  443.      UNIX System V, Release 4.
  444.  
  445.      Please note  that this feature  test is an COHERENT  extension, and is
  446.      not portable to other operating systems.
  447.  
  448. _KERNEL
  449.      Invoke the  environment for compiling  the kernel or  a device driver.
  450.      This  environment gives  code full access  to system's  private header
  451.      files.  Under COHERENT, this option is equivalent to defining _DDI_DKI
  452.      to value  1, because COHERENT  only supports compiling  DDI/DKI driver
  453.      source code from System V, Release 4.  This means that the definitions
  454.      of many fundamental data types such as pid_t are changed to the System
  455.      V,  Release  4  definitions  rather  than  the  System  V,  Release  3
  456.      definitions used by user code.  (This is a System V convention.)
  457.  
  458. _POSIX_SOURCE
  459. _POSIX_C_SOURCE
  460.      Select  a  ``clean'' compilation  environment,  in  which the  headers
  461.      defined in  the POSIX.1 or  POSIX.2 standards define  no symbols other
  462.      than   the   ones   that   those   environments   require.    Defining
  463.      _POSIX_C_SOURCE  with  value 1  selects  the  POSIX.1 environment,  as
  464.      defined in the  POSIX.1 standard.  Defining _POSIX_C_SOURCE with value
  465.      2 selects the POSIX.2 environment, as defined in the POSIX.2 standard.
  466.      Defining _POSIX_SOURCE has the same effect as defining _POSIX_C_SOURCE
  467.      with value 1.
  468.  
  469. _STDC_SOURCE
  470.      Select a ``clean''  compilation environment.  In this environment, the
  471.      headers that the ANSI C  standard defines define no symbols other than
  472.      those that  the standard requires.   This feature test  is designed to
  473.      let you compile  conforming Standard C programs that themselves define
  474.      functions or macros that the COHERENT header files defined in addition
  475.      to those described in the ANSI standard.
  476.  
  477.      Please note  that this feature  test is an COHERENT  extension, and is
  478.      not portable to other operating systems.
  479.  
  480. _SUPPRESS_BSD_DEFINITIONS
  481.      This feature test  invokes a compilation environment that excludes all
  482.      definitions that  are included  for compatibility with  Berkeley UNIX.
  483.      As of  this writing,  this feature test  affects only the  header file
  484.      <string.h>, and prevents it from defining the macros bcopy(), bzero(),
  485.      index(),  and rindex().  Note  that selecting  a POSIX  or Standard  C
  486.      environment also suppresses these definitions.
  487.  
  488.      Please note  that this feature  test is an COHERENT  extension, and is
  489.      not portable to other operating systems.
  490.  
  491. _SYSV3
  492.      This  feature test  invokes  a compilation  environment  in which  all
  493.      fundamental types and data structures have the definitions mandated by
  494.      UNIX System V, Release 3.
  495.  
  496. _SYSV4
  497.      This  feature test  invokes  a compilation  environment  in which  all
  498.      fundamental types and data structures have the definitions mandated by
  499.      UNIX  System V,  Release  4.  As  of  this writing,  this facility  is
  500.      incomplete and used mainly to develop device drivers and extensions to
  501.      the kernel.
  502.  
  503.      Please note  that this feature  test is an COHERENT  extension, and is
  504.      not portable to other operating systems.
  505.  
  506.     ========================= Compliments of Fred. ==================
  507. These VI settings might help when using vi to cut code;
  508.  
  509.  
  510. ================================ VI COMMANDS ==============================
  511. Used with :set, the following can be used to set up your document area. 
  512. They are either put into a .exrc file in your $HOME directory, or while in
  513. vi, with :set <option>. For example, :set showmode causes the current 
  514. input state to be displayed on the lower right corner.
  515.  
  516. noautoindent      noflash           nonovice                 nosync
  517. autoprint         flipcase=""       nonumber                 tabstop=8  
  518. autotab           nohideformat      paragraphs="PPppIPLPQP"  taglength=0  
  519. noautowrite       noignorecase      prompt                   tags="tags"
  520. nobeautify        noinputmode       noreadonly               tagstack
  521. cc="cc -c"        keytime=2         remap                    term="ansipc"
  522. nocharattr        keywordprg="ref"  report=5                 noterse
  523. columns=80        lines=25          noruler                  timeout
  524. nodigraph         nolist            scroll=11                window=25 
  525. directory="/tmp"  magic             sections="NHSHSSSEse"    wrapmargin=0  
  526. noedcompatible    make="make"       shell="/usr/bin/ksh"     wrapscan
  527. equalprg="fmt"    mesg              noshowmatch              nowriteany
  528. errorbells        nomodelines       noshowmode               
  529. noexrc            more              shiftwidth=8  
  530. exrefresh         nearscroll=25     sidescroll=8  
  531. ==========================================================================
  532. Used without :set, is the keyword 'color'. For example, :color blue white
  533. sets your screen to blue text on white background. Pretty.
  534. ==========================================================================
  535. A4.
  536. A5.
  537.     
  538. The second edition of the COHERENT X manual contains a section on recompiling
  539. X applications under COHERENT.  It follows.  If somebody wants to begin a
  540. FAQ on porting to COHERENT, please feel free to use it.  If not, I hope
  541. people find it helpful.
  542. Fred.
  543. ===============
  544.  
  545.  
  546.                          Recompiling X Applications
  547.  
  548.  
  549. A wealth of X source code  is available to the public.  In all probability,
  550. somebody  has already  written the  X program that  you want.   By checking
  551. publically accessible archives, you will find many interesting, useful, and
  552. amusing programs.   The following gives hints on how  to recompile X source
  553. code under COHERENT.
  554.  
  555. In many cases,  importing an X application to COHERENT  is simply matter of
  556. recompiling its source code.  This section describes how to do so.  It also
  557. discusses some problems that are commonly encountered during recompilation.
  558.  
  559.                           Imakefiles and Makefiles
  560.  
  561. The UNIX/COHERENT  application make manages  the building of  programs.  It
  562. reads the contents of a Makefile, which describes how to build the program,
  563. and names the source modules from which the program is created.  If you are
  564. not familiar with  make, see tutorial for it that  appears in your COHERENT
  565. manual.
  566.  
  567. Although make is the programmer's best friend, adapting a Makefile from one
  568. operating system  to another can  be difficult.  This  is because different
  569. operating systems  -- even different  flavors of UNIX  or UNIX-like systems
  570. like COHERENT -- can vary quite a bit in their capacities, in the functions
  571. available in their libraries, and  in how they have structured their header
  572. files and libraries.
  573.  
  574. To help you  avoid this problem, most X applications  use the utility imake
  575. to  build a  Makefile. imake  reads the  contents of  an Imakefile  that is
  576. written by  the programmer, invokes  the C preprocessor cpp  to combine the
  577. Imakefile with  a set  of configuration  files designed for  your operating
  578. system, and writes a Makefile from which you can build the application.  In
  579. many  instances, the  Imakefile simply  names the  application you  wish to
  580. build and the source files from which it is built.  An example Imakefile is
  581. shown below.
  582.  
  583. The script  xmkmf invokes imake with the  arguments and configuration files
  584. that are appropriate  for COHERENT.  In most instances, all  you have to do
  585. to build a Makefile is type  xmkmf; and once the Makefile is built, all you
  586. have to do to build the application is type make.
  587.  
  588. Naturally, some problems may arise during this process.  The commonest ones
  589. are discussed below.
  590.  
  591.                          Modifications to Makefiles
  592.  
  593. Some applications come with a Makefile  instead of an Imakefile. If this is
  594. the  case, you  probably will  need  to modify  this Makefile  so that  the
  595. program will compile correctly under COHERENT.
  596.  
  597. The following changes must be made to most Makefiles:
  598.  
  599. -> X   Windows   for   COHERENT  keeps   X   header   files  in   directory
  600.    /usr/X11/include/X11. Most  other releases of X  keep their header files
  601.    in directory /usr/include/X11; therefore, you must add an instruction to
  602.    the Makefile to tell it to look in the correct directory.
  603.  
  604.    A Makefile must use the option -I to name this directory explicitly:
  605.  
  606.         -I/usr/X11/include
  607.  
  608.  
  609.    This tells  the C  compiler to look  in /usr/X11/include for  any header
  610.    file whose name is prefixed with X11, such as:
  611.  
  612.         #include <X11/Xos.h>
  613.  
  614.    Often, this is done as part  of the macro CCFLAGS. Therefore, if you see
  615.    an instruction of the form:
  616.  
  617.         -I/usr/include/X11
  618.  
  619.  
  620.    change it to read:
  621.  
  622.         -I/usr/X11/include
  623.  
  624.  
  625. -> X Windows for COHERENT  keeps its X libraries in directory /usr/X11/lib.
  626.    A Makefile  must name that  directory explicitly.  Many  Makefiles use a
  627.    macro  named something  like LIBFLAGS  to set  linking options  and name
  628.    libraries.  Before the list of libraries, you must add the option:
  629.  
  630.         -L/usr/X11/lib
  631.  
  632.  
  633. -> Add -lXbsd  to the end  of the list  of libraries to be  linked into the
  634.    application.  This tells the  linker to link in library libXbsd.a, which
  635.    holds the socket-emulation routines.
  636.  
  637. -> If  the option  -lsocket appears  on the list  of libraries,  remove it.
  638.    This library holds the  Berkeley socket functions; these are emulated in
  639.    libXbsd.a and so are not needed.
  640.  
  641. -> Add  the  option  -DCOHERENT to  the  macro  CCFLAGS.  If  you make  any
  642.    COHERENT-specific changes to the  source code, you can bracket them with
  643.    the preprocessor directives
  644.  
  645.         #ifdef COHERENT
  646.             ...
  647.         #endif
  648.  
  649.  
  650.    and  the instruction  -DCOHERENT  will ensure  that they  appear in  the
  651.    compiled program.
  652.  
  653. Once you have made these changes, you can begin compiling.
  654.  
  655.                       Problems Seen During Compilation
  656.  
  657. The following discusses problems that can come up during compilation.
  658.  
  659. -> The COHERENT compiler is not ANSI compliant, although it recognizes some
  660.    ANSI  extensions to  the C  language.  If the  X application  is written
  661.    using  ANSI-specific grammar (in  particular, function  prototypes), you
  662.    must  compile it  with an  ANSI-compliant compiler,  e.g., GNU  C.  When
  663.    doing so,  modify the Makefile  or Imakefile to  define the macro  CC to
  664.    gcc.
  665.  
  666. -> During  the  link phase,  you  may  see the  linker  complain about  the
  667.    undefined symbol  select. This indicates that one  of the source modules
  668.    has called  the socket function select(). Under  X Windows for COHERENT,
  669.    this function is named soselect().
  670.  
  671.    To fix  this problem, go  through the sources  and conditionally replace
  672.    every instance of
  673.  
  674.         select( [arguments] );
  675.  
  676.  
  677.    with:
  678.  
  679.         #if defined(COHERENT)
  680.              soselect ( [arguments] );
  681.         #else
  682.              select ( [arguments] );
  683.         #endif
  684.  
  685.  
  686.    Note that this is the proper  way to add new COHERENT-specific code to X
  687.    sources.  If  the application comes only with a  Makefile, you must make
  688.    sure the  instruction -DCOHERENT  appears as  part of the  macro CFLAGS;
  689.    however, this  is not  necessary if  you have built  a Makefile  from an
  690.    Imakefile,  as   xmkmf  ensures   that  this  instruction   is  included
  691.    automatically.
  692.  
  693. -> The COHERENT  C compiler does not  include by default the  code to print
  694.    floating-point numbers,  as this code  increases the size  of the linked
  695.    executable noticeably.   If your X  application uses any  of the options
  696.    %e, %f, or %g with the  function printf(), and if you are compiling with
  697.    COHERENT's cc command,  you must add the option -f  to the macro CFLAGS.
  698.    Note that  you must  do this  in either a  Makefile or an  Imakefile, as
  699.    xmkmf does not add this option by default.
  700.  
  701.    You do not need to do this if you are compiling with GNU C.
  702.  
  703. -> Some applications redeclare  the manifest constant PI; COHERENT declares
  704.    this  constant in  header file  <math.h>. The  COHERENT C  compiler will
  705.    abort if manifest constants are redeclared  (GNU C does not); so if this
  706.    problem  arises, conditionalize  out the  declaration  of PI  within the
  707.    application, as shown above.
  708.  
  709. -> You  may find  problems with  the  following routines:  bcopy(), bcmp(),
  710.    bzero(), index(), and rindex().  The problems usually consist of a clash
  711.    between  the manner  in  which these  routines are  declared or  defined
  712.    within the application, and they way they are declared or defined in the
  713.    COHERENT header files.  In most instances, you should conditionalize out
  714.    the  declaration within  the  application, and  ensure  that the  proper
  715.    COHERENT  header file  is included.   For details,  use the  command man
  716.    command to view the manual entries for the routine in question.
  717.  
  718. -> Some versions  of UNIX declare  string-handling functions in  the header
  719.    file <strings.h>.  COHERENT, however, keeps  them in <string.h>.  If the
  720.    compiler complains that  it cannot open strings.h, conditionally replace
  721.    it in the sources with <string.h>, as described above.
  722.  
  723. -> If you are compiling with GNU  C, the linker may complain of a number of
  724.    undefined symbols of the form _dmul.  This is due to the fact that GNU C
  725.    always creates code that performs hardware floating-point arithmetic and
  726.    by  default attempts  to  link in  the COHERENT  libraries that  contain
  727.    hardware  floating-point routines,  but  the COHERENT  X libraries  were
  728.    compiled to use  software floating-point arithmetic.  To get around this
  729.    problem, you must modify the file  specs for GNU C: change the line that
  730.    reads
  731.  
  732.         %scrt1.o %scrtbegin.o -u _dtefg -L/lib/ndp -L/usr/lib
  733.  
  734.    to:
  735.  
  736.         %scrt1.o %scrtbegin.o -u _dtefg -L/lib -L/usr/lib
  737.  
  738.  
  739.    Note that  this is a work-around  for GNU C, and  may create problems of
  740.    its own.   For example, when you link  software floating-point code with
  741.    modules compiled to use hardware floating-point arithmetic, the function
  742.    atof() will always return NAN.
  743.  
  744.    For  a  fuller   description  of  how  COHERENT  manages  floating-point
  745.    arithmetic, see the Lexicon entry for cc.
  746.  
  747. If other problems arise that are not described here, please send a detailed
  748. description to MWC Technical Support, as described at the beginning of this
  749. manual.
  750.  
  751.                      Recompiling an Example Application
  752.  
  753. The  following walks  you through  the recompilation  of the  X application
  754. xwave. This  application, whose source code is included  with X Windows for
  755. COHERENT, was  written by Mike Friedman, Paul Riddle,  and Jim McBeath.  It
  756. draws  a three-dimensional  animation of a  wave.  By  setting command-line
  757. parameters, you can dictate the size  of the grid used and the type of wave
  758. to be plotted.  The following steps describe how to recompile this program:
  759.  
  760. -> cd to directory /usr/X11/src.
  761.  
  762. -> De-archive the sources by typing the command:
  763.  
  764.         gtar -xvzf xwave.gtz
  765.  
  766.  
  767. -> cd to directory xwave.
  768.  
  769. -> Type  the  command xmkmf.  This  builds a  Makefile  from the  Imakefile
  770.    included with this package.
  771.  
  772. -> To recomile, type make.
  773.  
  774. -> When compilation has finished, install the program as follows:
  775.  
  776.         mv xwave /usr/X11/bin
  777.  
  778.  
  779. -> To test the  program, invoke X as described in  an earlier section; then
  780.    type xwave. The application opens a window and animates a sample wave.
  781.  
  782. That's all there  is to it.  A formatted manual  page for xwave is included
  783. in directory /usr/X11/src/xwave/man.
  784.  
  785. The following gives the contents of xwave's Imakefile:
  786.  
  787.      LOCAL_LIBRARIES = $(XLIB)
  788.      OBJS = xwave.o force.o plot.o prop.o
  789.      SRCS = xwave.c force.c plot.c prop.c
  790.      SYS_LIBRARIES = -lm
  791.      ComplexProgramTarget(xwave)
  792.  
  793. When xmkmf and imake process this five-line Imakefile, it expands in a 370-
  794. line Makefile. The following describes each line in the Imakefile.
  795.  
  796. LOCAL_LIBRARIES names  the libraries  to be  linked into the  program.  The
  797. macro XLIB means that the programmer wants to include the standard suite of
  798. X  libraries for  your  system.  The  configuration files  included with  X
  799. Windows for  COHERENT give the information that imake  needs to expand XLIB
  800. into the correct set of libraries.
  801.  
  802. OBJS  and  SRCS  name, respectively,  the  object  modules  from which  the
  803. application is  built, and  the source files  from which those  objects are
  804. compiled.
  805.  
  806. SYS_LIBRARIES names  the system libraries to be included,  apart from the X
  807. libraries.  The  programmer has included the  argument -lm, which indicates
  808. that the program needs  routines within the mathematics library libm.a. For
  809. details on  the contents  of this  library, see its  entry in  the COHERENT
  810. Lexicon.
  811.  
  812. Finally, the line
  813.  
  814.      ComplexProgramTarget(xwave)
  815.  
  816. is a macro whose body is kept in file /usr/X11/lib/config/Imake.rules. This
  817. macro  contains all  of the  instructions and commands  that make  needs to
  818. build a complex X program.  The  argument xwave names the application to be
  819. built.
  820.  
  821. For a  discussion of the macros  that can be included  in an Imakefile, see
  822. the Lexicon entry for imake in this manual.
  823.  
  824.                          Building Your Own Makefile
  825.  
  826. If you  do not want  to use xmkmf  and imake, you  can build a  Makefile by
  827. hand.  You  probably will never need  to do this, but knowing  how to do so
  828. may come in handy some time:
  829.  
  830. 1. Build  a skeletal  Makefile.  Place the  following  declarations at  its
  831.    beginning:
  832.  
  833.         CFLAGS  = -I/usr/X11/include
  834.         LIBS    = -L/usr/X11/lib -lX11 -lXbsd
  835.  
  836.  
  837.    Follow this  with a  declaration of the  object modules from  which this
  838.    application is built.  As a rule  of thumb, there is one object for each
  839.    source  module.  For  example,  if the  application  consists of  source
  840.    modules foo.c, bar.c, and baz.c, write the following into your Makefile:
  841.  
  842.         OBJS    = foo.o bar.o baz.o
  843.  
  844.  
  845.    Finally, add the  target line for the executable you  wish to build.  If
  846.    the application is to be called xapp, add the following to your skeletal
  847.    Makefile:
  848.  
  849.         xapp: $(OBJS)
  850.              $(CC) $(CFLAGS) $(OBJS) $(LIBS)
  851.  
  852.  
  853. 2. Use the command
  854.  
  855.         cc -c -I/usr/X11/include/X11 source.c
  856.  
  857.  
  858.    for  each source  module.  Some  modules will  compile correctly  on the
  859.    first  try; others  will require several  attempts.  Those  that require
  860.    several attempts may require that you use the cc option -D to set one or
  861.    more switches  within the source  module.  Use the command  grep to find
  862.    every instance  with the source  module of the  C preprocessor directive
  863.    #if.  These will  indicate  the options  that are  available within  the
  864.    source code, and suggest which switches you should set.
  865.  
  866. 3. Once you have succeeded in compiling all of the source files to objects,
  867.    type make.  Because all of the objects already  exist, make will attempt
  868.    to link an executable.
  869.  
  870.    At this  stage, you  probably will  see errors about  undefined symbols.
  871.    Note which  symbols are undefined;  then use the COHERENT  utility nm to
  872.    list the  symbols in  all of  the X libraries  and find  which libraries
  873.    contains the symbols you need.  Include them in your Makefile.
  874.  
  875.    Note  that  an X  application  always need  the  libraries libX11.a  and
  876.    libXbsd.a;   the  declarations  given   above  invoke   those  libraries
  877.    automatically.  The  difficulty is in  arranging the other  libraries in
  878.    the proper  order in the  Makefile. This can  be done only  by trial and
  879.    error: sometimes many trials and many errors.  When you have the correct
  880.    order, copy the information into your Makefile.
  881.  
  882.    Unresolved identifiers within the program may also be manifest constants
  883.    that  the programs  expects  to be  set  with the  -D option  to the  cc
  884.    command.
  885.  
  886. When  you have  finished linking  the  program, you  should have  a working
  887. executable.   Thereafter, you  can  use the  Makefile you  just created  to
  888. rebuild the application, should you decide to modify the source code.
  889.  
  890. Most applications come with a manual page that describe the program and how
  891. to run it.  You may, for example, need to install a font or a resource file
  892. in  the appropriate  directory.   You will,  of  course, need  to test  the
  893. program to make  sure that it runs correctly.  We  have found that, in most
  894. instances, if a program can be  compiled and linked under COHERENT, it will
  895. also run correctly.
  896.  
  897.                            Where To Get X Sources
  898.  
  899. Numerous  X programs  have already  been ported  to COHERENT.   Archives of
  900. sources are available for free on the Mark Williams BBS.  For directions on
  901. how to  contact the MWC  BBS, see the  directions in the  tutorial for UUCP
  902. that appears in the COHERENT manual.
  903.  
  904. If you have access to the  Internet, you can retrieve source files from the
  905. site  raven.alaska.edu.  Use  ftp to  access  that  site;  then  log in  as
  906. ``anonymous''.  New sources are added continually.
  907.  
  908. The master  site for  X software  is ftp.x.org. If  you have access  to the
  909. Internet,  you  can log  into  that  system via  anonymous  ftp. This  site
  910. contains many megabytes  of sources, so you would be  well advised to think
  911. about what you would like to retrieve before you enter this site.
  912.  
  913. Finally, Mark  Williams Company sells packages of  X applications that have
  914. been  ported to  COHERENT.   Called Xware,  these  packages bring  together
  915. interesting, useful, and amusing programs for your COHERENT X system.  Each
  916. has been ported to COHERENT; most  include full source code and a formatted
  917. manual page that can be viewed  with the COHERENT man command.  For details
  918. on Xware, see the release notes that come with this manual.
  919.  
  920.  
  921. fred@lepanto.mwc.com        -- Fred Butzen --     Mark Williams Company
  922. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  923.  
  924. >
  925. > > Is anyone able to use this card in 800x600 mono even 
  926. > > with XFree 1.2?  
  927. >
  928. >I have a CL 5426 which would seem a close friend of your 5428. It works well in
  929. >mono with Coh-X on a CTX 14" SVGA monitor.  
  930. >
  931. >After much hair pulling to get it working, Xconfig contains: 
  932. >
  933. > #mono server 
  934. > vga2 
  935. > chipset "pvga1" 
  936. > videoRAM 1024 
  937. > Modes "640x480" "800x600" 
  938. > Clocks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
  939. > Virtual 800 600 
  940. > Viewport 0 0 
  941. > # 
  942. > modeDB 
  943. > "640x480"  1   640 672 768 800  400 490 492 525 
  944. > "800x600"  4   800 808 944 1056 600 608 610 633 
  945. > # 
  946. >
  947. >TREV.
  948.  
  949.  
  950. A6.
  951.     Slip, Ethernet, and communications things generally!
  952.  
  953. Starting & Stopping Cohulip. Coherent SLIP. Some examples
  954. To invoke this script, which I have called slip, one types for instance;
  955.  
  956.     slip raven
  957.  
  958. ------------------------------- cut ---------------------------------------
  959. #!/bin/sh
  960. RMODEM=/dev/asy01fr
  961. LMODEM=/dev/asy01fl
  962.  
  963. case $1 in
  964.     tafe)    TARGET=tafe;;
  965.     raven)    TARGET=raven;;
  966.     *)    echo "Usage: Net tafe|raven|...";
  967. esac
  968.  
  969. # disable the port
  970. echo "Disabling port $RMODEM"
  971. /etc/disable $RMODEM
  972.  
  973. # invoke net for the target network. if you want a log of the session
  974. # leave the '| tee slip.log' bit in, else delete it.
  975. net start.$TARGET | tee slip.log
  976.  
  977. #after typing 'exit' at the 'net>' prompt,
  978. # reset modem and port after a net session
  979. echo "Resetting the modem"
  980.  
  981. # get the modem's attention wiht the '+++' sequence.
  982. # I've taken this from modeminit. It's the only way I can get this
  983. # Hayes compatible modem to respond correctly.
  984. {
  985. echo "Get the modems attention. 3+++3"
  986.   sleep 3
  987. echo -n +++ > $LMODEM 
  988.   sleep 3
  989. }
  990. #give it at least 6 seconds, come on now.
  991. # hang up the phone, H0 should accomplish this on most systems.
  992.   cat >&1 <<\!
  993. ATH0
  994. !
  995. } <$LMODEM >$LMODEM
  996. sleep 2
  997.  
  998. # On my system, ATZ resets to the 'default' settings, in config area 0.
  999. # reload the standard modem settings
  1000. echo "Reset defaults. Allow logins"
  1001.   cat >&1 <<\!
  1002. ATZ
  1003. !
  1004. } <$LMODEM
  1005. sleep 2
  1006.  
  1007. # Make sure that the /etc/enable set of scripts has permissions for users.
  1008. # re-enable the port
  1009. echo "Re enabling port $RMODEM. Hasta lavista.. baby!"
  1010. /etc/enable $RMODEM
  1011.  
  1012. # end
  1013. ----------------------------------- cut -----------------------------------
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019. The following modifications have been suggested by; 
  1020. Jake Odell  **  jake@pantheon.us.com  **  jodell@rahul.net
  1021. In place of the escape sequence above use,
  1022.  
  1023.  sleep 3 
  1024.  echo -n +++ >$LMODEM
  1025.  sleep 3
  1026. [..............]
  1027.  #give it at least 5 seconds, come on now.
  1028.  # hang up the phone, H0 should accomplish this on most systems.
  1029.  {
  1030.    sleep 3
  1031.    cat >&1 <<\!
  1032.  ATH0
  1033.  !
  1034.  } <$LMODEM >$LMODEM
  1035. [........................]
  1036.  /usr/bin/modeminit
  1037.  wait
  1038.  /etc/enable $RMODEM
  1039. [........................]
  1040. Just a few quickies that I hope may help..
  1041. Jake
  1042. ===========================================================================
  1043. #start.raven This file is an example of connecting to a floating IP address.
  1044. #
  1045. hostname nanguo.chalmers.com.au
  1046. #the next 3 lines should all be ONE line. This is for convenience here only.
  1047. attach asy 0 /dev/asy01fl slip sl0 0 1500 9600 AT&F\r OK 
  1048.     ATX0E1V1Q0M3DT...phone number...\r CONNECT \r 
  1049.     UAF-DU-04> show\sport\sslip\r UAF-DU-04> c\sslip\r session
  1050. #end of single line
  1051. #the last word, session, allows me to read the assigned IP. At which time
  1052. #I type 'ip address xxx.xxx.xxx.xxx' whqatever it is, then type,
  1053. #domain addserver 137.229.10.39.
  1054. #At that time I'm connected.
  1055. route add default sl0
  1056. ip ttl 32
  1057. tcp mss 1048
  1058. tcp window 1048
  1059. tcp irtt 2000
  1060. eol unix
  1061. start smtp
  1062. start telunix 23
  1063. start echo
  1064. start finger
  1065. start ftp
  1066. ------------------------------------------
  1067. This one is a local one to the college, with a permanent IP assigned.
  1068. #start.tafe
  1069. hostname nanguo.chalmers.com.au
  1070. attach asy 0 /dev/asy01fl slip sl0 0 1500 9600 ATDT512692\r
  1071. # At this point I am connected.
  1072. ip address 203.1.96.1
  1073. route add 147.132.76.1 sl0
  1074. route add 147.132.77.3 sl0
  1075. route add default sl0
  1076. ip ttl 32
  1077. tcp mss 1048
  1078. tcp window 1048
  1079. tcp irtt 2000
  1080. eol unix
  1081. start smtp
  1082. start telunix 23
  1083. start echo
  1084. start finger
  1085. start ftp
  1086. -------------------------------------------------------------------------
  1087. This next one is simply an ethernet connection to the DOS machine, running
  1088. MSTCP/IP, and or Winsock+WinQvtNet.
  1089.  
  1090. #startup.net  (the default)
  1091. hostname nanguo.chalmers.com.au
  1092. ip address 203.1.96.1
  1093. attach nx 0 0 arpa ne0 5 1500
  1094. route add default ne0
  1095. route add prism ne0
  1096. route add emerald ne0
  1097. ip ttl 32
  1098. tcp mss 1500
  1099. tcp window 512
  1100. tcp irtt 2000
  1101. eol unix
  1102. start telnet
  1103. start smtp
  1104. start telunix 23
  1105. start echo
  1106. start finger
  1107. start ftp
  1108. --------------------------------------------------------------------------
  1109. I'm currently using about the 2nd release that Randy put out, but it works
  1110. fine anyway.
  1111.  
  1112. ===========================================================================
  1113. ****************************************************************************
  1114. A7.        
  1115.  
  1116.             Making, Installing & Configuring 
  1117.                 Cnews. 
  1118.                 ======
  1119.             The Performance release of Cnews. 
  1120.           (There are NO later releases than this one.)
  1121.        The sources, in the README, are dated 2nd May, 1992.    
  1122.     The sources are on raven.alaska.edu, and nanguo.chalmers.com.au.
  1123.  
  1124.      THIS HAS ONLY BEEN TESTED WITH COHERENT RELEASE 4.2.10 AND GREATER.
  1125.     It has been done with Coherent stock issue tools. No GNU tools.
  1126.     As far as I can tell, none of the modifications are system
  1127.     specific anyway, and should work equally well on any platform.
  1128.  
  1129. I would STRONGLY advise you to print this out on fan-fold paper, and buy
  1130. a 'high-lighter' pen...
  1131.  
  1132. The first thing to do is make sure your cnews.tar.gz archive has all of
  1133. the right ownership/group permissions. Unless you want a LOT of grief,
  1134. follow my advice to the letter.! Create a spare directory, such as 
  1135. like /pub/src. Move the archive to this directory. Make a directory
  1136. yourself called cnews. Give it owner/group permissions of bin/bin.
  1137. Use 'chmog 755 bin bin cnews'. You should now have a set up like this;
  1138.  
  1139. /pub/src
  1140.     drwxr-xr-x 28 bin        bin            592 Sat Aug 13 12:01 cnews
  1141.     -rw-r--r--  1 root       root        559144 Sun Jul 31 17:48 cnews.tar.gz
  1142.  
  1143. Now, just to be sure that you are dealing with a package that starts out 
  1144. with the right permissions, log in a 'bin', change to /pub/src, and type
  1145. in 'tar -xvzf cnews.tar.gz'.  The archive will unpack into the cnews directory
  1146. with all of the files having the correct ownership/group of 'bin/bin'.
  1147. Next: Move the existing archive to a safe place, and while still logged in
  1148. as 'bin', and still in /pub/src directory, type in 'tar -cvzf cnews.tgz cnews/*'
  1149. to create a new archive, with all files with correct 'bin' ownership.
  1150.  
  1151.    I have discovered over time, that one of the biggest headaches is 
  1152. forgetting that some files unpack with strange permissions attached to them.!
  1153.  
  1154. Ok, thats done... Now change to the /usr/pub/cnews directory. It should look
  1155. like this with a 'lc'  command,
  1156.  
  1157. Directories:
  1158.     batch      conf       contrib    dbz        doc        expire
  1159.     explode    h          hfake      include    inject     input
  1160.     libbig     libbsd42   libc       libcnews   libfake    libsmall
  1161.     libstdio   libusg     libv7      libv8      man        misc
  1162.     relay      rna
  1163.  
  1164. Files:
  1165.     COPYRIGHT  PATCHDATES README.Coh README.new README.old ROADMAP
  1166.     clean.sh   libcnews.a medit
  1167.  
  1168. Good advice, part 1.  Forget all the readme's and things. They are of NO
  1169. interest until late Sunday when you have nothing better to do.
  1170.  
  1171. LOG OUT........
  1172.  
  1173. Log back in as 'root', and change to the /pub/src/cnews/conf' directory.
  1174. ^^^^^^^^^^^^^^^^^^^^^^
  1175. Changed to the directory conf? This is where it all happens. DISREGARD old
  1176. instructions about building things one at a time. That's Nightmare City.
  1177.  
  1178. In the cnews/conf directory you should have these files. You may have some
  1179. stray ones if you obtained your sources from elsewhere. The important one
  1180. is 'build'.
  1181.  
  1182. Directories:
  1183.     save
  1184. Files:
  1185.     Makefile       README         again.root     ask            build
  1186.     build.def      config.make    config.proto   cron.sh        doit.bin
  1187.     doit.news      doit.root      dostatfs.c     doultrix.c     doustat.c
  1188.     dowhatever.c   man.inst       newslock.sh    notinlist      postdefltgroup
  1189.     proto.sh       queuelen.hdb   queuelen.old   queuelen.sub   rnews.stall
  1190.     setnewsids.c   sf.proto       sf.statfs      subst          subst.1
  1191.     subst.gc       subst.hs       subst.test     substitutions  substs
  1192.     sys.proto      test3.sh       yesno
  1193.  
  1194. Now, type ./build and follow the instructions. One of the FIRST things you
  1195. are asked, is about ownerships. To the FIRST question about using previous
  1196. answers as defaults, answer 'no'. You never know where its been!
  1197. Ok, follow my lead from here, but check things as you go with the manual.
  1198. User id for news files [news]
  1199. Group id for news files [news]
  1200. User id for news programs [bin]
  1201. Group id for news programs [bin]
  1202. Do c news sources belong to bin [yes]
  1203. Where should articles live [/usr/spool/news]
  1204. Where should control files live [/usr/lib/news]
  1205. Where should programs live [/usr/lib/newsbin]    <------ thats RIGHT!,newsbin.
  1206. Is bin:/usr/bin the correct path.. [yes]
  1207. What umash should cnews use [022]
  1208. Where should cnews mail trouble reports [usenet]  <------ create it yourself.
  1209. Where should the shell configuration file be [/usr/lib/news/bin/config]
  1210. What is the full pathname of the chown command [/bin/chown]
  1211. Can I say chown news.news file to change owner/group [no]
  1212. what is the full pathname of chgrp [/bin/chgrp]
  1213.  
  1214.  
  1215. ..... at this point it will say,
  1216.  
  1217.       building doit.root
  1218.       done.
  1219.  
  1220.  
  1221. What best describes your system [usg]
  1222. What best describes your system [big]   <-------  same question, different text
  1223. Does your system have fsync [no]
  1224. Does your system have getopt [yes]
  1225. Does your system have memcpy [yes]
  1226. Does your system have mamcmp [yes]
  1227. Does your system have memchr [yes]
  1228. Does your system have memset [yes]
  1229. does your system have mkdir [yes]
  1230. Does your system have putenv [yes]
  1231. Does your system have strchr [yes]
  1232. Does your system have strrchr [yes]
  1233. Does your system have strpbrk [yes]
  1234. Does your system have strspn [yes]
  1235. Does your system have strcspn [yes]
  1236. Does your system have strtok [yes]
  1237. Does your system have symlink [no]
  1238. Does your system have strerror [yes]
  1239.  
  1240. Do you want to use our dbz library [yes]
  1241. Do you want to use our fast stdio library [no]
  1242. Is your compiler that good [no]
  1243. Can this system do setuid/gid... [no]
  1244. Does your system have an ANSI-C conforming string.h [yes]
  1245. Does your system have an ANSI-C conforming stdlib.h [yes]
  1246. Does your system havve an ANSI-C conforming stddef.h [yes]
  1247. Does your system have sys/timeb.h [yes]
  1248. Does your system use ranlib [no]
  1249. Does your ar have a symdef feature [yes]
  1250. What is the name of the c compiler to be used [/bin/cc]
  1251. What options should be given to the compiler [-O -VNDP]
  1252. What options should be given for linking []
  1253. What libraries in addition should be picked up [-lm]
  1254. Does your system have a hostname command [no]
  1255. Does it have a 'uname -n' command [yes]
  1256. Which uucp is supportd [hdb]            I know, taylor, but its hdb!
  1257. Which one is most appropriate [ustat]
  1258. Will 'df' accept any directory name as an arguement [yes]
  1259. Are you planning to use expire to archive news on disk [no]
  1260. Are you short of disk space [yes]
  1261. hould news receptions stall if space gets short [yes]
  1262. Do you want immediate processing [no]
  1263. Are you running c-news on NFS, and want single server [no]
  1264. What is the name of the system [xxxxx]  <------ put your machine name here.
  1265. What is the full domain address [host.domain]  <---- use the full thing
  1266. What is the Organisation [xxxxxx]  <---- whatever you are 
  1267. What is the top level manual page directory [/usr/man]
  1268. Has your system made man page location changes [no]    <------ who knows ???
  1269. what directory should 'rnews' and 'cunbatch' go in [/usr/bin]
  1270. Do you want to install our user interface [yes]
  1271. What directory should they go in [/usr/bin]
  1272. Will mail handle '@' addresses [yes]          <--- you really should get smail3
  1273. What is the default newsgroup [comp.os.coherent]
  1274. What is the default distribution [world]
  1275. Whatis the default readnews subscription [comp.os.coherent]
  1276. What group should users be subscribed to [comp.os.coherent]
  1277. Do you have any newsgroups containing confidential property [no]
  1278.  
  1279.  
  1280. The system will then build "doit.bin", "doit.news", "again.root" and then
  1281. finish with a small set of instructions.
  1282.  
  1283. ====== DO NOT UNDER ANY CIRCUMSTANCES RUN THOSE SCRIPTS YET ======
  1284.  
  1285. You MUST follow these next instructions to the LETTER. 
  1286.  
  1287.   NOW.... ta da...  some patches to the code. Yup, you guessed it.
  1288. Firstly, and most importantly, the Makefiles need fixing.  
  1289.  
  1290.   In some cases, this doesn't make a difference, but regardless, I discovered
  1291. to my dismay that I couldn't second guess it. so. Its good coding practice
  1292. anyway.
  1293.  
  1294.  
  1295. Each and every one of them.
  1296.  
  1297.     ./doc/Makefile
  1298.     ./conf/Makefile
  1299.     ./batch/Makefile
  1300.     ./contrib/nntpmail/mailing_lists/appendfile/Makefile
  1301.     ./expire/Makefile
  1302.     ./h/Makefile
  1303.     ./hfake/Makefile
  1304.     ./input/Makefile
  1305.     ./libbig/Makefile
  1306.     ./libbsd42/Makefile
  1307.     ./libc/Makefile
  1308.     ./libcnews/Makefile
  1309.     ./libfake/Makefile
  1310.     ./libsmall/Makefile
  1311.     ./libstdio/Makefile
  1312.     ./libusg/Makefile
  1313.     ./libv7/Makefile
  1314.     ./libv8/Makefile
  1315.     ./dbz/Makefile
  1316.     ./man/Makefile
  1317.     ./misc/Makefile
  1318.  
  1319. You MUST work through this list, and make sure that the leading <SPACES> are
  1320. all changed to <TABS>.  Thats right. Don't complain. Just do it :-).
  1321. Thats in a case like the following;
  1322. This example is the cnews/batch Makefile, cut down for example only;
  1323.  
  1324.  
  1325. PGMS=batcher batchih batchsm batchsplit comp compcun nocomp viainews viauux \
  1326.     sendbatches compc7 c7encode viamail viapmail bencode compb viauuxz \
  1327.     viaemail viarsh viauuxl viauuxcun batchcheck batchra vianowhere \
  1328.     comp12
  1329. ^^^^^^^^
  1330. This is made up of spaces, it MUST be <TABS>
  1331.  
  1332. BP = batchparms.eg
  1333. ALL = $(PGMS) $(BP)
  1334.  
  1335. all:    $(ALL)
  1336.     chmod +x $(PGMS)
  1337. ^^^^^^^^^
  1338. and here and all the rest..........  enjoy.
  1339.  
  1340. batcher:    batcher.o $(LIBS)
  1341.     $(CC) $(CFLAGS) $(LDFLAGS) batcher.o $(PRE) $(LIBS) $(POST) -o $@
  1342. ^^^^^^^^
  1343. and here to...  keep going, there is thousands.
  1344.  
  1345.  
  1346.   You can do it a little quicker with a search/replace,
  1347.   in vi,
  1348.    eg;
  1349.       1,$s/        /    /
  1350.           ^^^^^^^^^  ^
  1351.            8 spaces  1 tab
  1352.  
  1353. ============================== ok, Makefiles are fixed. Not ready yet..
  1354.  Now, another Important - it won't work yet - fix.
  1355. Copy cnews/conf/subst to subst.orig.
  1356. Modify the subst file to look like the lines in the following diff output.
  1357. The 'new' file looks like the first line in each case.
  1358.  
  1359. diff subst subst.orig
  1360.  
  1361. 19 c 19
  1362. < them="`sed -e '/^#/d' -e 's/^\([^    ]*\)        *\([^    ]*\)$/s#@<\1>@#\2#g/' $substs`"
  1363. ---
  1364. > them="`sed '/^#/d; s/^\\([^    ]*\\)        *\\([^    ]*\\)$/s#@<\\1>@#\\2#g/' $substs`"
  1365. 27,28 c 27,28
  1366. <         file="`expr "$f" : '.*/\([^/]*\)'`"
  1367. <         dir="`expr "$f" : '\(.*\)/[^/]*'`"
  1368. ---
  1369. >         file="`expr \"$f\" : '.*/\\([^/]*\\)'`"
  1370. >         dir="`expr \"$f\" : '\\(.*\\)/[^/]*'`"
  1371. 63 c 63
  1372. < #just a reminder
  1373. ---
  1374. 67,72 c 67,72
  1375. <     h
  1376. <     n
  1377. <     g
  1378. <     s/.*=()<//
  1379. <     s/>()=.*//
  1380. <     $them
  1381. ---
  1382. >         h
  1383. >         n
  1384. >         g
  1385. >         s/.*=()<//
  1386. >         s/>()=.*//
  1387. >         $them
  1388.  
  1389.  
  1390. Now there is a few files to fix. 
  1391. The first is include/libc.h
  1392.     Comment out the umask(), bit like this, the first line is the original,
  1393. and the second line is the new one.
  1394. On both lines 24 and 33.
  1395.  
  1396. libc.h
  1397. 24 c 24
  1398. < extern int link(char *, char *), mkdir(char *, int), umask(int), unlink(char *);
  1399. ---
  1400. > extern int link(char *, char *), mkdir(char *, int), /*umask(int),*/ unlink(char *);
  1401. 33 c 33
  1402. < extern int access(), chown(), fork(), link(), mkdir(), umask(), unlink(), wait();
  1403. ---
  1404. > extern int access(), chown(), fork(), link(), mkdir(),/* umask(),*/ unlink(), wait();
  1405.  
  1406.  
  1407. The Next file........
  1408. In the cnews/libc/Makefile, it defines YACC=/......bison
  1409. Remove that, and change to 
  1410. YACC=yacc
  1411. Ignore the errors that it will then generate??? It seems to work anyway. who
  1412. knows.
  1413.  
  1414.  
  1415. Next one ===============
  1416. In cnews/libc/closeall.c
  1417.  
  1418.  ===================================
  1419.  #include <sys/param.h>
  1420.  
  1421.  #define NOFILE 100        <--------------
  1422.   ^^^^^^^^^^^^^^^^^^
  1423.  
  1424.  void
  1425.  closeall(leavestd)
  1426.  int leavestd;
  1427.  {
  1428.      register int i;
  1429.  
  1430.      for (i = (leavestd? 3: 0); i < NOFILE; i++)
  1431.          close(i);
  1432.  }
  1433.  ===================================
  1434.  
  1435. One thing. If you opt to compile cnews utilities, you get an error in the
  1436. complie for the rnews part. Its not important, and easily fixed. You'll
  1437. know it when you see it. :-)
  1438.  
  1439. Last thing I think.  Change to cnews/conf directory, and change the
  1440. COPTS line in Makefile from '-O' to '-O -VNOWARN'. It will make the resulting
  1441. output even easier to read.
  1442.  
  1443. Ok, that looks like it folks......  There may be other traps for innocent
  1444. players, so you will just have to suck it and see.
  1445.  
  1446.  
  1447. Ok, now the fun part.
  1448.  
  1449. Assuming you are currently logged in as 'root', do the following.
  1450. The prompts are shown... as #, to signify that you are root: user, not to
  1451. show that you are single user.
  1452.  
  1453.      #./doit.root
  1454.     #
  1455.     #su bin
  1456.     $./doit.bin -i        ( -i builds without installing! )
  1457.                 ( or you may just do a 'doit.bin)
  1458.     $exit
  1459.     #su news        ( Naturally, you must have a user 'news')
  1460.     $./doit.news
  1461.     $exit
  1462.     #./again.root
  1463.  
  1464.      
  1465. If you are happy with the outcome... ta da... now you have lots of configuring
  1466. to do.
  1467.  
  1468. HOWEVER... you will most likely strike problems with some of the code. I
  1469. have fixed my sources here, so if it gives error messages in particular files,
  1470. let me know and I'll see if I can help.
  1471. Some are a result of the differences in shell script commands, some in sed
  1472. and so on. Nothing major though, so don't spit the dummy.
  1473.  
  1474. SUGGESTION: ____________   Take your time. Watch carefully what you are
  1475.             logged in as, and study the manual. Cnews is 
  1476.             designed to be compiled on about 57000 different
  1477.             types of Unix... yours amongst them.  enjoy.
  1478.  
  1479.  
  1480.     +++++++++++++++++  CONFIGURATION SECTION +++++++++++++++++++++
  1481.  
  1482. Allow yourself plenty of time for this. It's not hard, but requires care
  1483. and attention, and a couple of hours. The result is worth it.
  1484.  
  1485. **********************  IMPORTANT NOTE  *************************
  1486. You MUST be aware that running 'build' will sometimes not create things
  1487. just as you would like them. Be prepared to edit some things by hand.
  1488.  
  1489. It is important here to stress this. +++++++
  1490. You must have a user called 'root', a user called 'bin', a user called 'news'.
  1491. You must be able to login as these users.
  1492.  
  1493. If you need to do installation work by hand, 
  1494. run 'doit.bin -i' as bin; 
  1495. this will create the programs but won't install them.
  1496. It is not necessary to log in as these users; 
  1497. use of 'su' suffices, but the users MUST exist.  
  1498.  
  1499. Note that the cnews install script actually gets it a wrong with perms
  1500. in a couple of places. STUDY these permissions CAREFULLY, on each and every
  1501. file.  If you think this takes ages, take it from me, it wont take as long
  1502. as trying to find out why the thing doesn't run later. Do it NOW.
  1503.  
  1504. Ok, configuring things to work, lets start with the users.
  1505. ========================================================================
  1506. Password and group files:
  1507. /etc/passwd
  1508. news:*:30:30:C-NEWS System:/usr/lib/news:/bin/sh
  1509. usenet:*:30:30:C-NEWS Administrator:/users/usenet:/bin/sh
  1510.  
  1511. Note the similar UID/GID.
  1512.  
  1513. /etc/groups
  1514. news:*:30:news,usenet
  1515. =========================================================================
  1516.  
  1517. /usr/lib/news/news.cron.    Run this when you are SURE everything is
  1518. OK!. Please note though. It takes a day or so for things to start actually
  1519. happening. Study the following script carefully, and you will see why.
  1520. If you are tempted to run things by hand, make sure you do so a 'news'
  1521. Watch out for lock, and 'stop' files, especially in user/spool/news/in.coming
  1522. and so on.
  1523.  
  1524. # Cron Version 3.2. Installed on Mon May 23 19:30:04 1994
  1525. # Source was news.cron.
  1526. 0,15,30,45 *    1-31 *    0-6    /usr/lib/newsbin/input/newsrun
  1527. 30 8    1-31 *    1-5    /usr/lib/newsbin/input/newsrunning off
  1528. 00 17    1-31 *    1-5    /usr/lib/newsbin/input/newsrunning on
  1529. 40 *    1-31 *    0-6    /usr/lib/newsbin/batch/sendbatches
  1530. 59 0    1-31 *    0-6    /usr/lib/newsbin/expire/doexpire 
  1531. 10 8    1-31 *    0-6    /usr/lib/newsbin/maint/newsdaily
  1532. 00 5,13,21    1-31 *    0-6    /usr/lib/newsbin/maint/newswatch | mail usenet
  1533. ========================================================================
  1534.  
  1535. Now, after installing with the doit.xxxx files, make sure it all has perms
  1536. and owner/groups like this.
  1537.  
  1538. /usr/lib/newsbin
  1539. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 .
  1540. drwxr-xr-x 12 bin        bin            832 Fri May  6 06:28 ..
  1541. -rwxr-xr-x  1 bin        bin          42626 Sat Apr 23 10:21 canonhdr
  1542. -rwxr-xr-x  1 bin        bin          15620 Sat Apr 23 10:21 ctime
  1543. -rwxr-xr-x  1 bin        bin          34164 Sat Apr 23 10:20 dbz
  1544. -rwxr-xr-x  1 bin        bin          16330 Sat Apr 23 10:20 doustat
  1545. -rwxr-xr-x  1 bin        bin          27355 Sat Apr 23 10:21 getabsdate
  1546. -rwxr-xr-x  1 bin        bin          23589 Sat Apr 23 10:21 getdate
  1547. -rwxr-xr-x  1 bin        bin          25335 Sat Apr 23 10:21 gngp
  1548. -rwxrwxr-x  1 bin        bin              9 Sat Apr 23 10:20 hostname
  1549. -rwxr-xr-x  1 bin        bin            482 Sat Apr 23 10:21 newshostname
  1550. -rwxr-xr-x  1 bin        bin           9068 Sat Apr 23 10:21 newslock
  1551. -rwxr-xr-x  1 bin        bin            346 Sat Apr 23 10:20 queuelen
  1552. -rwxr-xr-x  1 bin        bin          11342 Sat Apr 23 10:21 sizeof
  1553. -rwxr-xr-x  1 bin        bin           1259 Sat Apr 23 10:20 spacefor
  1554.  
  1555. ./batch:
  1556. drwxrwxr-x  2 bin        bin            432 Sat Apr 23 10:20 .
  1557. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1558. -rwxr-xr-x  1 bin        bin            766 Sat Apr 23 10:20 batchcheck
  1559. -rwxr-xr-x  1 bin        bin          22513 Sat Apr 23 10:20 batcher
  1560. -rwxr-xr-x  1 bin        bin            425 Sat Apr 23 10:20 batchih
  1561. -rwxr-xr-x  1 bin        bin            810 Sat Apr 23 10:20 batchra
  1562. -rwxr-xr-x  1 bin        bin            574 Sat Apr 23 10:20 batchsm
  1563. -rwxr-xr-x  1 bin        bin           4795 Sat Apr 23 10:20 batchsplit
  1564. -rwxr-xr-x  1 bin        bin          12786 Sat Apr 23 10:20 bencode
  1565. -rwxr-xr-x  1 bin        bin           6982 Sat Apr 23 10:20 c7encode
  1566. -rwxr-xr-x  1 bin        bin            160 Sat Apr 23 10:20 comp
  1567. -rwxr-xr-x  1 bin        bin            166 Sat Apr 23 10:20 comp12
  1568. -rwxr-xr-x  1 bin        bin            279 Sat Apr 23 10:20 compb
  1569. -rwxr-xr-x  1 bin        bin            321 Sat Apr 23 10:20 compc7
  1570. -rwxr-xr-x  1 bin        bin            178 Sat Apr 23 10:20 compcun
  1571. -rwxr-xr-x  1 bin        bin             64 Sat Apr 23 10:20 nocomp
  1572. -rwxr-xr-x  1 bin        bin           6672 Sat Apr 23 10:20 sendbatches
  1573. -rwxr-xr-x  1 bin        bin            113 Sat Apr 23 10:20 viaemail
  1574. -rwxr-xr-x  1 bin        bin            243 Sat Apr 23 10:20 viainews
  1575. -rwxr-xr-x  1 bin        bin            113 Sat Apr 23 10:20 viamail
  1576. -rwxr-xr-x  1 bin        bin             52 Sat Apr 23 10:20 vianowhere
  1577. -rwxr-xr-x  1 bin        bin            103 Sat Apr 23 10:20 viapmail
  1578. -rwxr-xr-x  1 bin        bin            134 Sat Apr 23 10:20 viarsh
  1579. -rwxr-xr-x  1 bin        bin            315 Sat Apr 23 10:20 viauux
  1580. -rwxr-xr-x  1 bin        bin            318 Sat Apr 23 10:20 viauuxcun
  1581. -rwxr-xr-x  1 bin        bin            526 Sat Apr 23 10:20 viauuxl
  1582. -rwxr-xr-x  1 bin        bin            318 Sat Apr 23 10:20 viauuxz
  1583.  
  1584. ./expire:
  1585. drwxrwxr-x  2 bin        bin            192 Sat Apr 23 10:21 .
  1586. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1587. -rwxr-xr-x  1 bin        bin           1786 Sat Apr 23 10:21 doexpire
  1588. -rwxr-xr-x  1 bin        bin          64086 Sat Apr 23 10:21 expire
  1589. -rwxr-xr-x  1 bin        bin            555 Sat Apr 23 10:21 expireiflow
  1590. -rwxr-xr-x  1 bin        bin            390 Sat Apr 23 10:21 histdups
  1591. -rwxr-xr-x  1 bin        bin          23775 Sat Apr 23 10:21 histinfo
  1592. -rwxr-xr-x  1 bin        bin          20380 Sat Apr 23 10:21 histslash
  1593. -rwxr-xr-x  1 bin        bin            477 Sat Apr 23 10:21 mkadir
  1594. -rwxr-xr-x  1 bin        bin           1907 Sat Apr 23 10:21 mkhistory
  1595. -rwxr-xr-x  1 bin        bin           1292 Sat Apr 23 10:21 recovact
  1596. -rwxr-xr-x  1 bin        bin           1522 Sat Apr 23 10:21 upact
  1597.  
  1598. ./input:
  1599. drwxrwxr-x  2 bin        bin            176 Sat Apr 23 10:21 .
  1600. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1601. -rwxr-xr-x  1 bin        bin          19902 Sat Apr 23 10:21 bdecode
  1602. -rwxr-xr-x  1 bin        bin          10046 Sat Apr 23 10:21 c7decode
  1603. -rwxr-xr-x  1 bin        bin           1499 Sat Apr 23 10:21 cunbatch
  1604. -rwxr-xr-x  1 bin        bin           3687 Tue May 17 19:36 newsrun
  1605. -rwxr-xr-x  1 bin        bin            510 Sat Apr 23 10:21 newsrunning
  1606. -rwsr-sr-x  1 news       news         24576 Sat Apr 23 10:21 newsspool
  1607. -rwxr-xr-x  1 bin        bin            239 Sat Apr 23 10:21 recenews
  1608. -rwxr-xr-x  1 bin        bin            279 Sat Apr 23 10:21 recpnews
  1609. -rwxr-xr-x  1 bin        bin           1499 Sat Apr 23 10:21 rnews
  1610.  
  1611. ./relay:
  1612. drwxrwxr-x  2 bin        bin            288 Tue Aug  2 18:31 .
  1613. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1614. -rwxr-xr-x  1 bin        bin            646 Sat Apr 23 10:21 canonsys.awk
  1615. -rwxr-xr-x  1 bin        bin           1027 Sat Apr 23 10:21 chamod
  1616. -rwxr-xr-x  1 bin        bin            864 Sat Apr 23 10:21 delsendsys
  1617. -rwxr-xr-x  1 bin        bin            790 Sat Apr 23 10:21 delversion
  1618. -rwxr-xr-x  1 bin        bin           1295 Sat Apr 23 10:21 dodelayed
  1619. -rwxr-xr-x  1 bin        bin            558 Sat Apr 23 10:21 doexplode
  1620. -rwxr-xr-x  1 bin        bin          29635 Sat Apr 23 10:21 explode
  1621. -rwxr-xr-x  1 bin        bin            304 Sat Apr 23 10:21 mailnews
  1622. -rwxr-xr-x  1 bin        bin            533 Sat Apr 23 10:21 mkpdir
  1623. -rwxr-xr-x  1 bin        bin           1281 Sat Apr 23 10:21 newsreply
  1624. -rwsr-sr-x  1 news       news         81407 Sat Apr 23 10:21 relaynews
  1625. -rwxr-xr-x  1 bin        bin            274 Sat Apr 23 10:21 relayrun
  1626. -rwxr-xr-x  1 bin        bin            221 Sat Apr 23 10:21 sendnews
  1627. -rwxr-xr-x  1 bin        bin            306 Sat Apr 23 10:21 staleness
  1628.  
  1629. ./ctl:
  1630. drwxrwxr-x  2 bin        bin            128 Tue Aug  2 18:31 .
  1631. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1632. -rwxr-xr-x  1 bin        bin           2958 Sat Apr 23 10:21 checkgroups
  1633. -rwxr-xr-x  1 bin        bin           3518 Sat Apr 23 10:21 newgroup
  1634. -rwxr-xr-x  1 bin        bin            879 Sat Apr 23 10:21 rmgroup
  1635. -rwxr-xr-x  1 bin        bin            852 Sat Apr 23 10:21 sendsys
  1636. -rwxr-xr-x  1 bin        bin            864 Sat Apr 23 10:21 version
  1637.  
  1638. ./maint:
  1639. drwxrwxr-x  2 bin        bin            240 Sat Apr 23 10:21 .
  1640. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1641. -rwxr-xr-x  1 bin        bin            335 Sat Apr 23 10:21 act.to.times
  1642. -rwxr-xr-x  1 bin        bin            453 Sat Apr 23 10:21 adddirs
  1643. -rwxr-xr-x  1 bin        bin           1435 Sat Apr 23 10:21 addfeed
  1644. -rwxr-xr-x  1 bin        bin           1152 Sun May 29 08:32 addgroup
  1645. -rwxr-xr-x  1 bin        bin           2310 Sat Apr 23 10:21 addmissing
  1646. -rwxr-xr-x  1 bin        bin           1059 Sun May 29 08:38 delgroup
  1647. -rwxr-xr-x  1 bin        bin            579 Sat Apr 23 10:21 histfrom
  1648. -rwxr-xr-x  1 bin        bin          20441 Sat Apr 23 10:21 locknews
  1649. -rwxr-xr-x  1 bin        bin            617 Sat Apr 23 10:21 newsboot
  1650. -rwxr-xr-x  1 bin        bin           4242 Sat Apr 23 10:21 newsdaily
  1651. -rwxr-xr-x  1 bin        bin            312 Sat Apr 23 10:21 newsfrom
  1652. -rwxr-xr-x  1 bin        bin            737 Sat Apr 23 10:21 newshist
  1653. -rwxr-xr-x  1 bin        bin           1185 Sun Apr 24 09:21 newswatch
  1654.  
  1655. ./inject:
  1656. drwxrwxr-x  2 bin        bin            224 Sat Apr 23 10:21 .
  1657. drwxr-xr-x  9 bin        bin            352 Sat Apr 23 10:21 ..
  1658. -rwxr-xr-x  1 bin        bin          25932 Sat Apr 23 10:21 actflag
  1659. -rwxr-xr-x  1 bin        bin          31050 Sat Apr 23 10:21 defaults
  1660. -rwxr-xr-x  1 bin        bin           4955 Sat Apr 23 10:21 defhdrs.awk
  1661. -rwxr-xr-x  3 bin        bin           3315 Sat Apr 23 10:21 inews
  1662. -rwxr-xr-x  2 bin        bin           4439 Sat Apr 23 10:21 injnews
  1663. -rwxr-xr-x  1 bin        bin            314 Sat Apr 23 19:35 lines
  1664. -rwxr-xr-x  1 bin        bin            491 Sat Apr 23 10:21 modroute
  1665. -rwxr-xr-x  1 bin        bin           4124 Sat Apr 23 19:35 pnews
  1666. -rwxr-xr-x  1 bin        bin           1785 Sat Apr 23 10:21 postnews
  1667. -rwxr-xr-x  1 bin        bin            406 Sat Apr 23 10:21 stripinvis
  1668. -rwxr-xr-x  1 bin        bin           1427 Sat Apr 23 10:21 submit.relay
  1669. -rwxr-xr-x  1 bin        bin            722 Sat Apr 23 10:21 tear
  1670. ============================================================================
  1671.  
  1672. Again, after installing with the doit.xxxx files, make sure it all has perms
  1673. and owner/groups like this.
  1674.  
  1675. /usr/lib/news
  1676. drwxrwxr-x  5 news       news           848 Sat Aug 13 11:40 .
  1677. drwxr-xr-x 12 bin        bin            832 Fri May  6 06:28 ..
  1678. -r--------  1 news       news             0 Sat Aug 13 08:56 .lastlogin
  1679. -rw-rw-r--  1 news       news          5008 Sat Aug 13 06:15 active
  1680. -rw-rw-r--  1 news       news           501 Wed Aug  3 09:08 active.times
  1681. -rw-rw-r--  1 news       news           372 Sat Aug 13 11:40 batchlog
  1682. -rw-rw-r--  1 news       news          2278 Sat Aug 13 07:40 batchlog.o
  1683. -rw-rw-r--  1 news       news          2268 Fri Aug 12 07:40 batchlog.oo
  1684. -rw-rw-r--  1 news       news          2280 Thu Aug 11 07:40 batchlog.ooo
  1685. -rw-r--r--  1 news       news           813 Sun May  1 13:42 batchparms
  1686. -rw-r--r--  1 news       news           567 Sat Apr 23 10:23 batchparms.eg
  1687. -rw-rw-r--  1 news       news             0 Sat Aug 13 08:18 delayed
  1688. -rw-rw-r--  1 news       news             0 Sat Aug 13 08:10 errlog
  1689. -rw-rw-r--  1 news       news             0 Fri Aug 12 08:10 errlog.o
  1690. -rw-rw-r--  1 news       news             0 Thu Aug 11 08:10 errlog.oo
  1691. -rw-rw-r--  1 news       news             0 Wed Aug 10 08:10 errlog.ooo
  1692. -rw-r--r--  1 news       news           571 Thu Aug  4 12:29 explist
  1693. -rw-rw-r--  1 news       news         59503 Sat Aug 13 06:15 history
  1694. -rw-rw-r--  1 news       news            83 Sat Aug 13 06:15 history.dir
  1695. -rw-rw-r--  1 news       news         58012 Fri Aug 12 06:15 history.o
  1696. -rw-rw-r--  1 news       news          6212 Sat Aug 13 06:15 history.pag
  1697. -rwxr-xr-x  3 bin        bin           3315 Sat Apr 23 10:21 inews
  1698. -rw-r--r--  1 news       news          3389 Wed May 18 22:20 keep.active
  1699. -rw-r--r--  1 news       news           223 Sat Apr 23 13:52 keepsys
  1700. -rw-rw-r--  1 news       news            27 Sat Apr 23 10:24 localgroups
  1701. -rw-rw-r--  1 news       news             0 Sat Aug 13 08:10 log
  1702. -rw-rw-r--  1 news       news          6607 Sat Aug 13 06:15 log.o
  1703. -rw-rw-r--  1 news       news            20 Sat Apr 23 10:24 mailname
  1704. -rw-rw-r--  1 news       news            13 Sat Apr 23 10:24 mailpaths
  1705. -rw-r--r--  1 news       news           384 Sat Apr 23 15:11 news.cron
  1706. -rw-r--r--  1 news       news          4600 Mon Jun 13 14:51 newsgroups
  1707. -rw-rw-r--  1 news       news            14 Sat Apr 23 10:24 organization
  1708. -rw-rw-r--  1 news       news            17 Sat Apr 23 10:24 postdefltgroup
  1709. -rw-rw-r--  1 news       news            59 Sat Apr 23 10:24 readnews.ctl
  1710. -rw-r--r--  1 news       news           565 Sat Apr 23 10:24 readnews.help
  1711. -rw-rw-r--  1 news       news             4 Sat Apr 23 10:24 rnews.stall
  1712. -rwsrwxr-x  1 root       root         20839 Sat Apr 23 10:24 setnewsids
  1713. -rw-r--r--  1 news       news          2742 Thu Jul 28 07:48 sys
  1714. -rw-r--r--  1 news       news          3815 Wed May 18 21:42 temp
  1715. -rw-r--r--  1 news       news          3469 Wed May 18 22:20 temp.1
  1716. -rw-r--r--  1 news       news          4307 Wed May 18 22:30 temp2
  1717. -rw-rw-r--  1 news       news             0 Sat Aug 13 05:00 watchtime
  1718. -rw-rw-r--  1 news       news             7 Sat Apr 23 10:24 whoami
  1719.  
  1720. ./bin:
  1721. drwxrwxr-x  2 news       news            48 Sat Apr 23 10:24 .
  1722. drwxrwxr-x  5 news       news           848 Sat Aug 13 11:40 ..
  1723. -rwxr-xr-x  1 news       news          1062 Sat Apr 23 10:24 config
  1724.  
  1725. ./.elm:
  1726. drwx------  2 news       news            32 Sat Apr 23 15:09 .
  1727. drwxrwxr-x  5 news       news           848 Sat Aug 13 11:40 ..
  1728.  
  1729. ./Mail:
  1730. drwx------  2 news       news            32 Sat Apr 23 15:09 .
  1731. drwxrwxr-x  5 news       news           848 Sat Aug 13 11:40 ..
  1732. ============================================================================
  1733.  
  1734.  
  1735.  
  1736. You will note<---- the directories, in.coming, out.going, out.master.
  1737. You must have these directories.
  1738. In out.going you have subdirectories, named after the sites you feed.
  1739. In in.coming there is a directory called bad. It can fill up with
  1740. splattered files. at first.
  1741. In out.master there are only transient files stored.
  1742. You must have control and junk as well.
  1743.  
  1744. /usr/spool/news
  1745. drwxr-xr-x 18 news       news           320 Fri Jul 15 12:47 .
  1746. drwxr-xr-x 20 bin        bin            320 Sat Aug  6 12:50 ..
  1747. drwxrwxrwx  2 news       news           128 Sat Feb 19 21:33 .index
  1748. drwxr-xr-x  6 news       news            96 Sun May  8 10:12 alt
  1749. drwxr-xr-x 36 news       news           592 Mon Jun 27 08:47 aus
  1750. drwxrwxr-x  3 news       news            48 Fri Jul 15 12:47 biz
  1751. drwxr-xr-x 11 news       news           176 Fri Mar 11 13:33 comp
  1752. drwxr-xr-x  2 news       news          1424 Sat Aug 13 06:15 control
  1753. -rw-rw-r--  1 news       news         41131 Sat Jun 25 06:17 fake
  1754. drwxrwxr-x  2 news       news            32 Sat Apr 23 14:16 general
  1755. drwxr-x---  3 news       news          2544 Sat Aug 13 06:15 in.coming
  1756. drwxr-xr-x  2 news       news         16208 Sat Jul 23 00:59 junk
  1757. drwxr-xr-x  7 news       news           112 Sun Mar 20 11:02 k12
  1758. -rwxr-xr-x  1 news       news            69 Sun Apr 10 20:17 ndf
  1759. drwxrwxr-x  3 news       news            48 Sat Apr 23 14:17 news
  1760. drwxrwxr-x  9 news       news           144 Sun May  1 13:42 out.going
  1761. drwxrwxr-x  2 news       news            64 Sat Aug 13 06:15 out.master
  1762. drwxr-xr-x  4 news       news            64 Tue Mar 15 17:53 rec
  1763. drwxrwxr-x  3 news       news            48 Mon May  2 10:14 soc
  1764. drwxrwxr-x  3 news       news            48 Mon Jun 27 08:49 test
  1765. ==============================================================
  1766. Locations of inews, the bit that bolts it all together, all these files,
  1767. except the man pages are actually links to the /usr/lib/newsbin/inject/inews
  1768. file. They are all owner/group bin.
  1769. /usr/bin/inews
  1770. /usr/lib/news/inews
  1771. /usr/lib/newsbin/inject/inews
  1772. /usr/man/man1/inews
  1773. ==================================
  1774. Location of rnews, the bit that actually handles incoming articles, all these
  1775. files except the man pages are links to the /usr/lib/newsbin/input/rnews 
  1776. file. They are all owner/group bin
  1777. /usr/bin/rnews
  1778. /usr/lib/newsbin/input/rnews
  1779. /usr/man/man8/rnews
  1780. ================================================================
  1781.  
  1782. All configuration files live in /usr/lib/news. Starting with the first in the
  1783. list. This listing is produced by lc. Two directories are produced
  1784. by running elm as the news user. The bin directory belongs to news. 
  1785.  
  1786.  
  1787. Directories:
  1788.     .elm           Mail           bin
  1789.  
  1790. Files:
  1791.     .lastlogin     active         active.times   batchlog       batchlog.o
  1792.     batchlog.oo    batchlog.ooo   batchparms     batchparms.eg  delayed
  1793.     errlog         errlog.o       errlog.oo      errlog.ooo     explist
  1794.     history        history.dir    history.o      history.pag    inews
  1795.     keep.active    keepsys        localgroups    log            log.o
  1796.     mailname       mailpaths      news.cron      newsgroups     organization
  1797.     postdefltgroup readnews.ctl   readnews.help  rnews.stall    setnewsids
  1798.     sys            temp           temp.1         temp2          watchtime
  1799.     whoami
  1800.  
  1801. ===========================================================================
  1802. The following files are the only ones needing configuration, working
  1803. in the basis that some files go with others, or are affected by others.
  1804.  
  1805. Some files like active, have been chopped down in the interests of space.
  1806.  
  1807. active:  [ goes with 'newsgroups' ]
  1808. alt.dcom.telecom 0000000146 0000000001 y
  1809. alt.save.the.earth 0000000147 0000000001 y
  1810. alt.sports.football.pro.sf-49ers 0000000001 0000000001 y
  1811. alt.tv.seinfeld 0000000352 0000000349 y
  1812. aus.acs 0000000000 0000000000 y
  1813. aus.ads.commercial 0000000024 0000000000 y
  1814. aus.ads.forsale 0000000739 0000000275 y
  1815. aus.ads.forsale.computers 0000000898 0000000084 y
  1816.  
  1817. newsgroups: [ goes with 'active' ]
  1818. alt.dcom.telecom
  1819. alt.save.the.earth
  1820. alt.sports.football.pro.sf-49ers
  1821. alt.tv.seinfeld
  1822. aus.acs                Old acs area
  1823. aus.ads.commercial        Commercialism
  1824. aus.ads.forsale            Junk for sale
  1825. aus.ads.forsale.computers    Computer bits and pieces
  1826. aus.ads.wanted            Place to sell your bits
  1827. aus.archives            Announcements of available software
  1828.  
  1829. Note that newsgroups can have descriptions or not. Its up to you.
  1830.  
  1831.  
  1832.   ***** IMPORTNT ******
  1833. When you have your active file ready, and hopefully matching your newsgroups
  1834. file, you MUST change to /usr/lib/newsbin/maint, and as NEWS user, you must
  1835. run the script 'adddirs'. Do this by typing ./adddirs.
  1836.   ******* REALLY IMPORTANT ***********
  1837.   If your directory permissions are wrong, and or file permissions are wrong,
  1838.   or if you don't actually have a user called 'news', this will really really
  1839.   really stuff up your system. It will create hundreds of news directories
  1840.   in the spool area all owned by root, which of course NOTHING else can read.
  1841.   IF---- you stuff it up, go to /usr/spool and type rm -r news, and rebuild all
  1842.   the appropriate directories by hand. Then run adddirs again as news. I know,
  1843.   adddirs is owned by bin, but you MUST run it as news.
  1844.  
  1845. Now, chdir back to /usr/lib/news.
  1846. -------------------------------------------------------------------------
  1847.  
  1848. /usr/lib/news/batchlog
  1849. This file will, or should contain lines like this. It is a dynamic file
  1850. so doesn't need any attention.
  1851.  
  1852. Sat Aug 13 08:40:03 1994 AST, sendbatches 423
  1853. Sat Aug 13 08:40:06 1994 AST, sendbatches 423
  1854.  
  1855. Sat Aug 13 09:40:03 1994 AST, sendbatches 601
  1856. Sat Aug 13 09:40:06 1994 AST, sendbatches 601
  1857.  
  1858. Sat Aug 13 10:40:03 1994 AST, sendbatches 703
  1859. Sat Aug 13 10:40:06 1994 AST, sendbatches 703
  1860.  
  1861. ================================================
  1862. /usr/lib/news/batchparms
  1863. If you dont send to other sites, you can comment out all this
  1864. stuff, just leave /default/ there.
  1865.  
  1866. # 100KB, after compress, is 10 minutes at 1200 baud
  1867. # 20 batches is somewhat arbitrary, about 1MB per site
  1868. # defaults:  2.11-compatible compression, transfer by uux
  1869.  
  1870. # site        size    queue    builder    muncher    sender
  1871. # ----        ----    -----    -------    -------    ------
  1872. /default/    100000    20    batcher    nocomp    viauux
  1873.  
  1874. # big batches for fast modem (Trailblazer etc.), simple compression
  1875. # These are sites you are sending news batches to.
  1876. xanadu        300000    20    batcher    nocomp    viauux
  1877. cstpl1        300000    20    batcher    nocomp    viauux
  1878. bunyip        300000    20    batcher    nocomp    viauux
  1879. marvin        300000    20    batcher    nocomp    viauux
  1880. neilbar        300000    20    batcher    nocomp    viauux
  1881. noonie        300000    20    batcher    nocomp    viauux
  1882. copper        300000    20    batcher    nocomp    viauux
  1883.  
  1884. # sample ihave/sendme setup
  1885. #louie.wehave    40000    20    batchih    nocomp    viainews
  1886. #louie.ihave    40000    20    batchsm    nocomp    viainews
  1887. #louie.sendme    40000    20    batchra    nocomp    vianowhere
  1888. =============================================================
  1889.  
  1890. /usr/lib/news/errlog, [ goes with 'history' sort of. ]
  1891. self explanitory, and should be 0 bytes in size. Ignoe the .o .oo and .ooo
  1892. files. Thats just archiving. remove them from .ooo down if you must.
  1893.  
  1894. /usr/lib/news/history, [ goes with errlog, sort of. ]
  1895. It should look something like this,
  1896.  
  1897. <31a200$jqj@blackice.winternet.com>    775512008~-
  1898. <1994Jul26.101436.4777@vmsmail.gov.bc.ca>    775512008~-
  1899. <12680@fury.SDC.CS.BOEING.COM>    775512009~-
  1900. <1994Jul26.103425.4778@vmsmail.gov.bc.ca>    775512009~-
  1901. <Ctou1C.Hv4@crash.cts.com>    775512009~-
  1902. <CtLBv9.Btx@inter.NL.net>    775512009~-
  1903.  
  1904. ==============================================================
  1905.  
  1906. /usr/lib/news/explist
  1907. This file looks after expiring old news. Edit it to suit yourself.
  1908.  
  1909. #
  1910. # note that the order of lines in this file is significant
  1911.  
  1912. # hold onto history lines 14 days, nobody gets >3 days
  1913. /expired/            x    14    -
  1914. /bounds/            x    0-3-14    -
  1915.  
  1916. # override later defaults for some groups of note
  1917. soc,rec                x    1-3-14    -
  1918.  
  1919. # big non-tech groups held long enough for a long weekend
  1920. sci,talk,misc,alt,aus        x    7    -
  1921.  
  1922. # real noise gets thrown away fast
  1923. news.groups            x    1    -
  1924. junk,control            x    1    -
  1925.  
  1926. # throw away some technical stuff not worth archiving
  1927. comp.os.vms,comp.mail.maps    x    2    -
  1928.  
  1929. # default:  5 days and archive
  1930. all                x    5    -
  1931.  
  1932. ===================================================================
  1933. /usr/lib/news/log   [ kind of goes with history, and errlog ]
  1934.  A dynamic file of course. Looks a bit like this,
  1935.  
  1936. Aug 13 06:15:23.180 cstpl1 + <CuDKy8.2I0@lynx.riga.lv> neilbar xanadu
  1937. Aug 13 06:15:23.250 cstpl1 + <32ffg6$58a@pinyon.libre.com> neilbar xanadu
  1938. Aug 13 06:15:23.370 cstpl1 + <9408120255.AA28065@mailserv-D.ftp.com> neilbar xanadu
  1939. Aug 13 06:15:23.470 cstpl1 + <9408120119.aa08069@xenitec.xenitec.on.ca> xanadu
  1940. Aug 13 06:15:23.570 cstpl1 + <9408112340.aa12375@srv150a.sco.com> xanadu
  1941. Aug 13 06:15:23.700 cstpl1 + <32fn19$kjp@rivendell.apana.org.au> neilbar copper xanadu
  1942. Aug 13 06:15:23.820 cstpl1 + <1994Aug10.222058.11951@mcshub.dcss.mcmaster.ca> neilbar xanadu
  1943. Aug 13 06:15:23.910 cstpl1 + <CuC43z.66J@telly.on.ca> neilbar xanadu
  1944. Aug 13 06:15:24.000 cstpl1 + <oranCuE9oK.ow@netcom.com> xanadu
  1945. Aug 13 06:15:24.120 cstpl1 + <776679143snz@peeras.demon.co.uk> neilbar xanadu
  1946. ================================================================
  1947. /usr/lib/news/mailname - mailpaths - organisation are text files about you,
  1948. edit them accordingly.
  1949. =================================================================
  1950. /usr/lib/news/sys    ************ IMPORTANT FILE ******************
  1951.             With this one, to make sure you don't send news
  1952.             BACK to the feed site, you should put the complete
  1953.             From_ address in the name part. See the entry for
  1954.             'bunyip' in the list below. If you don't do this,
  1955.             you will end up with a HUMUNGOUS history file, as the
  1956.             system will get into an endless news loop.
  1957.             And your feed site will HATE you.
  1958.  
  1959.  
  1960. # Only the ME line is mandatory; the others are just samples of how to do
  1961. # things.  Virtually everything will need modifying for your local feeds
  1962. # and newsgroups.
  1963.  
  1964. # line indicating what we are willing to receive; note local groups near end
  1965. ME:comp,news,sci,alt,rec,misc,soc,talk,k12,aus,junk,test,biz
  1966.  
  1967. # sample insignificant feed not using batching (for special situations only)
  1968. # huey:news.config,to.huey/all::uux - -r -gd huey!rnews
  1969.  
  1970. # sample of mailing newsgroups to someone (note distribution)
  1971. # daisy:soc.women,soc.couples/all::mail daisy@duck
  1972.  
  1973. # sample small feed using batching
  1974. # gladstone:comp.protocols.tcp-ip,rec.aviation/all:f:
  1975. cstpl1/cstpl1:all/all,\
  1976.     !control,!junk,!local,!misc.test:f:
  1977.  
  1978. # sample small feed using batching
  1979. neilbar:aus,\
  1980.     comp.protocols/all,\
  1981.     !control:f:
  1982.  
  1983. # sample small feed using batching
  1984. #
  1985.  
  1986. #noonie:aus.ads.forsale,\
  1987. #    aus.ads.forsale.computers,\
  1988. #    aus.ads.wanted,\
  1989. #    aus.net.aarnet,\
  1990. #    aus.org.acs,\
  1991. #    aus.org.auug,\
  1992. #    comp.os.coherent,\
  1993. #    comp.sys.3b1,\
  1994. #    comp.sys.ncr,\
  1995. #    comp.sys.att,\
  1996. #    rec.models.scale,\
  1997. #    rec.arts.erotica/all,\
  1998. #    !control,!junk,!local:f:
  1999.  
  2000. # Malcolm Chalmers. UUPC.
  2001. marvin:rec.arts.movies.reviews,\
  2002.     aus.jokes,\
  2003.     aus.tv,\
  2004.     aus.ads.forsale.computers/all,\
  2005.     !control,!junk:f:
  2006.  
  2007. #Cindy Hart. UUPC
  2008. copper:aus.culture.china,\
  2009.     aus.ads.forsale,\
  2010.     aus.ads.forsale.computers,\
  2011.     aus.comms,\
  2012.     aus.conserve,\
  2013.     aus.net.aarnet,\
  2014.     comp.dcom.modems,\
  2015.     comp.dcom.telecom,\
  2016.     comp.mail.uucp,\
  2017.     comp.os.msdos.mail-news,\
  2018.     comp.os.coherent/all,\
  2019.     !control:f:
  2020.  
  2021. # sample major batched feed, including assorted regional newsgroups, with
  2022. # (unnecessary) explicit file name
  2023. # dewey:comp,news,sci,rec,misc,soc,talk,can,ont,tor,ut,to.dewey/all:f:dewey/togo
  2024.  
  2025. xanadu:all/all:f:
  2026.  
  2027. # sample long-haul feed; note no regional groups, exclusion of a local
  2028. # distribution, and exclusion of anything that passed through him under
  2029. # another name (needed because he puts that form, not just "donald", in
  2030. # his Path lines)
  2031. # donald/donald.angry.duck:comp,news,sci,rec,misc,soc,talk,to.donald/all,!ut:f:
  2032.  
  2033. bunyip/bunyip.cc.uq.oz.au:all,\
  2034.     !control,!junk,!test.misc,!misc.test,!local:f:
  2035.  
  2036. # sample local-postings-only feed direct to major site (gets them out fast)
  2037. # scrooge:comp,news,sci,rec,misc,soc,talk,to.scrooge/all:Lf:
  2038.  
  2039. # sample ihave/sendme link
  2040. # NOTE, this is uucp ihave/sendme, not related to NNTP in any way.
  2041. # Send ihave telling louie what we have -- batcher turns the batch into a
  2042. # giant control message and posts it to "to.louie".
  2043. #    louie.wehave/louie:comp,news,sci,rec,misc,soc,talk,!to/all:I:
  2044. # Send the actual control messages
  2045. # louie:to.louie/all:f:
  2046.  
  2047. # Also, since ihave/sendme is slow, send local postings to louie without
  2048. # waiting for ihave/sendme
  2049. #  louie:comp,news,sci,rec,misc,soc,talk,!to/all:Lf:
  2050.  
  2051. ===========================================================================
  2052. /usr/lib/news/whoami
  2053.  
  2054. Well, simply put your node name in that. The name of your system, not the
  2055. domain.
  2056. ===========================================================================
  2057. /etc/rc
  2058. Put that on the end of /etc/rc
  2059.  
  2060. # Clean up news things
  2061. /usr/lib/newsbin/maint/newsboot
  2062. # end of /etc/rc
  2063. ==========================================================================
  2064.  
  2065.  
  2066.  
  2067. Ok, that's it. Work your way through it piece by piece. A labour of love.
  2068.  
  2069. When its running, watch /usr/lib/log, errlog and history for what's happening,
  2070. and log in as news, and watch your mail. cnews will send strange messages
  2071. to you telling you what is happenig, every now and then.
  2072.  
  2073. If you need any further help, feel free to call.
  2074. One day, when someone pays me vast sums of money to do it, I might actually
  2075. sit down and make it an installable program, ready built... oneday...
  2076.  
  2077. Robert.
  2078.  
  2079. robert@chalmers.com.au
  2080. 17/08/94    errors and ommissions, while causing grief in most cases, are
  2081.         not intentional... :-)
  2082. =============================================================================
  2083.  
  2084.  
  2085.