DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ R T

⟦0263fa0f9⟧ TextFile

    Length: 4350 (0x10fe)
    Types: TextFile
    Names: »README«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/shar/README« 

TextFile

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.