|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ R T ┃
Length: 4350 (0x10fe) Types: TextFile Names: »README«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/shar/README«
This set of tools is designed to make it easier to ship sources around. I wrote them because I do a lot of that as moderator of mod.sources, and nothing else did the job for me. This set isn't perfect, but's very close. Included are a program to find source files, a program to partition them into reasonable sizes, a program to make shell archives out of them, a program to strip mail, news, and notes headers from archives before feeding them to a shell, and a program to simulate /bin/sh for non-Unix system. The sources in this distribution are being released into the public domain; do what you want, but let your conscience be your guide. If you somehow enhance this package, please send it on to me so that others can benefit. I'll try to answer any questions or problems that come up -- send me electronic mail. To install, edit the Makefile and shar.h as necessary (see detailed list of parameters, below), then run make; doing make install will put the manpages and executables where you told it to. I don't think "make lint" will work anywhere other than a 4.[23]BSD system. If you aren't running on Unix, then you will have to write replacements for the functions in sysfuncs.c; everything else should be OK. If you don't have a Unix-like make available, you will have to write a command script or otherwise work out something with your compiler. I freely stole ideas from a number of people who have been good enough to put their stuff out on Usenet. Particular thanks to Gary Perlman and Larry Wall for giving me something nice to reverse-engineer, and Michael Mauldin for unshar. It may have been a mistake to take people's names out of the code; if I upset anyone by doing this, please let me know. There are a couple of things that could still be done, but I'm tired of working on this, and I don't need them often enough to want to come up with general solutions. Specifically: Automatically splitting up large text files; Automatically invoking uuencode when sending binaries; and Perhaps arranging for the archive to invoke uudecode. Enjoy! Richard $alz Mirror Systems 2067 Massachusetts Avenue Cambridge, MA 02140 {ihnp4, harvard!wjh12, cca, cbosgd, seismo}!mirror!rs rs%mirror.UUCP@cca rs@mirror.TMC.COM My, my, my, aren't we anal: $Header: README,v 1.7 87/03/24 18:09:04 rs Exp $ \f COMPILATION PARAMETERS ---------------------- [The Makefile is ... er ... self-documented.] CAN_POPEN If #define'd, then findsrc will do a popen() to file(1) to see if the file is executable, etc. DEF_SAVEIT This is used by unshar, and sets whether or not to save the headers by default. GETWD GETCWD PWDPOPEN PWDGETENV These are used in cwd.c to determine how to find out the current directory, which unshar sometimes needs to know. GETHOSTNAME HOST UNAME UUNAME WHOAMI There are used in host.c to determine how to find out the host name, which shar needs to know. IDX, RDX Some Unices call index/rindex strchr/strrchr. IN_SYS_DIR IN_SYS_NDIR IN_NDIR The findsrc program uses the BSD-style directory-reading routines. These routines, and the structures they use, are typically defined in one of <sys/dir.h> <sys/ndir.h> or "ndir.h", respectively. NEED_MKDIR In sysfuncs, this includes a subroutine that calls system() to do a mkdir command; otherwise mkdir() must be in your C library. NEED_GETOPT Define this if getopt is not in your C library. SYS_WAIT Define this if you have <sys/wait.h> and the vfork system call. THE_TTY This should be a "device" to open so we can read input from the user's terminal if standard input is, e.g., coming from a file. Unix systems should use the default "/dev/tty"; MS-DOS and would be "CON:" I guess? USE_MY_SHELL Used in unshar. If #define'd, then the archive is passed to my shell interpreter sub-routine. The default is to do a popen() to /bin/sh. USER_ENV The name of the environment variable that holds the user's name, which shar needs to know. typedef int *align_t This is a worst-case alignment, to get lint to shut up about malloc'd space. For ANSI C, e.g., this should be "typedef void *align_t". typedef long time_t What datatype is needed to hold a time value. typedef long off_t What datatype is needed to hold a file size.