home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-10 | 83.3 KB | 2,088 lines |
- This is a Frequently Asked Questions posting for comp.os.coherent,
- with answers about the COHERENT operating system,
-
- V4.2.10
- exclusively.
-
- Some general notes: No new activity. No contributions in over 18 months.
-
- When used alone, the word "Coherent" is used to mean any of the
- versions that may have been released.
-
- Unless otherwise specified, these answers refer to COHERENT.4.2.10, which
- is the latest release available.
-
- Many people have contributed to this list, directly or indirectly. In
- some cases, an answer has been adapted from one or more postings on the
- comp.os.coherent newsgroup. Our thanks to all of those who post answers.
- The name (or names) at the end of an entry indicate that the information
- was taken from postings by those individuals; the text may have been
- edited for this FAQ. These citations are only given to acknowledge the
- contribution.
-
- The Mark Williams Company is no longer trading.
- There will be no further releases of Coherent.
-
-
- 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
-
-
- =======================================================
-
- A Description of Amazing and Wonderous attributes concerning the World Famous
- digital Human Effort enhansing Device, lately called Coherent Version 4.1.10.
-
- Table of Contents.
- ------------ Introduction --------------
-
- =============================
- A1. Those perennial problems with COM ports.
- A2. Hardware & Configs, IRQ, IQ and ........
- A3. Compiling tips......VI options..........
- A4. UUCP, and Taylor 1.05...................
- A5. X11R5...................................
- A6. TCP/IP. SLIP & Ethernet.................
- ----------------------------------------
- Electronic Mail, and News Handling
- ==================================
- A7 cnews........... abcd goldfish, mno goldfish, sar, osicm.
- A8 smail.3......... smail damit, smail for the camera.
- A9 tin............. tin, for being rin .........
- A10 elm............. street, for having nightmares on
- A11 usenet.......... or fishing line, I still can't catch 'em.
- A12 The Commercial Sector. Sell your goodies worldwide.
- ( contact us, the fees are outrageous but we smile a lot )
-
- ========================================
-
- Introduction --------------
- Who We are. As if you didn't know!
- ============================== Queensland ==============================
- right On the Great Barrier Reef.
-
- Site name -----> chalmers.com.au
- Organisation --> CSTPL (Commercial Software Training Pty Ltd)
- Location ------> Brisbane, Mackay
- Dialins -------> 3 * V32bis/V.42bis.
- Charges -------> $2.44Mb Metropolitan, $2.95Mb Regional, plus costs.
- Machine -------> Unix. 486
- Link ----------> Shell, UUCP, (SL)IP
- Features ------> AARNet VAR. Domain registration, International
- MX, UUCP, SLIP, Router, Shell.
- How -----------> By email, F:079424032 P:079524395 FC:1800067722
- Contact -------> Robert Chalmers. <robert@chalmers.com.au>
- ------------------- CSTPL ----------------------
- chalmers.com.au
- Commerical Software Training Pty Ltd is an AARNet Value Added
- Reseller, and is thus able to connect others to the network. This
- includes full domain registration assistance and MX record handling.
- chalmers.com.au is extending its operations and research into Queensland
- as well as seeking to provide network feeds to developing countries.
- The special area of interest is Asia, with on going research in
- China, and connections to Pakistan. The Queensland project is enabling
- Cairns, Mt Isa, Townsville, Mackay and Rockhampton to be connected to
- the Brisbane server via DDS, providing internet access for users, with
- servers in all cities. All options will be available to users as a
- local call. The time frame for completion of all links is early 1995.
-
- CSTPL is heavily involved in Applied Communications research. We attempt
- to establish useable communications between international sites and
- the Internet. Also covering Queensland, this research is based on all
- available technologies, including portable satellite ground stations.
- We try to keep the technical aspects to the bare minimum for users,
- and the costs reflect our committment to on going research.
-
- Email -----> <robert@chalmers.com.au>
- PSTN ------> F:079424032 P:079524395 FC:1800067722
- Contact ---> Robert Chalmers. <robert@chalmers.com.au>
- Mail ------> 22 Minster St.4170 or 4 Corndale St.4129
- =======================================================
-
-
- If you feel that you have a contribution to make, either by
- way of a short shell script, a tip, trick or trap, please contribute
- them to this document. Post them to robert@chalmers.com.au, set out if
- you like, with your name attached so you get the credit.
-
- This message is for the attention primarily of Australian users
- of Coherent, but may have some value to users around the world as well.
-
- Coherent Updates Now Available In Australia.
- ============================================
-
- CSTPL is making available, with the approval of MWC, the Coherent
- updates as they become available. The updates are now available for
- retrieval by two methods: automatic reply email, and uucp for those without
- an internet account that they can use for such things. Uucp within Australia
- is not expensive, a half hour call will set you back a mere $11 for an hours
- downloading in off peak time.
-
- As near as possible the full range of updates and patches is available
- and conforms to the following criteris. Take Note if you intend retrieving it.
-
- [1]
- By Email: send email To: updates@chalmers.com.au
- Subject: list
- ^^^^^^^^^^^^^^^^^^^^
- Please.... watch the spelling of 'updates'.............
-
- The message does not need any text, as only the machine sees it,
- unless of course you cock it up, then I see it, care of the daemon.
- This will generate a reply message to you, with a file attached
- that is a LIST of the available patches. To retrieve any of the
- required files, put the name of the wanted file as the Subject: .
- The file will be sent back to you as UUENCODED email. You take
- it from there.
-
- Using this method, you are making use of my Internet connection,
- which is attached by Long Distance (STD) to the backbone. If you
- want ALL the files, ask MWC to send you a disk, or send me bulk
- money to pay for the extended phone call duration made on your
- behalf. Otherwise, I have no problem with users from anywhere
- requesting the occasional update. Lets face it. You rarely need them
- all! This is a voluntary service, and I get NO support by way of
- money or goods for doing it. Just remember us when you want to
- buy your next copy of Coherent, or you want an Internet connection
- from anywhere in the world.
- Last note: Some of the files are BIG. So if you have traffic limits,
- your system might choke!... blaaaa...
-
- [2]
- By UUCP: EASY...... I can't believe it.... Where has this
- been all my life? You mean I can actually get these things by
- dial-up in Australia?
-
- You should set up a system in your sys file (L.sys) with the
- following. Or suitable entry in your Taylor sys file.
-
- SYSTEM=nanguo SEND=yes RECIEVE=yes MYNAME=anon
- and the dial file,
- Login: anon Passwd: update
- /usr/spool/uucppublic/downloads/updates
- The phone number is +61 79 524527, speed 9600 V42/MNP etc.
-
- Got that? piece of cake.
- Once you have that right, use the old reliable uucp command to
- get the list of updates. UUCP users must note, I say must note,
- that ALL files in the updates directory, including the list,
- actually have their NAMES IN UPPERCASE. That's capitals for the
- semiliterate! So note the following command example.
-
- uucp nanguo!/usr/spool/uucppublic/downloads/updates/LIST ~/
-
- All things being equal, that should shoot back the LIST of updates
- to you. If not, check your configs etc. I know I have it right here,
- I have just spent most of today getting it right. :-) enjoy.
-
- Users should also note: There is NO direct login here. You can NOT
- SEND me files, and you can only pick up files from the $PUBDIR.
-
- ****************************************************************************
- Subjects:
- Communication with the Outside World.
- -------------------------------------
- A1. COM ports.
-
- Things of Great Moment and Import.
-
- 1) You can not use ckermit or and other interactive comms program
- to dial out of a com port that is already enabled so that a
- terminal can use it, or it is used to take incoming calls on a
- modem.
-
- An enabled port looks like this, as seen in /etc/ttys
- 1rPcom1r
- ^
- this indicates to you that the port is ENABLED.
-
- 2) If you use the UUCP program called cu to dial out to other sites,
- then you don't need to worry about it, as you will have the UUCP
- configuration files so designed, that everything is taken care of
- for you. If you haven't got UUCP configured, read on. There is an
- entire section on configuring Taylor UUCP. V1.05 for Coherent.
-
- 3) In order that programs like UUCP and cu can properly manage the
- com ports, your files /etc/enable & /etc/disable
-
- must look like this:
- -r-s--s--x 3 root root 8892 Mon may 23 22:11 /etc/disable
- -r-s--s--x 3 root root 8892 Mon may 23 22:11 /etc/enable
- ^^^^^^^^^^^^^^^^^^^^^^^
- important bits !
-
- With Taylor uucp V1.05,
- DISABLED COM PORTS MUST NOT BE IN TTYS.
- That is, previously you could have
- 1rPcom1r
- 0lPcom1l
- to denote that you had that port actually in use for
- something. Not so with Taylor 5.
- =========================================================
- *****************************************************************************
- A2. Hardware & Configs, IRQ, IQ and ........
-
- Some jottings on IRQ lines. There is some discussion on IRQ 7
- problems, but as it sounds like something that might just be
- specific to a particular setting, I'll leave it out for now.
-
- IRQ 7 is the printer(LPT1) IRQ.
- LPT1 03BC IRQ 7
- LPT2 0378 IRQ 7
- LPT3 0278 IRQ 5
-
- The whole list up,
-
- ISA, EISA AND MCA DEFAULT INTERRUPTS.
-
- IRQ 0 SYSTEM TIMER
- IRQ 1 KEYBOARD CONTROLLER
- IRQ 2 SECOND IRQ CONTROLLER
- IRQ 3 COM 2
- IRQ 4 COM 1
- IRQ 5 LPT 2, OR LPT 3
- IRQ 6 FDD CONTROLLER
- IRQ 7 LPT 1
- IRQ 8 REAL TIME CLOCK
- IRQ 9 RE-DIRECTED IRQ 2 IRQ-2 is latched to the first port
- on the second chip, IRQ 9.
- IRQ 10 AVAILABLE
- IRQ 11 AVAILABLE
- IRQ 12 MOTHERBOARD MOUSE PORT (available if no mouse)
- IRQ 13 MATHS COPROCESSOR
- IRQ 14 HDD CONTROLLER
- IRQ 15 AVAILABLE
-
-
- Ok, lets enlarge on this a little. The following excerpts are from Dr Dobbs,
- the SCO configuration guide, and Programming Device Drivers, and the OAK Chip
- Set, specification Data Book.
-
- Lets start with the Interrupt controllers.
-
- Interrupt Control Logic.
- The interrupt control logic includes two Intel 8259A compatible interrupt
- controllers. It has 15 levels of interrupt that are handled according to
- programming priority in the CPU chip. The list above shows the hardware
- interrupts and their availability to the I/O channel. (PC bus)
- The I/O address for each register for each register in the interrupt
- controller is defined in the the following table. (OAK DATA)
-
- MASTER INTERRUPT CONTROLLER
-
- ADDRESS W/R Function
- ***initialization mode***
- 0020 W initialization command word ICW1
- 0021 W initialization command word ICW2,ICW3,ICW4
- ***operation mode***
- 0021 W operation control word OCW1
- 0020 W operation control word OCW2,OCW3
- ***read status register(operation mose)***
- 0021 R interrupt mask register(IMR)
- 0020 R interrupt request register(IRR), and interrupt
- service register(ISR).IRR and ISR are selected
- through bit 0 and bit 1 in OCW3
-
- SLAVE INTERRUPT CONTROLLER
- ***initialization mode***
- 00A0 W initialization command wordICW1
- 00A1 W .......
- as for MASTER above.
-
- The interrupt acknowledge cycle requires two wait states.
- --------------------------------------------------------------------------
- from the SCO configuration book
- Typical device interrupts.
- IRQ 0 clock
- IRQ 1* console
- IRQ 2 networks, tapes and others
- IRQ 3 COM 2
- IRQ 4 COM 1
- IRQ 5 LPT 2, OR LPT 3
- IRQ 6* FDD CONTROLLER
- IRQ 7 LPT 1
- 8 not mentioned (but it is the battery clock)
- IRQ 9* chain from IRQ2
- IRQ 10 AVAILABLE
- IRQ 11* Adaptec 0
- IRQ 12 Adaptec 1
- IRQ 13* FPU
- IRQ 14* ST506 Controller 0
- IRQ 15 ST506 Controller 1
- * do not use these interrupts.
- ----------------------------------------------------------------------------
- Dr Dobbs journal. #186. March 1992.
- Page 44 - 50.
-
- On page 46. Along with a diagram of the Bus Architecture, there is a foot
- note that says.
- quote
- *IRQ7 and IRQ15 also receive "lost" interrupts for associated controller.
- end of quote
-
- That is, MASTER CONTROLLER, IRQ 0 - 7, lost interrupts spill onto #7
- On the SLAVE CONTROLLER, IRQ8 -15, lost interrupts spill onto #15
-
- Now, I'm told reliably that a "lost" interrupt is one that the processor
- didn't process before another one came in from the same device.
- See the following notes;
-
-
- quote(Dr Dobbs)
- 386 ISA Interrupt Mechanism in Detail
- The ICUs are attached in a cascaded arrangement, with the master ICU directly
- connected to the 386 and the slace ICU connected to one of the eight interrupt
- input lines that each ICU possesses. Because of this layout, although we have
- two ICUs with eight lines apiece, only 15 interrupts are actually generatable.
- as the third interrupt(IRQ2) is not allowed. Even more confusing is the
- arrangement of relative priority. the interrupt priorities for the
- slave interrupts (IRQ8-15) are jammed in between IRQ1 and IRQ3. And finally
- to maintain compatibility with the original PC, what used to be IRQ2 is now
- attached to the slave to IRQ9, with the newer interrupt signals on the slave
- ICU(other than IRQ9) available only to the AT or 16-bit wide cards.
- end quote.
-
- quote
- ...Also, in deference to high speed 386 systems, what appear to be spurious
- input instructions are added after updating the ICU mask register. These
- instructions do a read of a known "nonexistent" port. It is known that no
- data will be forced on the bus, and that any outstanding output operations
- on the ISA bus will have been written out before this instruction finishes.
- This code is necessary to mitigate the sins of "clever" hardware that holds
- port output contents in a "write buffer" so that output instructions
- can overlap execution. If this code is not insereted, when we turn on the
- processor's interrupt processing again(sti), the new mask won't have made it
- to the ICU and we will be running at the "old" priority for a "while". If this
- happens at an inconvenient time(during an interrupt processing routine, for
- instance), we might endlessly recurse and overrun the processor. the 386 is
- very unforgiving in this regard - the processor will shut down and
- spontaneously reset itself.
- end quote
-
-
- ....there is more to come on this section....
-
-
-
-
-
- =============================================================================
- A3.
- Compilation Environments and Feature Tests
- The COHERENT header files are designed to let you invoke any of several
- ``compilation environments''. Each environment offers its own features; in
- this way, you can easily import code that conforms to the POSIX or ANSI
- standards, compile device drivers, or otherwise fine tune how your programs
- are compiled. To invoke a given compilation environment, you must set a
- feature test.
- As discussed in the Lexicon article name space, the ISO Standard reserves
- for the implementation every identifier that begins with a single
- underscore followed by an upper-case letter. The POSIX Standards define
- several symbols in this name space that the implementation can use as
- ``feature tests'' -- that is, as symbols that you can use in your source
- code to determine the presence or absence of a particular feature or
- combination of features. Note that a feature test applies to an
- implementation of C, rather than to an operating system. A feature test
- combines aspects of the host system and the language translator: some tests
- apply to the operating system, some purely to the C translator.
-
- The operating system's header files can define them (for example,
- _POSIX_SAVED_IDS) to control compilation of user code or to deal with
- optional features, or you can define them (e.g., _POSIX_C_SOURCE) to
- control how the system's header files declare or define constants, types,
- structures, and macros.
-
- In general, a feature test must either be undefined or have an integer
- value. It must not be defined as having no expansion text, or expand into
- a string. For example,
-
- # CORRECT
- cc -D_POSIX_C_SOURCE=1 foo.c
-
- is correct, as is:
-
- # CORRECT
- cc -U_POSIX_C_SOURCE foo.c
-
- However,
-
- # WRONG
- cc -D_POSIX_C_SOURCE foo.c
-
- is incorrect, as is:
-
- # WRONG
- cc -D_POSIX_C_SOURCE="yes" foo.c
-
- This is to permit the constants to be tested with expressions like
-
- #if _POSIX_C_SOURCE > 1
-
- where an integer value is required. (If the symbol is used in a #if test
- and is undefined, cpp replaces it with zero, which is still an integer
- value). This permits the implementation to use different values of the
- feature test to invoke different feature sets; and it simplifies testing
- for complex combinations of feature tests.
-
- Although nearly all feature tests behave as shown above, there are a few
- exceptions, namely _POSIX_SOURCE and _KERNEL. These symbols are not defined
- as having a specific value, so many users do not supply a value. To deal
- with this, the COHERENT header files check whether these constants have
- expansion text. If they do not, the header files redefine these constants
- with value 1, so that they can be used like the other feature tests that
- the COHERENT header files define.
-
- The following describes the feature tests used in the COHERENT header
- files, and briefly describes the compilation environment each invokes.
- Because we are continually adding new features to the kernel, this list is
- not guaranteed to be complete.
-
- _DDI_DKI
- Invoke the environment for compiling device drivers. This environment
- makes visible all DDI/DKI function prototypes and data definitions,
- and defines all fundamental data types and structures as mandated by
- UNIX System V, Release 4.
-
- Please note that this feature test is an COHERENT extension, and is
- not portable to other operating systems.
-
- _KERNEL
- Invoke the environment for compiling the kernel or a device driver.
- This environment gives code full access to system's private header
- files. Under COHERENT, this option is equivalent to defining _DDI_DKI
- to value 1, because COHERENT only supports compiling DDI/DKI driver
- source code from System V, Release 4. This means that the definitions
- of many fundamental data types such as pid_t are changed to the System
- V, Release 4 definitions rather than the System V, Release 3
- definitions used by user code. (This is a System V convention.)
-
- _POSIX_SOURCE
- _POSIX_C_SOURCE
- Select a ``clean'' compilation environment, in which the headers
- defined in the POSIX.1 or POSIX.2 standards define no symbols other
- than the ones that those environments require. Defining
- _POSIX_C_SOURCE with value 1 selects the POSIX.1 environment, as
- defined in the POSIX.1 standard. Defining _POSIX_C_SOURCE with value
- 2 selects the POSIX.2 environment, as defined in the POSIX.2 standard.
- Defining _POSIX_SOURCE has the same effect as defining _POSIX_C_SOURCE
- with value 1.
-
- _STDC_SOURCE
- Select a ``clean'' compilation environment. In this environment, the
- headers that the ANSI C standard defines define no symbols other than
- those that the standard requires. This feature test is designed to
- let you compile conforming Standard C programs that themselves define
- functions or macros that the COHERENT header files defined in addition
- to those described in the ANSI standard.
-
- Please note that this feature test is an COHERENT extension, and is
- not portable to other operating systems.
-
- _SUPPRESS_BSD_DEFINITIONS
- This feature test invokes a compilation environment that excludes all
- definitions that are included for compatibility with Berkeley UNIX.
- As of this writing, this feature test affects only the header file
- <string.h>, and prevents it from defining the macros bcopy(), bzero(),
- index(), and rindex(). Note that selecting a POSIX or Standard C
- environment also suppresses these definitions.
-
- Please note that this feature test is an COHERENT extension, and is
- not portable to other operating systems.
-
- _SYSV3
- This feature test invokes a compilation environment in which all
- fundamental types and data structures have the definitions mandated by
- UNIX System V, Release 3.
-
- _SYSV4
- This feature test invokes a compilation environment in which all
- fundamental types and data structures have the definitions mandated by
- UNIX System V, Release 4. As of this writing, this facility is
- incomplete and used mainly to develop device drivers and extensions to
- the kernel.
-
- Please note that this feature test is an COHERENT extension, and is
- not portable to other operating systems.
-
- ========================= Compliments of Fred. ==================
- These VI settings might help when using vi to cut code;
-
-
- ================================ VI COMMANDS ==============================
- Used with :set, the following can be used to set up your document area.
- They are either put into a .exrc file in your $HOME directory, or while in
- vi, with :set <option>. For example, :set showmode causes the current
- input state to be displayed on the lower right corner.
-
- noautoindent noflash nonovice nosync
- autoprint flipcase="" nonumber tabstop=8
- autotab nohideformat paragraphs="PPppIPLPQP" taglength=0
- noautowrite noignorecase prompt tags="tags"
- nobeautify noinputmode noreadonly tagstack
- cc="cc -c" keytime=2 remap term="ansipc"
- nocharattr keywordprg="ref" report=5 noterse
- columns=80 lines=25 noruler timeout
- nodigraph nolist scroll=11 window=25
- directory="/tmp" magic sections="NHSHSSSEse" wrapmargin=0
- noedcompatible make="make" shell="/usr/bin/ksh" wrapscan
- equalprg="fmt" mesg noshowmatch nowriteany
- errorbells nomodelines noshowmode
- noexrc more shiftwidth=8
- exrefresh nearscroll=25 sidescroll=8
- ==========================================================================
- Used without :set, is the keyword 'color'. For example, :color blue white
- sets your screen to blue text on white background. Pretty.
- ==========================================================================
- A4.
- A5.
-
- The second edition of the COHERENT X manual contains a section on recompiling
- X applications under COHERENT. It follows. If somebody wants to begin a
- FAQ on porting to COHERENT, please feel free to use it. If not, I hope
- people find it helpful.
- Fred.
- ===============
-
-
- Recompiling X Applications
-
-
- A wealth of X source code is available to the public. In all probability,
- somebody has already written the X program that you want. By checking
- publically accessible archives, you will find many interesting, useful, and
- amusing programs. The following gives hints on how to recompile X source
- code under COHERENT.
-
- In many cases, importing an X application to COHERENT is simply matter of
- recompiling its source code. This section describes how to do so. It also
- discusses some problems that are commonly encountered during recompilation.
-
- Imakefiles and Makefiles
-
- The UNIX/COHERENT application make manages the building of programs. It
- reads the contents of a Makefile, which describes how to build the program,
- and names the source modules from which the program is created. If you are
- not familiar with make, see tutorial for it that appears in your COHERENT
- manual.
-
- Although make is the programmer's best friend, adapting a Makefile from one
- operating system to another can be difficult. This is because different
- operating systems -- even different flavors of UNIX or UNIX-like systems
- like COHERENT -- can vary quite a bit in their capacities, in the functions
- available in their libraries, and in how they have structured their header
- files and libraries.
-
- To help you avoid this problem, most X applications use the utility imake
- to build a Makefile. imake reads the contents of an Imakefile that is
- written by the programmer, invokes the C preprocessor cpp to combine the
- Imakefile with a set of configuration files designed for your operating
- system, and writes a Makefile from which you can build the application. In
- many instances, the Imakefile simply names the application you wish to
- build and the source files from which it is built. An example Imakefile is
- shown below.
-
- The script xmkmf invokes imake with the arguments and configuration files
- that are appropriate for COHERENT. In most instances, all you have to do
- to build a Makefile is type xmkmf; and once the Makefile is built, all you
- have to do to build the application is type make.
-
- Naturally, some problems may arise during this process. The commonest ones
- are discussed below.
-
- Modifications to Makefiles
-
- Some applications come with a Makefile instead of an Imakefile. If this is
- the case, you probably will need to modify this Makefile so that the
- program will compile correctly under COHERENT.
-
- The following changes must be made to most Makefiles:
-
- -> X Windows for COHERENT keeps X header files in directory
- /usr/X11/include/X11. Most other releases of X keep their header files
- in directory /usr/include/X11; therefore, you must add an instruction to
- the Makefile to tell it to look in the correct directory.
-
- A Makefile must use the option -I to name this directory explicitly:
-
- -I/usr/X11/include
-
-
- This tells the C compiler to look in /usr/X11/include for any header
- file whose name is prefixed with X11, such as:
-
- #include <X11/Xos.h>
-
- Often, this is done as part of the macro CCFLAGS. Therefore, if you see
- an instruction of the form:
-
- -I/usr/include/X11
-
-
- change it to read:
-
- -I/usr/X11/include
-
-
- -> X Windows for COHERENT keeps its X libraries in directory /usr/X11/lib.
- A Makefile must name that directory explicitly. Many Makefiles use a
- macro named something like LIBFLAGS to set linking options and name
- libraries. Before the list of libraries, you must add the option:
-
- -L/usr/X11/lib
-
-
- -> Add -lXbsd to the end of the list of libraries to be linked into the
- application. This tells the linker to link in library libXbsd.a, which
- holds the socket-emulation routines.
-
- -> If the option -lsocket appears on the list of libraries, remove it.
- This library holds the Berkeley socket functions; these are emulated in
- libXbsd.a and so are not needed.
-
- -> Add the option -DCOHERENT to the macro CCFLAGS. If you make any
- COHERENT-specific changes to the source code, you can bracket them with
- the preprocessor directives
-
- #ifdef COHERENT
- ...
- #endif
-
-
- and the instruction -DCOHERENT will ensure that they appear in the
- compiled program.
-
- Once you have made these changes, you can begin compiling.
-
- Problems Seen During Compilation
-
- The following discusses problems that can come up during compilation.
-
- -> The COHERENT compiler is not ANSI compliant, although it recognizes some
- ANSI extensions to the C language. If the X application is written
- using ANSI-specific grammar (in particular, function prototypes), you
- must compile it with an ANSI-compliant compiler, e.g., GNU C. When
- doing so, modify the Makefile or Imakefile to define the macro CC to
- gcc.
-
- -> During the link phase, you may see the linker complain about the
- undefined symbol select. This indicates that one of the source modules
- has called the socket function select(). Under X Windows for COHERENT,
- this function is named soselect().
-
- To fix this problem, go through the sources and conditionally replace
- every instance of
-
- select( [arguments] );
-
-
- with:
-
- #if defined(COHERENT)
- soselect ( [arguments] );
- #else
- select ( [arguments] );
- #endif
-
-
- Note that this is the proper way to add new COHERENT-specific code to X
- sources. If the application comes only with a Makefile, you must make
- sure the instruction -DCOHERENT appears as part of the macro CFLAGS;
- however, this is not necessary if you have built a Makefile from an
- Imakefile, as xmkmf ensures that this instruction is included
- automatically.
-
- -> The COHERENT C compiler does not include by default the code to print
- floating-point numbers, as this code increases the size of the linked
- executable noticeably. If your X application uses any of the options
- %e, %f, or %g with the function printf(), and if you are compiling with
- COHERENT's cc command, you must add the option -f to the macro CFLAGS.
- Note that you must do this in either a Makefile or an Imakefile, as
- xmkmf does not add this option by default.
-
- You do not need to do this if you are compiling with GNU C.
-
- -> Some applications redeclare the manifest constant PI; COHERENT declares
- this constant in header file <math.h>. The COHERENT C compiler will
- abort if manifest constants are redeclared (GNU C does not); so if this
- problem arises, conditionalize out the declaration of PI within the
- application, as shown above.
-
- -> You may find problems with the following routines: bcopy(), bcmp(),
- bzero(), index(), and rindex(). The problems usually consist of a clash
- between the manner in which these routines are declared or defined
- within the application, and they way they are declared or defined in the
- COHERENT header files. In most instances, you should conditionalize out
- the declaration within the application, and ensure that the proper
- COHERENT header file is included. For details, use the command man
- command to view the manual entries for the routine in question.
-
- -> Some versions of UNIX declare string-handling functions in the header
- file <strings.h>. COHERENT, however, keeps them in <string.h>. If the
- compiler complains that it cannot open strings.h, conditionally replace
- it in the sources with <string.h>, as described above.
-
- -> If you are compiling with GNU C, the linker may complain of a number of
- undefined symbols of the form _dmul. This is due to the fact that GNU C
- always creates code that performs hardware floating-point arithmetic and
- by default attempts to link in the COHERENT libraries that contain
- hardware floating-point routines, but the COHERENT X libraries were
- compiled to use software floating-point arithmetic. To get around this
- problem, you must modify the file specs for GNU C: change the line that
- reads
-
- %scrt1.o %scrtbegin.o -u _dtefg -L/lib/ndp -L/usr/lib
-
- to:
-
- %scrt1.o %scrtbegin.o -u _dtefg -L/lib -L/usr/lib
-
-
- Note that this is a work-around for GNU C, and may create problems of
- its own. For example, when you link software floating-point code with
- modules compiled to use hardware floating-point arithmetic, the function
- atof() will always return NAN.
-
- For a fuller description of how COHERENT manages floating-point
- arithmetic, see the Lexicon entry for cc.
-
- If other problems arise that are not described here, please send a detailed
- description to MWC Technical Support, as described at the beginning of this
- manual.
-
- Recompiling an Example Application
-
- The following walks you through the recompilation of the X application
- xwave. This application, whose source code is included with X Windows for
- COHERENT, was written by Mike Friedman, Paul Riddle, and Jim McBeath. It
- draws a three-dimensional animation of a wave. By setting command-line
- parameters, you can dictate the size of the grid used and the type of wave
- to be plotted. The following steps describe how to recompile this program:
-
- -> cd to directory /usr/X11/src.
-
- -> De-archive the sources by typing the command:
-
- gtar -xvzf xwave.gtz
-
-
- -> cd to directory xwave.
-
- -> Type the command xmkmf. This builds a Makefile from the Imakefile
- included with this package.
-
- -> To recomile, type make.
-
- -> When compilation has finished, install the program as follows:
-
- mv xwave /usr/X11/bin
-
-
- -> To test the program, invoke X as described in an earlier section; then
- type xwave. The application opens a window and animates a sample wave.
-
- That's all there is to it. A formatted manual page for xwave is included
- in directory /usr/X11/src/xwave/man.
-
- The following gives the contents of xwave's Imakefile:
-
- LOCAL_LIBRARIES = $(XLIB)
- OBJS = xwave.o force.o plot.o prop.o
- SRCS = xwave.c force.c plot.c prop.c
- SYS_LIBRARIES = -lm
- ComplexProgramTarget(xwave)
-
- When xmkmf and imake process this five-line Imakefile, it expands in a 370-
- line Makefile. The following describes each line in the Imakefile.
-
- LOCAL_LIBRARIES names the libraries to be linked into the program. The
- macro XLIB means that the programmer wants to include the standard suite of
- X libraries for your system. The configuration files included with X
- Windows for COHERENT give the information that imake needs to expand XLIB
- into the correct set of libraries.
-
- OBJS and SRCS name, respectively, the object modules from which the
- application is built, and the source files from which those objects are
- compiled.
-
- SYS_LIBRARIES names the system libraries to be included, apart from the X
- libraries. The programmer has included the argument -lm, which indicates
- that the program needs routines within the mathematics library libm.a. For
- details on the contents of this library, see its entry in the COHERENT
- Lexicon.
-
- Finally, the line
-
- ComplexProgramTarget(xwave)
-
- is a macro whose body is kept in file /usr/X11/lib/config/Imake.rules. This
- macro contains all of the instructions and commands that make needs to
- build a complex X program. The argument xwave names the application to be
- built.
-
- For a discussion of the macros that can be included in an Imakefile, see
- the Lexicon entry for imake in this manual.
-
- Building Your Own Makefile
-
- If you do not want to use xmkmf and imake, you can build a Makefile by
- hand. You probably will never need to do this, but knowing how to do so
- may come in handy some time:
-
- 1. Build a skeletal Makefile. Place the following declarations at its
- beginning:
-
- CFLAGS = -I/usr/X11/include
- LIBS = -L/usr/X11/lib -lX11 -lXbsd
-
-
- Follow this with a declaration of the object modules from which this
- application is built. As a rule of thumb, there is one object for each
- source module. For example, if the application consists of source
- modules foo.c, bar.c, and baz.c, write the following into your Makefile:
-
- OBJS = foo.o bar.o baz.o
-
-
- Finally, add the target line for the executable you wish to build. If
- the application is to be called xapp, add the following to your skeletal
- Makefile:
-
- xapp: $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) $(LIBS)
-
-
- 2. Use the command
-
- cc -c -I/usr/X11/include/X11 source.c
-
-
- for each source module. Some modules will compile correctly on the
- first try; others will require several attempts. Those that require
- several attempts may require that you use the cc option -D to set one or
- more switches within the source module. Use the command grep to find
- every instance with the source module of the C preprocessor directive
- #if. These will indicate the options that are available within the
- source code, and suggest which switches you should set.
-
- 3. Once you have succeeded in compiling all of the source files to objects,
- type make. Because all of the objects already exist, make will attempt
- to link an executable.
-
- At this stage, you probably will see errors about undefined symbols.
- Note which symbols are undefined; then use the COHERENT utility nm to
- list the symbols in all of the X libraries and find which libraries
- contains the symbols you need. Include them in your Makefile.
-
- Note that an X application always need the libraries libX11.a and
- libXbsd.a; the declarations given above invoke those libraries
- automatically. The difficulty is in arranging the other libraries in
- the proper order in the Makefile. This can be done only by trial and
- error: sometimes many trials and many errors. When you have the correct
- order, copy the information into your Makefile.
-
- Unresolved identifiers within the program may also be manifest constants
- that the programs expects to be set with the -D option to the cc
- command.
-
- When you have finished linking the program, you should have a working
- executable. Thereafter, you can use the Makefile you just created to
- rebuild the application, should you decide to modify the source code.
-
- Most applications come with a manual page that describe the program and how
- to run it. You may, for example, need to install a font or a resource file
- in the appropriate directory. You will, of course, need to test the
- program to make sure that it runs correctly. We have found that, in most
- instances, if a program can be compiled and linked under COHERENT, it will
- also run correctly.
-
- Where To Get X Sources
-
- Numerous X programs have already been ported to COHERENT. Archives of
- sources are available for free on the Mark Williams BBS. For directions on
- how to contact the MWC BBS, see the directions in the tutorial for UUCP
- that appears in the COHERENT manual.
-
- If you have access to the Internet, you can retrieve source files from the
- site raven.alaska.edu. Use ftp to access that site; then log in as
- ``anonymous''. New sources are added continually.
-
- The master site for X software is ftp.x.org. If you have access to the
- Internet, you can log into that system via anonymous ftp. This site
- contains many megabytes of sources, so you would be well advised to think
- about what you would like to retrieve before you enter this site.
-
- Finally, Mark Williams Company sells packages of X applications that have
- been ported to COHERENT. Called Xware, these packages bring together
- interesting, useful, and amusing programs for your COHERENT X system. Each
- has been ported to COHERENT; most include full source code and a formatted
- manual page that can be viewed with the COHERENT man command. For details
- on Xware, see the release notes that come with this manual.
-
-
- fred@lepanto.mwc.com -- Fred Butzen -- Mark Williams Company
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- >
- > > Is anyone able to use this card in 800x600 mono even
- > > with XFree 1.2?
- >
- >I have a CL 5426 which would seem a close friend of your 5428. It works well in
- >mono with Coh-X on a CTX 14" SVGA monitor.
- >
- >After much hair pulling to get it working, Xconfig contains:
- >
- > #mono server
- > vga2
- > chipset "pvga1"
- > videoRAM 1024
- > Modes "640x480" "800x600"
- > Clocks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- > Virtual 800 600
- > Viewport 0 0
- > #
- > modeDB
- > "640x480" 1 640 672 768 800 400 490 492 525
- > "800x600" 4 800 808 944 1056 600 608 610 633
- > #
- >
- >TREV.
-
-
- A6.
- Slip, Ethernet, and communications things generally!
-
- Starting & Stopping Cohulip. Coherent SLIP. Some examples
- To invoke this script, which I have called slip, one types for instance;
-
- slip raven
-
- ------------------------------- cut ---------------------------------------
- #!/bin/sh
- RMODEM=/dev/asy01fr
- LMODEM=/dev/asy01fl
-
- case $1 in
- tafe) TARGET=tafe;;
- raven) TARGET=raven;;
- *) echo "Usage: Net tafe|raven|...";
- esac
-
- # disable the port
- echo "Disabling port $RMODEM"
- /etc/disable $RMODEM
-
- # invoke net for the target network. if you want a log of the session
- # leave the '| tee slip.log' bit in, else delete it.
- net start.$TARGET | tee slip.log
-
- #after typing 'exit' at the 'net>' prompt,
- # reset modem and port after a net session
- echo "Resetting the modem"
-
- # get the modem's attention wiht the '+++' sequence.
- # I've taken this from modeminit. It's the only way I can get this
- # Hayes compatible modem to respond correctly.
- {
- echo "Get the modems attention. 3+++3"
- sleep 3
- echo -n +++ > $LMODEM
- sleep 3
- }
- #give it at least 6 seconds, come on now.
- # hang up the phone, H0 should accomplish this on most systems.
- {
- cat >&1 <<\!
- ATH0
- !
- } <$LMODEM >$LMODEM
- sleep 2
-
- # On my system, ATZ resets to the 'default' settings, in config area 0.
- # reload the standard modem settings
- {
- echo "Reset defaults. Allow logins"
- cat >&1 <<\!
- ATZ
- !
- } <$LMODEM
- sleep 2
-
- # Make sure that the /etc/enable set of scripts has permissions for users.
- # re-enable the port
- echo "Re enabling port $RMODEM. Hasta lavista.. baby!"
- /etc/enable $RMODEM
-
- # end
- ----------------------------------- cut -----------------------------------
-
-
-
-
-
- The following modifications have been suggested by;
- Jake Odell ** jake@pantheon.us.com ** jodell@rahul.net
- In place of the escape sequence above use,
-
- sleep 3
- echo -n +++ >$LMODEM
- sleep 3
- [..............]
- #give it at least 5 seconds, come on now.
- # hang up the phone, H0 should accomplish this on most systems.
- {
- sleep 3
- cat >&1 <<\!
- ATH0
- !
- } <$LMODEM >$LMODEM
- [........................]
- /usr/bin/modeminit
- wait
- /etc/enable $RMODEM
- [........................]
- Just a few quickies that I hope may help..
- Jake
- ===========================================================================
- #start.raven This file is an example of connecting to a floating IP address.
- #
- hostname nanguo.chalmers.com.au
- #the next 3 lines should all be ONE line. This is for convenience here only.
- attach asy 0 /dev/asy01fl slip sl0 0 1500 9600 AT&F\r OK
- ATX0E1V1Q0M3DT...phone number...\r CONNECT \r
- UAF-DU-04> show\sport\sslip\r UAF-DU-04> c\sslip\r session
- #end of single line
- #the last word, session, allows me to read the assigned IP. At which time
- #I type 'ip address xxx.xxx.xxx.xxx' whqatever it is, then type,
- #domain addserver 137.229.10.39.
- #At that time I'm connected.
- route add default sl0
- ip ttl 32
- tcp mss 1048
- tcp window 1048
- tcp irtt 2000
- eol unix
- start smtp
- start telunix 23
- start echo
- start finger
- start ftp
- ------------------------------------------
- This one is a local one to the college, with a permanent IP assigned.
- #start.tafe
- hostname nanguo.chalmers.com.au
- attach asy 0 /dev/asy01fl slip sl0 0 1500 9600 ATDT512692\r
- # At this point I am connected.
- ip address 203.1.96.1
- route add 147.132.76.1 sl0
- route add 147.132.77.3 sl0
- route add default sl0
- ip ttl 32
- tcp mss 1048
- tcp window 1048
- tcp irtt 2000
- eol unix
- start smtp
- start telunix 23
- start echo
- start finger
- start ftp
- -------------------------------------------------------------------------
- This next one is simply an ethernet connection to the DOS machine, running
- MSTCP/IP, and or Winsock+WinQvtNet.
-
- #startup.net (the default)
- hostname nanguo.chalmers.com.au
- ip address 203.1.96.1
- attach nx 0 0 arpa ne0 5 1500
- route add default ne0
- route add prism ne0
- route add emerald ne0
- ip ttl 32
- tcp mss 1500
- tcp window 512
- tcp irtt 2000
- eol unix
- start telnet
- start smtp
- start telunix 23
- start echo
- start finger
- start ftp
- --------------------------------------------------------------------------
- I'm currently using about the 2nd release that Randy put out, but it works
- fine anyway.
-
- ===========================================================================
- ****************************************************************************
- A7.
-
- Making, Installing & Configuring
- Cnews.
- ======
- The Performance release of Cnews.
- (There are NO later releases than this one.)
- The sources, in the README, are dated 2nd May, 1992.
- The sources are on raven.alaska.edu, and nanguo.chalmers.com.au.
-
- THIS HAS ONLY BEEN TESTED WITH COHERENT RELEASE 4.2.10 AND GREATER.
- It has been done with Coherent stock issue tools. No GNU tools.
- As far as I can tell, none of the modifications are system
- specific anyway, and should work equally well on any platform.
-
- I would STRONGLY advise you to print this out on fan-fold paper, and buy
- a 'high-lighter' pen...
-
- The first thing to do is make sure your cnews.tar.gz archive has all of
- the right ownership/group permissions. Unless you want a LOT of grief,
- follow my advice to the letter.! Create a spare directory, such as
- like /pub/src. Move the archive to this directory. Make a directory
- yourself called cnews. Give it owner/group permissions of bin/bin.
- Use 'chmog 755 bin bin cnews'. You should now have a set up like this;
-
- /pub/src
- drwxr-xr-x 28 bin bin 592 Sat Aug 13 12:01 cnews
- -rw-r--r-- 1 root root 559144 Sun Jul 31 17:48 cnews.tar.gz
-
- Now, just to be sure that you are dealing with a package that starts out
- with the right permissions, log in a 'bin', change to /pub/src, and type
- in 'tar -xvzf cnews.tar.gz'. The archive will unpack into the cnews directory
- with all of the files having the correct ownership/group of 'bin/bin'.
- Next: Move the existing archive to a safe place, and while still logged in
- as 'bin', and still in /pub/src directory, type in 'tar -cvzf cnews.tgz cnews/*'
- to create a new archive, with all files with correct 'bin' ownership.
-
- I have discovered over time, that one of the biggest headaches is
- forgetting that some files unpack with strange permissions attached to them.!
-
- Ok, thats done... Now change to the /usr/pub/cnews directory. It should look
- like this with a 'lc' command,
-
- Directories:
- batch conf contrib dbz doc expire
- explode h hfake include inject input
- libbig libbsd42 libc libcnews libfake libsmall
- libstdio libusg libv7 libv8 man misc
- relay rna
-
- Files:
- COPYRIGHT PATCHDATES README.Coh README.new README.old ROADMAP
- clean.sh libcnews.a medit
-
- Good advice, part 1. Forget all the readme's and things. They are of NO
- interest until late Sunday when you have nothing better to do.
-
- LOG OUT........
-
- Log back in as 'root', and change to the /pub/src/cnews/conf' directory.
- ^^^^^^^^^^^^^^^^^^^^^^
- Changed to the directory conf? This is where it all happens. DISREGARD old
- instructions about building things one at a time. That's Nightmare City.
-
- In the cnews/conf directory you should have these files. You may have some
- stray ones if you obtained your sources from elsewhere. The important one
- is 'build'.
-
- Directories:
- save
- Files:
- Makefile README again.root ask build
- build.def config.make config.proto cron.sh doit.bin
- doit.news doit.root dostatfs.c doultrix.c doustat.c
- dowhatever.c man.inst newslock.sh notinlist postdefltgroup
- proto.sh queuelen.hdb queuelen.old queuelen.sub rnews.stall
- setnewsids.c sf.proto sf.statfs subst subst.1
- subst.gc subst.hs subst.test substitutions substs
- sys.proto test3.sh yesno
-
- Now, type ./build and follow the instructions. One of the FIRST things you
- are asked, is about ownerships. To the FIRST question about using previous
- answers as defaults, answer 'no'. You never know where its been!
- Ok, follow my lead from here, but check things as you go with the manual.
- User id for news files [news]
- Group id for news files [news]
- User id for news programs [bin]
- Group id for news programs [bin]
- Do c news sources belong to bin [yes]
- Where should articles live [/usr/spool/news]
- Where should control files live [/usr/lib/news]
- Where should programs live [/usr/lib/newsbin] <------ thats RIGHT!,newsbin.
- Is bin:/usr/bin the correct path.. [yes]
- What umash should cnews use [022]
- Where should cnews mail trouble reports [usenet] <------ create it yourself.
- Where should the shell configuration file be [/usr/lib/news/bin/config]
- What is the full pathname of the chown command [/bin/chown]
- Can I say chown news.news file to change owner/group [no]
- what is the full pathname of chgrp [/bin/chgrp]
-
-
- ..... at this point it will say,
-
- building doit.root
- done.
-
-
- What best describes your system [usg]
- What best describes your system [big] <------- same question, different text
- Does your system have fsync [no]
- Does your system have getopt [yes]
- Does your system have memcpy [yes]
- Does your system have mamcmp [yes]
- Does your system have memchr [yes]
- Does your system have memset [yes]
- does your system have mkdir [yes]
- Does your system have putenv [yes]
- Does your system have strchr [yes]
- Does your system have strrchr [yes]
- Does your system have strpbrk [yes]
- Does your system have strspn [yes]
- Does your system have strcspn [yes]
- Does your system have strtok [yes]
- Does your system have symlink [no]
- Does your system have strerror [yes]
-
- Do you want to use our dbz library [yes]
- Do you want to use our fast stdio library [no]
- Is your compiler that good [no]
- Can this system do setuid/gid... [no]
- Does your system have an ANSI-C conforming string.h [yes]
- Does your system have an ANSI-C conforming stdlib.h [yes]
- Does your system havve an ANSI-C conforming stddef.h [yes]
- Does your system have sys/timeb.h [yes]
- Does your system use ranlib [no]
- Does your ar have a symdef feature [yes]
- What is the name of the c compiler to be used [/bin/cc]
- What options should be given to the compiler [-O -VNDP]
- What options should be given for linking []
- What libraries in addition should be picked up [-lm]
- Does your system have a hostname command [no]
- Does it have a 'uname -n' command [yes]
- Which uucp is supportd [hdb] I know, taylor, but its hdb!
- Which one is most appropriate [ustat]
- Will 'df' accept any directory name as an arguement [yes]
- Are you planning to use expire to archive news on disk [no]
- Are you short of disk space [yes]
- hould news receptions stall if space gets short [yes]
- Do you want immediate processing [no]
- Are you running c-news on NFS, and want single server [no]
- What is the name of the system [xxxxx] <------ put your machine name here.
- What is the full domain address [host.domain] <---- use the full thing
- What is the Organisation [xxxxxx] <---- whatever you are
- What is the top level manual page directory [/usr/man]
- Has your system made man page location changes [no] <------ who knows ???
- what directory should 'rnews' and 'cunbatch' go in [/usr/bin]
- Do you want to install our user interface [yes]
- What directory should they go in [/usr/bin]
- Will mail handle '@' addresses [yes] <--- you really should get smail3
- What is the default newsgroup [comp.os.coherent]
- What is the default distribution [world]
- Whatis the default readnews subscription [comp.os.coherent]
- What group should users be subscribed to [comp.os.coherent]
- Do you have any newsgroups containing confidential property [no]
-
-
- The system will then build "doit.bin", "doit.news", "again.root" and then
- finish with a small set of instructions.
-
- ====== DO NOT UNDER ANY CIRCUMSTANCES RUN THOSE SCRIPTS YET ======
-
- You MUST follow these next instructions to the LETTER.
-
- NOW.... ta da... some patches to the code. Yup, you guessed it.
- Firstly, and most importantly, the Makefiles need fixing.
-
- In some cases, this doesn't make a difference, but regardless, I discovered
- to my dismay that I couldn't second guess it. so. Its good coding practice
- anyway.
-
-
- Each and every one of them.
-
- ./doc/Makefile
- ./conf/Makefile
- ./batch/Makefile
- ./contrib/nntpmail/mailing_lists/appendfile/Makefile
- ./expire/Makefile
- ./h/Makefile
- ./hfake/Makefile
- ./input/Makefile
- ./libbig/Makefile
- ./libbsd42/Makefile
- ./libc/Makefile
- ./libcnews/Makefile
- ./libfake/Makefile
- ./libsmall/Makefile
- ./libstdio/Makefile
- ./libusg/Makefile
- ./libv7/Makefile
- ./libv8/Makefile
- ./dbz/Makefile
- ./man/Makefile
- ./misc/Makefile
-
- You MUST work through this list, and make sure that the leading <SPACES> are
- all changed to <TABS>. Thats right. Don't complain. Just do it :-).
- Thats in a case like the following;
- This example is the cnews/batch Makefile, cut down for example only;
-
-
- PGMS=batcher batchih batchsm batchsplit comp compcun nocomp viainews viauux \
- sendbatches compc7 c7encode viamail viapmail bencode compb viauuxz \
- viaemail viarsh viauuxl viauuxcun batchcheck batchra vianowhere \
- comp12
- ^^^^^^^^
- This is made up of spaces, it MUST be <TABS>
-
- BP = batchparms.eg
- ALL = $(PGMS) $(BP)
-
- all: $(ALL)
- chmod +x $(PGMS)
- ^^^^^^^^^
- and here and all the rest.......... enjoy.
-
- batcher: batcher.o $(LIBS)
- $(CC) $(CFLAGS) $(LDFLAGS) batcher.o $(PRE) $(LIBS) $(POST) -o $@
- ^^^^^^^^
- and here to... keep going, there is thousands.
-
-
- You can do it a little quicker with a search/replace,
- in vi,
- eg;
- 1,$s/ / /
- ^^^^^^^^^ ^
- 8 spaces 1 tab
-
- ============================== ok, Makefiles are fixed. Not ready yet..
- Now, another Important - it won't work yet - fix.
- Copy cnews/conf/subst to subst.orig.
- Modify the subst file to look like the lines in the following diff output.
- The 'new' file looks like the first line in each case.
-
- diff subst subst.orig
-
- 19 c 19
- < them="`sed -e '/^#/d' -e 's/^\([^ ]*\) *\([^ ]*\)$/s#@<\1>@#\2#g/' $substs`"
- ---
- > them="`sed '/^#/d; s/^\\([^ ]*\\) *\\([^ ]*\\)$/s#@<\\1>@#\\2#g/' $substs`"
- 27,28 c 27,28
- < file="`expr "$f" : '.*/\([^/]*\)'`"
- < dir="`expr "$f" : '\(.*\)/[^/]*'`"
- ---
- > file="`expr \"$f\" : '.*/\\([^/]*\\)'`"
- > dir="`expr \"$f\" : '\\(.*\\)/[^/]*'`"
- 63 c 63
- < #just a reminder
- ---
- >
- 67,72 c 67,72
- < h
- < n
- < g
- < s/.*=()<//
- < s/>()=.*//
- < $them
- ---
- > h
- > n
- > g
- > s/.*=()<//
- > s/>()=.*//
- > $them
-
-
- Now there is a few files to fix.
- The first is include/libc.h
- Comment out the umask(), bit like this, the first line is the original,
- and the second line is the new one.
- On both lines 24 and 33.
-
- libc.h
- 24 c 24
- < extern int link(char *, char *), mkdir(char *, int), umask(int), unlink(char *);
- ---
- > extern int link(char *, char *), mkdir(char *, int), /*umask(int),*/ unlink(char *);
- 33 c 33
- < extern int access(), chown(), fork(), link(), mkdir(), umask(), unlink(), wait();
- ---
- > extern int access(), chown(), fork(), link(), mkdir(),/* umask(),*/ unlink(), wait();
-
-
- The Next file........
- In the cnews/libc/Makefile, it defines YACC=/......bison
- Remove that, and change to
- YACC=yacc
- Ignore the errors that it will then generate??? It seems to work anyway. who
- knows.
-
-
- Next one ===============
- In cnews/libc/closeall.c
-
- ===================================
- #include <sys/param.h>
-
- #define NOFILE 100 <--------------
- ^^^^^^^^^^^^^^^^^^
-
- void
- closeall(leavestd)
- int leavestd;
- {
- register int i;
-
- for (i = (leavestd? 3: 0); i < NOFILE; i++)
- close(i);
- }
- ===================================
-
- One thing. If you opt to compile cnews utilities, you get an error in the
- complie for the rnews part. Its not important, and easily fixed. You'll
- know it when you see it. :-)
-
- Last thing I think. Change to cnews/conf directory, and change the
- COPTS line in Makefile from '-O' to '-O -VNOWARN'. It will make the resulting
- output even easier to read.
-
- Ok, that looks like it folks...... There may be other traps for innocent
- players, so you will just have to suck it and see.
-
-
- Ok, now the fun part.
-
- Assuming you are currently logged in as 'root', do the following.
- The prompts are shown... as #, to signify that you are root: user, not to
- show that you are single user.
-
- #./doit.root
- #
- #su bin
- $./doit.bin -i ( -i builds without installing! )
- ( or you may just do a 'doit.bin)
- $exit
- #su news ( Naturally, you must have a user 'news')
- $./doit.news
- $exit
- #./again.root
-
-
- If you are happy with the outcome... ta da... now you have lots of configuring
- to do.
-
- HOWEVER... you will most likely strike problems with some of the code. I
- have fixed my sources here, so if it gives error messages in particular files,
- let me know and I'll see if I can help.
- Some are a result of the differences in shell script commands, some in sed
- and so on. Nothing major though, so don't spit the dummy.
-
- SUGGESTION: ____________ Take your time. Watch carefully what you are
- logged in as, and study the manual. Cnews is
- designed to be compiled on about 57000 different
- types of Unix... yours amongst them. enjoy.
-
-
- +++++++++++++++++ CONFIGURATION SECTION +++++++++++++++++++++
-
- Allow yourself plenty of time for this. It's not hard, but requires care
- and attention, and a couple of hours. The result is worth it.
-
- ********************** IMPORTANT NOTE *************************
- You MUST be aware that running 'build' will sometimes not create things
- just as you would like them. Be prepared to edit some things by hand.
-
- It is important here to stress this. +++++++
- You must have a user called 'root', a user called 'bin', a user called 'news'.
- You must be able to login as these users.
-
- If you need to do installation work by hand,
- run 'doit.bin -i' as bin;
- this will create the programs but won't install them.
- It is not necessary to log in as these users;
- use of 'su' suffices, but the users MUST exist.
-
- Note that the cnews install script actually gets it a wrong with perms
- in a couple of places. STUDY these permissions CAREFULLY, on each and every
- file. If you think this takes ages, take it from me, it wont take as long
- as trying to find out why the thing doesn't run later. Do it NOW.
-
- Ok, configuring things to work, lets start with the users.
- ========================================================================
- Password and group files:
- /etc/passwd
- news:*:30:30:C-NEWS System:/usr/lib/news:/bin/sh
- usenet:*:30:30:C-NEWS Administrator:/users/usenet:/bin/sh
-
- Note the similar UID/GID.
-
- /etc/groups
- news:*:30:news,usenet
- =========================================================================
-
- /usr/lib/news/news.cron. Run this when you are SURE everything is
- OK!. Please note though. It takes a day or so for things to start actually
- happening. Study the following script carefully, and you will see why.
- If you are tempted to run things by hand, make sure you do so a 'news'
- Watch out for lock, and 'stop' files, especially in user/spool/news/in.coming
- and so on.
-
- # Cron Version 3.2. Installed on Mon May 23 19:30:04 1994
- # Source was news.cron.
- 0,15,30,45 * 1-31 * 0-6 /usr/lib/newsbin/input/newsrun
- 30 8 1-31 * 1-5 /usr/lib/newsbin/input/newsrunning off
- 00 17 1-31 * 1-5 /usr/lib/newsbin/input/newsrunning on
- 40 * 1-31 * 0-6 /usr/lib/newsbin/batch/sendbatches
- 59 0 1-31 * 0-6 /usr/lib/newsbin/expire/doexpire
- 10 8 1-31 * 0-6 /usr/lib/newsbin/maint/newsdaily
- 00 5,13,21 1-31 * 0-6 /usr/lib/newsbin/maint/newswatch | mail usenet
- ========================================================================
-
- Now, after installing with the doit.xxxx files, make sure it all has perms
- and owner/groups like this.
-
- /usr/lib/newsbin
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 .
- drwxr-xr-x 12 bin bin 832 Fri May 6 06:28 ..
- -rwxr-xr-x 1 bin bin 42626 Sat Apr 23 10:21 canonhdr
- -rwxr-xr-x 1 bin bin 15620 Sat Apr 23 10:21 ctime
- -rwxr-xr-x 1 bin bin 34164 Sat Apr 23 10:20 dbz
- -rwxr-xr-x 1 bin bin 16330 Sat Apr 23 10:20 doustat
- -rwxr-xr-x 1 bin bin 27355 Sat Apr 23 10:21 getabsdate
- -rwxr-xr-x 1 bin bin 23589 Sat Apr 23 10:21 getdate
- -rwxr-xr-x 1 bin bin 25335 Sat Apr 23 10:21 gngp
- -rwxrwxr-x 1 bin bin 9 Sat Apr 23 10:20 hostname
- -rwxr-xr-x 1 bin bin 482 Sat Apr 23 10:21 newshostname
- -rwxr-xr-x 1 bin bin 9068 Sat Apr 23 10:21 newslock
- -rwxr-xr-x 1 bin bin 346 Sat Apr 23 10:20 queuelen
- -rwxr-xr-x 1 bin bin 11342 Sat Apr 23 10:21 sizeof
- -rwxr-xr-x 1 bin bin 1259 Sat Apr 23 10:20 spacefor
-
- ./batch:
- drwxrwxr-x 2 bin bin 432 Sat Apr 23 10:20 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 766 Sat Apr 23 10:20 batchcheck
- -rwxr-xr-x 1 bin bin 22513 Sat Apr 23 10:20 batcher
- -rwxr-xr-x 1 bin bin 425 Sat Apr 23 10:20 batchih
- -rwxr-xr-x 1 bin bin 810 Sat Apr 23 10:20 batchra
- -rwxr-xr-x 1 bin bin 574 Sat Apr 23 10:20 batchsm
- -rwxr-xr-x 1 bin bin 4795 Sat Apr 23 10:20 batchsplit
- -rwxr-xr-x 1 bin bin 12786 Sat Apr 23 10:20 bencode
- -rwxr-xr-x 1 bin bin 6982 Sat Apr 23 10:20 c7encode
- -rwxr-xr-x 1 bin bin 160 Sat Apr 23 10:20 comp
- -rwxr-xr-x 1 bin bin 166 Sat Apr 23 10:20 comp12
- -rwxr-xr-x 1 bin bin 279 Sat Apr 23 10:20 compb
- -rwxr-xr-x 1 bin bin 321 Sat Apr 23 10:20 compc7
- -rwxr-xr-x 1 bin bin 178 Sat Apr 23 10:20 compcun
- -rwxr-xr-x 1 bin bin 64 Sat Apr 23 10:20 nocomp
- -rwxr-xr-x 1 bin bin 6672 Sat Apr 23 10:20 sendbatches
- -rwxr-xr-x 1 bin bin 113 Sat Apr 23 10:20 viaemail
- -rwxr-xr-x 1 bin bin 243 Sat Apr 23 10:20 viainews
- -rwxr-xr-x 1 bin bin 113 Sat Apr 23 10:20 viamail
- -rwxr-xr-x 1 bin bin 52 Sat Apr 23 10:20 vianowhere
- -rwxr-xr-x 1 bin bin 103 Sat Apr 23 10:20 viapmail
- -rwxr-xr-x 1 bin bin 134 Sat Apr 23 10:20 viarsh
- -rwxr-xr-x 1 bin bin 315 Sat Apr 23 10:20 viauux
- -rwxr-xr-x 1 bin bin 318 Sat Apr 23 10:20 viauuxcun
- -rwxr-xr-x 1 bin bin 526 Sat Apr 23 10:20 viauuxl
- -rwxr-xr-x 1 bin bin 318 Sat Apr 23 10:20 viauuxz
-
- ./expire:
- drwxrwxr-x 2 bin bin 192 Sat Apr 23 10:21 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 1786 Sat Apr 23 10:21 doexpire
- -rwxr-xr-x 1 bin bin 64086 Sat Apr 23 10:21 expire
- -rwxr-xr-x 1 bin bin 555 Sat Apr 23 10:21 expireiflow
- -rwxr-xr-x 1 bin bin 390 Sat Apr 23 10:21 histdups
- -rwxr-xr-x 1 bin bin 23775 Sat Apr 23 10:21 histinfo
- -rwxr-xr-x 1 bin bin 20380 Sat Apr 23 10:21 histslash
- -rwxr-xr-x 1 bin bin 477 Sat Apr 23 10:21 mkadir
- -rwxr-xr-x 1 bin bin 1907 Sat Apr 23 10:21 mkhistory
- -rwxr-xr-x 1 bin bin 1292 Sat Apr 23 10:21 recovact
- -rwxr-xr-x 1 bin bin 1522 Sat Apr 23 10:21 upact
-
- ./input:
- drwxrwxr-x 2 bin bin 176 Sat Apr 23 10:21 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 19902 Sat Apr 23 10:21 bdecode
- -rwxr-xr-x 1 bin bin 10046 Sat Apr 23 10:21 c7decode
- -rwxr-xr-x 1 bin bin 1499 Sat Apr 23 10:21 cunbatch
- -rwxr-xr-x 1 bin bin 3687 Tue May 17 19:36 newsrun
- -rwxr-xr-x 1 bin bin 510 Sat Apr 23 10:21 newsrunning
- -rwsr-sr-x 1 news news 24576 Sat Apr 23 10:21 newsspool
- -rwxr-xr-x 1 bin bin 239 Sat Apr 23 10:21 recenews
- -rwxr-xr-x 1 bin bin 279 Sat Apr 23 10:21 recpnews
- -rwxr-xr-x 1 bin bin 1499 Sat Apr 23 10:21 rnews
-
- ./relay:
- drwxrwxr-x 2 bin bin 288 Tue Aug 2 18:31 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 646 Sat Apr 23 10:21 canonsys.awk
- -rwxr-xr-x 1 bin bin 1027 Sat Apr 23 10:21 chamod
- -rwxr-xr-x 1 bin bin 864 Sat Apr 23 10:21 delsendsys
- -rwxr-xr-x 1 bin bin 790 Sat Apr 23 10:21 delversion
- -rwxr-xr-x 1 bin bin 1295 Sat Apr 23 10:21 dodelayed
- -rwxr-xr-x 1 bin bin 558 Sat Apr 23 10:21 doexplode
- -rwxr-xr-x 1 bin bin 29635 Sat Apr 23 10:21 explode
- -rwxr-xr-x 1 bin bin 304 Sat Apr 23 10:21 mailnews
- -rwxr-xr-x 1 bin bin 533 Sat Apr 23 10:21 mkpdir
- -rwxr-xr-x 1 bin bin 1281 Sat Apr 23 10:21 newsreply
- -rwsr-sr-x 1 news news 81407 Sat Apr 23 10:21 relaynews
- -rwxr-xr-x 1 bin bin 274 Sat Apr 23 10:21 relayrun
- -rwxr-xr-x 1 bin bin 221 Sat Apr 23 10:21 sendnews
- -rwxr-xr-x 1 bin bin 306 Sat Apr 23 10:21 staleness
-
- ./ctl:
- drwxrwxr-x 2 bin bin 128 Tue Aug 2 18:31 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 2958 Sat Apr 23 10:21 checkgroups
- -rwxr-xr-x 1 bin bin 3518 Sat Apr 23 10:21 newgroup
- -rwxr-xr-x 1 bin bin 879 Sat Apr 23 10:21 rmgroup
- -rwxr-xr-x 1 bin bin 852 Sat Apr 23 10:21 sendsys
- -rwxr-xr-x 1 bin bin 864 Sat Apr 23 10:21 version
-
- ./maint:
- drwxrwxr-x 2 bin bin 240 Sat Apr 23 10:21 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 335 Sat Apr 23 10:21 act.to.times
- -rwxr-xr-x 1 bin bin 453 Sat Apr 23 10:21 adddirs
- -rwxr-xr-x 1 bin bin 1435 Sat Apr 23 10:21 addfeed
- -rwxr-xr-x 1 bin bin 1152 Sun May 29 08:32 addgroup
- -rwxr-xr-x 1 bin bin 2310 Sat Apr 23 10:21 addmissing
- -rwxr-xr-x 1 bin bin 1059 Sun May 29 08:38 delgroup
- -rwxr-xr-x 1 bin bin 579 Sat Apr 23 10:21 histfrom
- -rwxr-xr-x 1 bin bin 20441 Sat Apr 23 10:21 locknews
- -rwxr-xr-x 1 bin bin 617 Sat Apr 23 10:21 newsboot
- -rwxr-xr-x 1 bin bin 4242 Sat Apr 23 10:21 newsdaily
- -rwxr-xr-x 1 bin bin 312 Sat Apr 23 10:21 newsfrom
- -rwxr-xr-x 1 bin bin 737 Sat Apr 23 10:21 newshist
- -rwxr-xr-x 1 bin bin 1185 Sun Apr 24 09:21 newswatch
-
- ./inject:
- drwxrwxr-x 2 bin bin 224 Sat Apr 23 10:21 .
- drwxr-xr-x 9 bin bin 352 Sat Apr 23 10:21 ..
- -rwxr-xr-x 1 bin bin 25932 Sat Apr 23 10:21 actflag
- -rwxr-xr-x 1 bin bin 31050 Sat Apr 23 10:21 defaults
- -rwxr-xr-x 1 bin bin 4955 Sat Apr 23 10:21 defhdrs.awk
- -rwxr-xr-x 3 bin bin 3315 Sat Apr 23 10:21 inews
- -rwxr-xr-x 2 bin bin 4439 Sat Apr 23 10:21 injnews
- -rwxr-xr-x 1 bin bin 314 Sat Apr 23 19:35 lines
- -rwxr-xr-x 1 bin bin 491 Sat Apr 23 10:21 modroute
- -rwxr-xr-x 1 bin bin 4124 Sat Apr 23 19:35 pnews
- -rwxr-xr-x 1 bin bin 1785 Sat Apr 23 10:21 postnews
- -rwxr-xr-x 1 bin bin 406 Sat Apr 23 10:21 stripinvis
- -rwxr-xr-x 1 bin bin 1427 Sat Apr 23 10:21 submit.relay
- -rwxr-xr-x 1 bin bin 722 Sat Apr 23 10:21 tear
- ============================================================================
-
- Again, after installing with the doit.xxxx files, make sure it all has perms
- and owner/groups like this.
-
- /usr/lib/news
- drwxrwxr-x 5 news news 848 Sat Aug 13 11:40 .
- drwxr-xr-x 12 bin bin 832 Fri May 6 06:28 ..
- -r-------- 1 news news 0 Sat Aug 13 08:56 .lastlogin
- -rw-rw-r-- 1 news news 5008 Sat Aug 13 06:15 active
- -rw-rw-r-- 1 news news 501 Wed Aug 3 09:08 active.times
- -rw-rw-r-- 1 news news 372 Sat Aug 13 11:40 batchlog
- -rw-rw-r-- 1 news news 2278 Sat Aug 13 07:40 batchlog.o
- -rw-rw-r-- 1 news news 2268 Fri Aug 12 07:40 batchlog.oo
- -rw-rw-r-- 1 news news 2280 Thu Aug 11 07:40 batchlog.ooo
- -rw-r--r-- 1 news news 813 Sun May 1 13:42 batchparms
- -rw-r--r-- 1 news news 567 Sat Apr 23 10:23 batchparms.eg
- -rw-rw-r-- 1 news news 0 Sat Aug 13 08:18 delayed
- -rw-rw-r-- 1 news news 0 Sat Aug 13 08:10 errlog
- -rw-rw-r-- 1 news news 0 Fri Aug 12 08:10 errlog.o
- -rw-rw-r-- 1 news news 0 Thu Aug 11 08:10 errlog.oo
- -rw-rw-r-- 1 news news 0 Wed Aug 10 08:10 errlog.ooo
- -rw-r--r-- 1 news news 571 Thu Aug 4 12:29 explist
- -rw-rw-r-- 1 news news 59503 Sat Aug 13 06:15 history
- -rw-rw-r-- 1 news news 83 Sat Aug 13 06:15 history.dir
- -rw-rw-r-- 1 news news 58012 Fri Aug 12 06:15 history.o
- -rw-rw-r-- 1 news news 6212 Sat Aug 13 06:15 history.pag
- -rwxr-xr-x 3 bin bin 3315 Sat Apr 23 10:21 inews
- -rw-r--r-- 1 news news 3389 Wed May 18 22:20 keep.active
- -rw-r--r-- 1 news news 223 Sat Apr 23 13:52 keepsys
- -rw-rw-r-- 1 news news 27 Sat Apr 23 10:24 localgroups
- -rw-rw-r-- 1 news news 0 Sat Aug 13 08:10 log
- -rw-rw-r-- 1 news news 6607 Sat Aug 13 06:15 log.o
- -rw-rw-r-- 1 news news 20 Sat Apr 23 10:24 mailname
- -rw-rw-r-- 1 news news 13 Sat Apr 23 10:24 mailpaths
- -rw-r--r-- 1 news news 384 Sat Apr 23 15:11 news.cron
- -rw-r--r-- 1 news news 4600 Mon Jun 13 14:51 newsgroups
- -rw-rw-r-- 1 news news 14 Sat Apr 23 10:24 organization
- -rw-rw-r-- 1 news news 17 Sat Apr 23 10:24 postdefltgroup
- -rw-rw-r-- 1 news news 59 Sat Apr 23 10:24 readnews.ctl
- -rw-r--r-- 1 news news 565 Sat Apr 23 10:24 readnews.help
- -rw-rw-r-- 1 news news 4 Sat Apr 23 10:24 rnews.stall
- -rwsrwxr-x 1 root root 20839 Sat Apr 23 10:24 setnewsids
- -rw-r--r-- 1 news news 2742 Thu Jul 28 07:48 sys
- -rw-r--r-- 1 news news 3815 Wed May 18 21:42 temp
- -rw-r--r-- 1 news news 3469 Wed May 18 22:20 temp.1
- -rw-r--r-- 1 news news 4307 Wed May 18 22:30 temp2
- -rw-rw-r-- 1 news news 0 Sat Aug 13 05:00 watchtime
- -rw-rw-r-- 1 news news 7 Sat Apr 23 10:24 whoami
-
- ./bin:
- drwxrwxr-x 2 news news 48 Sat Apr 23 10:24 .
- drwxrwxr-x 5 news news 848 Sat Aug 13 11:40 ..
- -rwxr-xr-x 1 news news 1062 Sat Apr 23 10:24 config
-
- ./.elm:
- drwx------ 2 news news 32 Sat Apr 23 15:09 .
- drwxrwxr-x 5 news news 848 Sat Aug 13 11:40 ..
-
- ./Mail:
- drwx------ 2 news news 32 Sat Apr 23 15:09 .
- drwxrwxr-x 5 news news 848 Sat Aug 13 11:40 ..
- ============================================================================
-
-
-
- You will note<---- the directories, in.coming, out.going, out.master.
- You must have these directories.
- In out.going you have subdirectories, named after the sites you feed.
- In in.coming there is a directory called bad. It can fill up with
- splattered files. at first.
- In out.master there are only transient files stored.
- You must have control and junk as well.
-
- /usr/spool/news
- drwxr-xr-x 18 news news 320 Fri Jul 15 12:47 .
- drwxr-xr-x 20 bin bin 320 Sat Aug 6 12:50 ..
- drwxrwxrwx 2 news news 128 Sat Feb 19 21:33 .index
- drwxr-xr-x 6 news news 96 Sun May 8 10:12 alt
- drwxr-xr-x 36 news news 592 Mon Jun 27 08:47 aus
- drwxrwxr-x 3 news news 48 Fri Jul 15 12:47 biz
- drwxr-xr-x 11 news news 176 Fri Mar 11 13:33 comp
- drwxr-xr-x 2 news news 1424 Sat Aug 13 06:15 control
- -rw-rw-r-- 1 news news 41131 Sat Jun 25 06:17 fake
- drwxrwxr-x 2 news news 32 Sat Apr 23 14:16 general
- drwxr-x--- 3 news news 2544 Sat Aug 13 06:15 in.coming
- drwxr-xr-x 2 news news 16208 Sat Jul 23 00:59 junk
- drwxr-xr-x 7 news news 112 Sun Mar 20 11:02 k12
- -rwxr-xr-x 1 news news 69 Sun Apr 10 20:17 ndf
- drwxrwxr-x 3 news news 48 Sat Apr 23 14:17 news
- drwxrwxr-x 9 news news 144 Sun May 1 13:42 out.going
- drwxrwxr-x 2 news news 64 Sat Aug 13 06:15 out.master
- drwxr-xr-x 4 news news 64 Tue Mar 15 17:53 rec
- drwxrwxr-x 3 news news 48 Mon May 2 10:14 soc
- drwxrwxr-x 3 news news 48 Mon Jun 27 08:49 test
- ==============================================================
- Locations of inews, the bit that bolts it all together, all these files,
- except the man pages are actually links to the /usr/lib/newsbin/inject/inews
- file. They are all owner/group bin.
- /usr/bin/inews
- /usr/lib/news/inews
- /usr/lib/newsbin/inject/inews
- /usr/man/man1/inews
- ==================================
- Location of rnews, the bit that actually handles incoming articles, all these
- files except the man pages are links to the /usr/lib/newsbin/input/rnews
- file. They are all owner/group bin
- /usr/bin/rnews
- /usr/lib/newsbin/input/rnews
- /usr/man/man8/rnews
- ================================================================
-
- All configuration files live in /usr/lib/news. Starting with the first in the
- list. This listing is produced by lc. Two directories are produced
- by running elm as the news user. The bin directory belongs to news.
-
-
- Directories:
- .elm Mail bin
-
- Files:
- .lastlogin active active.times batchlog batchlog.o
- batchlog.oo batchlog.ooo batchparms batchparms.eg delayed
- errlog errlog.o errlog.oo errlog.ooo explist
- history history.dir history.o history.pag inews
- keep.active keepsys localgroups log log.o
- mailname mailpaths news.cron newsgroups organization
- postdefltgroup readnews.ctl readnews.help rnews.stall setnewsids
- sys temp temp.1 temp2 watchtime
- whoami
-
- ===========================================================================
- The following files are the only ones needing configuration, working
- in the basis that some files go with others, or are affected by others.
-
- Some files like active, have been chopped down in the interests of space.
-
- active: [ goes with 'newsgroups' ]
- alt.dcom.telecom 0000000146 0000000001 y
- alt.save.the.earth 0000000147 0000000001 y
- alt.sports.football.pro.sf-49ers 0000000001 0000000001 y
- alt.tv.seinfeld 0000000352 0000000349 y
- aus.acs 0000000000 0000000000 y
- aus.ads.commercial 0000000024 0000000000 y
- aus.ads.forsale 0000000739 0000000275 y
- aus.ads.forsale.computers 0000000898 0000000084 y
-
- newsgroups: [ goes with 'active' ]
- alt.dcom.telecom
- alt.save.the.earth
- alt.sports.football.pro.sf-49ers
- alt.tv.seinfeld
- aus.acs Old acs area
- aus.ads.commercial Commercialism
- aus.ads.forsale Junk for sale
- aus.ads.forsale.computers Computer bits and pieces
- aus.ads.wanted Place to sell your bits
- aus.archives Announcements of available software
-
- Note that newsgroups can have descriptions or not. Its up to you.
-
-
- ***** IMPORTNT ******
- When you have your active file ready, and hopefully matching your newsgroups
- file, you MUST change to /usr/lib/newsbin/maint, and as NEWS user, you must
- run the script 'adddirs'. Do this by typing ./adddirs.
- ******* REALLY IMPORTANT ***********
- If your directory permissions are wrong, and or file permissions are wrong,
- or if you don't actually have a user called 'news', this will really really
- really stuff up your system. It will create hundreds of news directories
- in the spool area all owned by root, which of course NOTHING else can read.
- IF---- you stuff it up, go to /usr/spool and type rm -r news, and rebuild all
- the appropriate directories by hand. Then run adddirs again as news. I know,
- adddirs is owned by bin, but you MUST run it as news.
-
- Now, chdir back to /usr/lib/news.
- -------------------------------------------------------------------------
-
- /usr/lib/news/batchlog
- This file will, or should contain lines like this. It is a dynamic file
- so doesn't need any attention.
-
- Sat Aug 13 08:40:03 1994 AST, sendbatches 423
- Sat Aug 13 08:40:06 1994 AST, sendbatches 423
-
- Sat Aug 13 09:40:03 1994 AST, sendbatches 601
- Sat Aug 13 09:40:06 1994 AST, sendbatches 601
-
- Sat Aug 13 10:40:03 1994 AST, sendbatches 703
- Sat Aug 13 10:40:06 1994 AST, sendbatches 703
-
- ================================================
- /usr/lib/news/batchparms
- If you dont send to other sites, you can comment out all this
- stuff, just leave /default/ there.
-
- # 100KB, after compress, is 10 minutes at 1200 baud
- # 20 batches is somewhat arbitrary, about 1MB per site
- # defaults: 2.11-compatible compression, transfer by uux
-
- # site size queue builder muncher sender
- # ---- ---- ----- ------- ------- ------
- /default/ 100000 20 batcher nocomp viauux
-
- # big batches for fast modem (Trailblazer etc.), simple compression
- # These are sites you are sending news batches to.
- xanadu 300000 20 batcher nocomp viauux
- cstpl1 300000 20 batcher nocomp viauux
- bunyip 300000 20 batcher nocomp viauux
- marvin 300000 20 batcher nocomp viauux
- neilbar 300000 20 batcher nocomp viauux
- noonie 300000 20 batcher nocomp viauux
- copper 300000 20 batcher nocomp viauux
-
- # sample ihave/sendme setup
- #louie.wehave 40000 20 batchih nocomp viainews
- #louie.ihave 40000 20 batchsm nocomp viainews
- #louie.sendme 40000 20 batchra nocomp vianowhere
- =============================================================
-
- /usr/lib/news/errlog, [ goes with 'history' sort of. ]
- self explanitory, and should be 0 bytes in size. Ignoe the .o .oo and .ooo
- files. Thats just archiving. remove them from .ooo down if you must.
-
- /usr/lib/news/history, [ goes with errlog, sort of. ]
- It should look something like this,
-
- <31a200$jqj@blackice.winternet.com> 775512008~-
- <1994Jul26.101436.4777@vmsmail.gov.bc.ca> 775512008~-
- <12680@fury.SDC.CS.BOEING.COM> 775512009~-
- <1994Jul26.103425.4778@vmsmail.gov.bc.ca> 775512009~-
- <Ctou1C.Hv4@crash.cts.com> 775512009~-
- <CtLBv9.Btx@inter.NL.net> 775512009~-
-
- ==============================================================
-
- /usr/lib/news/explist
- This file looks after expiring old news. Edit it to suit yourself.
-
- #
- # note that the order of lines in this file is significant
-
- # hold onto history lines 14 days, nobody gets >3 days
- /expired/ x 14 -
- /bounds/ x 0-3-14 -
-
- # override later defaults for some groups of note
- soc,rec x 1-3-14 -
-
- # big non-tech groups held long enough for a long weekend
- sci,talk,misc,alt,aus x 7 -
-
- # real noise gets thrown away fast
- news.groups x 1 -
- junk,control x 1 -
-
- # throw away some technical stuff not worth archiving
- comp.os.vms,comp.mail.maps x 2 -
-
- # default: 5 days and archive
- all x 5 -
-
- ===================================================================
- /usr/lib/news/log [ kind of goes with history, and errlog ]
- A dynamic file of course. Looks a bit like this,
-
- Aug 13 06:15:23.180 cstpl1 + <CuDKy8.2I0@lynx.riga.lv> neilbar xanadu
- Aug 13 06:15:23.250 cstpl1 + <32ffg6$58a@pinyon.libre.com> neilbar xanadu
- Aug 13 06:15:23.370 cstpl1 + <9408120255.AA28065@mailserv-D.ftp.com> neilbar xanadu
- Aug 13 06:15:23.470 cstpl1 + <9408120119.aa08069@xenitec.xenitec.on.ca> xanadu
- Aug 13 06:15:23.570 cstpl1 + <9408112340.aa12375@srv150a.sco.com> xanadu
- Aug 13 06:15:23.700 cstpl1 + <32fn19$kjp@rivendell.apana.org.au> neilbar copper xanadu
- Aug 13 06:15:23.820 cstpl1 + <1994Aug10.222058.11951@mcshub.dcss.mcmaster.ca> neilbar xanadu
- Aug 13 06:15:23.910 cstpl1 + <CuC43z.66J@telly.on.ca> neilbar xanadu
- Aug 13 06:15:24.000 cstpl1 + <oranCuE9oK.ow@netcom.com> xanadu
- Aug 13 06:15:24.120 cstpl1 + <776679143snz@peeras.demon.co.uk> neilbar xanadu
- ================================================================
- /usr/lib/news/mailname - mailpaths - organisation are text files about you,
- edit them accordingly.
- =================================================================
- /usr/lib/news/sys ************ IMPORTANT FILE ******************
- With this one, to make sure you don't send news
- BACK to the feed site, you should put the complete
- From_ address in the name part. See the entry for
- 'bunyip' in the list below. If you don't do this,
- you will end up with a HUMUNGOUS history file, as the
- system will get into an endless news loop.
- And your feed site will HATE you.
-
-
- # Only the ME line is mandatory; the others are just samples of how to do
- # things. Virtually everything will need modifying for your local feeds
- # and newsgroups.
-
- # line indicating what we are willing to receive; note local groups near end
- ME:comp,news,sci,alt,rec,misc,soc,talk,k12,aus,junk,test,biz
-
- # sample insignificant feed not using batching (for special situations only)
- # huey:news.config,to.huey/all::uux - -r -gd huey!rnews
-
- # sample of mailing newsgroups to someone (note distribution)
- # daisy:soc.women,soc.couples/all::mail daisy@duck
-
- # sample small feed using batching
- # gladstone:comp.protocols.tcp-ip,rec.aviation/all:f:
- cstpl1/cstpl1:all/all,\
- !control,!junk,!local,!misc.test:f:
-
- # sample small feed using batching
- neilbar:aus,\
- comp.protocols/all,\
- !control:f:
-
- # sample small feed using batching
- #
-
- #noonie:aus.ads.forsale,\
- # aus.ads.forsale.computers,\
- # aus.ads.wanted,\
- # aus.net.aarnet,\
- # aus.org.acs,\
- # aus.org.auug,\
- # comp.os.coherent,\
- # comp.sys.3b1,\
- # comp.sys.ncr,\
- # comp.sys.att,\
- # rec.models.scale,\
- # rec.arts.erotica/all,\
- # !control,!junk,!local:f:
-
- # Malcolm Chalmers. UUPC.
- marvin:rec.arts.movies.reviews,\
- aus.jokes,\
- aus.tv,\
- aus.ads.forsale.computers/all,\
- !control,!junk:f:
-
- #Cindy Hart. UUPC
- copper:aus.culture.china,\
- aus.ads.forsale,\
- aus.ads.forsale.computers,\
- aus.comms,\
- aus.conserve,\
- aus.net.aarnet,\
- comp.dcom.modems,\
- comp.dcom.telecom,\
- comp.mail.uucp,\
- comp.os.msdos.mail-news,\
- comp.os.coherent/all,\
- !control:f:
-
- # sample major batched feed, including assorted regional newsgroups, with
- # (unnecessary) explicit file name
- # dewey:comp,news,sci,rec,misc,soc,talk,can,ont,tor,ut,to.dewey/all:f:dewey/togo
-
- xanadu:all/all:f:
-
- # sample long-haul feed; note no regional groups, exclusion of a local
- # distribution, and exclusion of anything that passed through him under
- # another name (needed because he puts that form, not just "donald", in
- # his Path lines)
- # donald/donald.angry.duck:comp,news,sci,rec,misc,soc,talk,to.donald/all,!ut:f:
-
- bunyip/bunyip.cc.uq.oz.au:all,\
- !control,!junk,!test.misc,!misc.test,!local:f:
-
- # sample local-postings-only feed direct to major site (gets them out fast)
- # scrooge:comp,news,sci,rec,misc,soc,talk,to.scrooge/all:Lf:
-
- # sample ihave/sendme link
- # NOTE, this is uucp ihave/sendme, not related to NNTP in any way.
- # Send ihave telling louie what we have -- batcher turns the batch into a
- # giant control message and posts it to "to.louie".
- # louie.wehave/louie:comp,news,sci,rec,misc,soc,talk,!to/all:I:
- # Send the actual control messages
- # louie:to.louie/all:f:
-
- # Also, since ihave/sendme is slow, send local postings to louie without
- # waiting for ihave/sendme
- # louie:comp,news,sci,rec,misc,soc,talk,!to/all:Lf:
-
- ===========================================================================
- /usr/lib/news/whoami
-
- Well, simply put your node name in that. The name of your system, not the
- domain.
- ===========================================================================
- /etc/rc
- Put that on the end of /etc/rc
-
- # Clean up news things
- /usr/lib/newsbin/maint/newsboot
- # end of /etc/rc
- ==========================================================================
-
-
-
- Ok, that's it. Work your way through it piece by piece. A labour of love.
-
- When its running, watch /usr/lib/log, errlog and history for what's happening,
- and log in as news, and watch your mail. cnews will send strange messages
- to you telling you what is happenig, every now and then.
-
- If you need any further help, feel free to call.
- One day, when someone pays me vast sums of money to do it, I might actually
- sit down and make it an installable program, ready built... oneday...
-
- Robert.
-
- robert@chalmers.com.au
- 17/08/94 errors and ommissions, while causing grief in most cases, are
- not intentional... :-)
- =============================================================================
-
-
-