home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Other / Coherent / documents / CohFAQ-v4.2 / text0000.txt < prev   
Encoding:
Text File  |  1995-09-01  |  83.3 KB  |  2,089 lines

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