home *** CD-ROM | disk | FTP | other *** search
- APS Gosip
- =========
-
- Gosip is a program that allows a user community to interchange lively debate,
- friendly banter, helpful insights, or anything else, by means of editing a
- globally writable (set of) file(s). Gosip itself is also a term used to stand
- for any particular file's name, a bit like the shell meta character ``*''. [1]
-
- The file 'History' gives some details on how the whole thing evolved, but the
- basic idea is that the compiled program is (hard-)linked to whatever files you
- wish to support, eg. help. Then when anyone runs 'help', the program invokes
- an editor on the file text.help while ensuring exclusive access to that file.
-
- Obviously the binaries need to be kept in a directory which is in every
- potential user's path. Here at Warwick, we have a system called 'Newwords+'
- which provides not only gosip, but quite a few other extra commands written by
- the users for the user community. It basically works by putting a
- subdirectory of the newwords+ administrator in every subscriber's path.
-
- Contents
- ========
-
- In the shar file you should find the source files edit.c main.c util.c lu.c
- history.c cat.c control.c with corresponding header files plus global.h. Dw
- is a shell script that displays changes in gosip files [3], and finally setup
- is a shell program that installs gosip files (more below).
-
- In addition, the following manual pages are supplied: allgoss.1, lu.1, dw.1,
- gosip.1. Other documentation provided: README you already know about, History
- as mentioned above and notes, which is mainly a record of changes by version
- number.
-
- Customisation
- =============
-
- You will need to alter some file and directory names and other #define's:
-
- (1) In global.h, change DATA_FILE_DIRECTORY to a directory which you [will]
- own and which can be accessed by all potential gosip users.
-
- (2) Change SECRET_DIR to something not easily guessed.
-
- (3) In main.c, function init_file_names(), change the names of history and
- last files (and lock files if used). The history and last files should
- not be edited directly by anyone: giving them unusual names in an
- unreadable directory makes this less likely to occur.
-
- (4) In setup, change the definitions of the above accordingly.
-
- (5) In control.h, you might like to specify yourself as the SUPER_USER.
- SUPER_USER is the only one who can use the -# and -@ options, which are
- used to deny or restore access to gosip (normally used when a new version
- is being installed). You might like to change DOWN_FILE as well.
-
- (6) In global.h, alter MAX_FILE_LENGTH to reflect your choice of file names.
-
- For quite a while lockf() did not work on our system. I have left in the
- previous locking code, based on lock files and flock(), which you can use if
- your lockf() is broken: add 'CFLAGS=-DLOCKF_BROKEN' to the makefile, and alter
- 'setup' so that DATA_FILE_DIRECTORY has global write permission. [2]
-
- The manual pages will need a few minor changes: you will need to alter the
- list of gosip files to specify those you choose to provide.
-
- Of course, they may be lots of portability problems. I don't know which
- system calls are specific to this version of UNIX (SunOS 4.0.1).
-
- Installation
- ============
-
- To install gosip, run "setup gosip", where gosip should be replaced with
- whatever files you wish to install. Setup will create the directory for data
- files if it doesn't already exist - note that it must be owned by you. The
- directory for data files should not be used to keep anything other than what
- gosip puts there.
-
- Problems
- ========
-
- As I've already said, I really don't know what system calls will or will not
- work on your system. I will be pleased to receive bug reports or suggestions
- for modifications mailed to 'mauhk@uk.ac.warwick'. However, since term ends
- on 1 July 1989 and I will go home then, I will not be able to reply to mail
- received after that date. I do, though, expect to come back for a day at some
- point during the summer so I will still see any mail sent.
-
- Andreas Pagel Magician, Programmer and Mathematician
- UUCP: ...!mcvax!ukc!warwick!mauhk University of Warwick
- JANET: mauhk@uk.ac.warwick Coventry
- ARPA: mauhk%cu.warwick@nss.cs.ucl.ac.uk Great Britain
-
-
- Footnotes
- =========
-
- [1] Gosip files used to be known as "the gossip files" in the manual pages
- and colloquially. When I rewrote gosip in C, I needed to compile test
- versions. Obviously I needed a name other than gossip by which to call
- the binary, so I chose gosip. From this, the current usage of gosip
- arose.
-
- [2] I'm not sure whether this will suffice. I haven't got time to test that
- aspect, since I'm running out of time in which to post the program.
-
- [3] Dw's name comes from 'dw gosip' meaning "deal with gosip". I understand
- that Bourne shell functions are not universal, so this program may be
- difficult to port to some systems.
-