home *** CD-ROM | disk | FTP | other *** search
- Subject: v19i017: A software configuration management system, Part04/33
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Axel Mahler <unido!coma!axel>
- Posting-number: Volume 19, Issue 17
- Archive-name: shape/part04
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 4 (of 33)."
- # Contents: man/man1/rcs2afs.1 man/man3/affiles.3 man/man3/aflock.3
- # man/man3/afsetops.3 man/man3/afsets.3 src/Makefile
- # src/afs/afsymtab.c src/afs/lcs.main.c src/misc/Makefile
- # src/shape/sighand.c src/vc/vadm.h src/vc/vadm_utils.c src/vc/vl.c
- # src/vc/vl.h tutorial/trouble.ms
- # Wrapped by rsalz@papaya.bbn.com on Thu Jun 1 19:26:51 1989
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'man/man1/rcs2afs.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'man/man1/rcs2afs.1'\"
- else
- echo shar: Extracting \"'man/man1/rcs2afs.1'\" \(3547 characters\)
- sed "s/^X//" >'man/man1/rcs2afs.1' <<'END_OF_FILE'
- X...
- X... Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X... and U. Pralle
- X...
- X... This software is published on an as-is basis. There is ABSOLUTELY NO
- X... WARRANTY for any part of this software to work correctly or as described
- X... in the manuals. We do not accept any liability for any kind of damage
- X... caused by use of this software, such as loss of data, time, money, or
- X... effort.
- X...
- X... Permission is granted to use, copy, modify, or distribute any part of
- X... this software as long as this is done without asking for charge, and
- X... provided that this copyright notice is retained as part of the source
- X... files. You may charge a distribution fee for the physical act of
- X... transferring a copy, and you may at your option offer warranty
- X... protection in exchange for a fee.
- X...
- X... Direct questions to: Tech. Univ. Berlin
- X... Wilfried Koch
- X... Sekr. FR 5-6
- X... Franklinstr. 28/29
- X... D-1000 Berlin 10, West Germany
- X...
- X... Tel: +49-30-314-22972
- X... E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X...
- X...
- X... $Header: rcs2afs.1[1.0] Thu Feb 23 19:01:44 1989 uli@coma published $
- X...
- X... Log for /u/shape/dist-tape/bin/rcs2afs.1[1.0]
- X... Thu Feb 23 19:01:44 1989 uli@coma published $
- X... --- empty log message ---
- X...
- X.UC
- X.TH RCS2AFS 1 rcs2afs
- X.SH NAME
- Xrcs2afs \- convert an RCS file into an AFS file
- X.SH SYNOPSIS
- X\fBrcs2afs\fR [\ \fI-hq\fR\ ]\ [\ \fI-preserve\fR\ ]\ [\ \fI-mode\fR\ mode ]\ [\ \fI-incremental\fR\ ] name\|.\|.
- X.SH DESCRIPTION
- X.PP
- X\fBrcs2afs\fR is a tool for converting an existing RCS file into an
- XAFS file. Comment leader and symbolic names are preserved. Existing busy
- Xversions are temorarily saved and restored after completion.
- X.PP
- XThe following \fIoptions\fR are recognized:
- X.IP "\fB\-h\fR"
- Xprint shorthand instructions about using \fBrcs2afs\fR.
- X.PP
- X.IP "\fB\-q\fR"
- Xquiet operation. No messages are printed on standard output. If any
- Xerror occurs during execution, \fBrcs2afs\fR assumes a fatal error
- Xand exits (sometimes ungracefully). Otherwise the user will be
- Xinformed and must confirm the continuation.
- X.PP
- X.IP "\fB\-preserve\fR"
- XCauses \fBrcs2afs\fR to preserve RCS version numbering. If this option
- Xis not given, AFS version numbering is used, especially no holes
- Xappear in version numbering.
- X.PP
- X.IP "\fB\-mode\fR mode"
- XCauses \fBrcs2afs\fR to save AFS versions with mode \fImode\fR. If this
- Xoption is not given, \fI mode \fR defaults to 644.
- X.PP
- X.IP "\fB\-incremental\fR"
- XCauses \fBrcs2afs\fR to convert only those RCS version that are
- Xnot member of its AFS counterpart. If this option is not given,
- Xthe existing AFS file will be deleted and the entire RCS file
- Xis converted. \fBThis option is currently not implemented\fR.
- X.RE
- X.SH SEE ALSO
- Xsave(1), retrv(1), vl(1), vadm(1), csh(1), chmod(1), af_intro(3),
- Xaf_archive(5)
- X.PP
- XRecommended reading: A. Mahler, A. Lampen, \fI\(lqAn Integrated
- XToolkit for Engineering Software Configurations\(rq\fR, Proceedings of
- Xthe ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical
- XSoftware Development Environments
- X.SH BUGS
- X\fBRcs2afs\fR gives up on branches in RCS files.
- X.br
- XBecause \fBrcs2afs\fR is implemented as a csh(1) script, it's execution
- Xis painfully slow. Other bugs are yet unknown. Please report any bugs
- Xto the author.
- X.SH NOTES
- XA converter for sccs archives is yet unavailable. To convert
- Xsccs archive files use first sccstorcs(8).
- X.SH AUTHOR
- XUli Pralle
- X.br
- XTechnical University Berlin
- X.sp
- X\fIUUCP:\fR uli@coma.uucp (unido!coma!uli)
- X.br
- X\fIBITNET:\fR uli@db0tui62
- END_OF_FILE
- if test 3547 -ne `wc -c <'man/man1/rcs2afs.1'`; then
- echo shar: \"'man/man1/rcs2afs.1'\" unpacked with wrong size!
- fi
- # end of 'man/man1/rcs2afs.1'
- fi
- if test -f 'man/man3/affiles.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'man/man3/affiles.3'\"
- else
- echo shar: Extracting \"'man/man3/affiles.3'\" \(3578 characters\)
- sed "s/^X//" >'man/man3/affiles.3' <<'END_OF_FILE'
- X...
- X... Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X... and U. Pralle
- X...
- X... This software is published on an as-is basis. There is ABSOLUTELY NO
- X... WARRANTY for any part of this software to work correctly or as described
- X... in the manuals. We do not accept any liability for any kind of damage
- X... caused by use of this software, such as loss of data, time, money, or
- X... effort.
- X...
- X... Permission is granted to use, copy, modify, or distribute any part of
- X... this software as long as this is done without asking for charge, and
- X... provided that this copyright notice is retained as part of the source
- X... files. You may charge a distribution fee for the physical act of
- X... transferring a copy, and you may at your option offer warranty
- X... protection in exchange for a fee.
- X...
- X... Direct questions to: Tech. Univ. Berlin
- X... Wilfried Koch
- X... Sekr. FR 5-6
- X... Franklinstr. 28/29
- X... D-1000 Berlin 10, West Germany
- X...
- X... Tel: +49-30-314-22972
- X... E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X...
- X.TH AF_FILES 3 "" \n(dy.\n(mo.\n(yr
- X.SH NAME
- Xaf_files \(em filesystem primitives for attributed software objects
- X.SH SYNOPSIS
- X\fB#include <stdio.h>
- X.br
- X#include <afs.h>
- X.sp
- Xaf_crkey (syspath, name, type, key)
- X.br
- Xchar *syspath, *name, *type;
- X.br
- XAf_key *key;
- X.sp
- XFILE *af_open (key, mode)
- X.br
- XAf_key *key;
- X.br
- Xchar *mode;
- X.sp
- Xaf_close (filedes)
- X.br
- XFILE *filedes;
- X.sp
- Xaf_link (srckey, destkey);
- X.br
- XAf_key *srckey, *destkey;
- X.sp
- Xaf_rm (key);
- X.br
- XAf_key *key;
- X.sp
- Xaf_restore (key, restoredkey)
- X.br
- XAf_key *key, *restoredkey;
- X.SH DESCRIPTION
- X\fIAf_crkey\fR creates an object key for a regular \s-1UNIX\s+1
- Xfile identified by name, type and system path.
- XIf the named \s-1UNIX\s+1 file does not exist, an empty file is created.
- XUse \fIaf_dropkey\fR to free the allocated memory associated with
- X\fIkey\fR.
- X.PP
- X\fIAf_open\fR opens the ASO pointed to by \fIkey\fR.
- XA pointer to the corresponding FILE-structure is returned.
- X\fIMode\fR has to be \(lqr[+]\(rq, \(lqw[+]\(rq or \(lqa[+]\(rq,
- Xsee \fIfopen(3)\fR for further details.
- XUpon error, \fIaf_open\fR returns NULL.
- X.PP
- X\fIAf_close\fR closes an ASO (see \fIfclose(3)\fR).
- X.PP
- X\fBNote:\fR Non-busy ASOs can only be opened with mode \(lqr\(rq.
- XIf a non-busy ASO is opened, it will be placed
- Xin a temporary file due to storage of versions as deltas.
- XThis temporary file will be removed on execution of the corresponding
- X\fIaf_close\fR.
- X.PP
- X\fIAf_link\fR ...
- X.PP
- X\fIAf_rm\fR removes the specified ASO. Multiple links to ASOs
- Xare not supported yet, so that \fIaf_rm\fR always does a physical
- Xremoval.
- XYou have to have a lock (see af_lock(3)) set on the ASO that
- Xshall be deleted by \fIaf_rm\fR.
- XASOs with the state attribute set to \fBaccessed\fR or
- X\fBfrozen\fR cannot be removed.
- XBe careful, if you keep multiple keys of one object (perhaps in different
- Xsets) \fIaf_rm\fR invalidates \fBall\fR keys of the removed object.
- X.PP
- X\Af_restore\fR is used to restore formerly saved derived ASOs
- Xinto their old location. This function cannot be applied to
- Xsource objects. \fIAf_restore\fR returns the key of the restored version
- Xin the buffer \fIrestoredkey\fR.
- X.SH SEE ALSO
- Xfopen(3), fclose(3), af_dropkey(3), af_lock(3)
- X.SH DIAGNOSTICS
- XUpon error, \-1 or a nil pointer (depending on the return type) is returned
- Xand \fIaf_errno\fR is set to the corresponding error number.
- X.SH BUGS
- X\fIAf_link\fR is not yet implemented.
- X.LP
- X\fIAf_open\fR and \fIaf_restore\fR may not be able to update the
- Xaccess date of the specified ASO. This error is ignored internally.
- X
- END_OF_FILE
- if test 3578 -ne `wc -c <'man/man3/affiles.3'`; then
- echo shar: \"'man/man3/affiles.3'\" unpacked with wrong size!
- fi
- # end of 'man/man3/affiles.3'
- fi
- if test -f 'man/man3/aflock.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'man/man3/aflock.3'\"
- else
- echo shar: Extracting \"'man/man3/aflock.3'\" \(3088 characters\)
- sed "s/^X//" >'man/man3/aflock.3' <<'END_OF_FILE'
- X...
- X... Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X... and U. Pralle
- X...
- X... This software is published on an as-is basis. There is ABSOLUTELY NO
- X... WARRANTY for any part of this software to work correctly or as described
- X... in the manuals. We do not accept any liability for any kind of damage
- X... caused by use of this software, such as loss of data, time, money, or
- X... effort.
- X...
- X... Permission is granted to use, copy, modify, or distribute any part of
- X... this software as long as this is done without asking for charge, and
- X... provided that this copyright notice is retained as part of the source
- X... files. You may charge a distribution fee for the physical act of
- X... transferring a copy, and you may at your option offer warranty
- X... protection in exchange for a fee.
- X...
- X... Direct questions to: Tech. Univ. Berlin
- X... Wilfried Koch
- X... Sekr. FR 5-6
- X... Franklinstr. 28/29
- X... D-1000 Berlin 10, West Germany
- X...
- X... Tel: +49-30-314-22972
- X... E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X...
- X.TH AF_LOCK 3 "" \n(dy.\n(mo.\n(yr
- X.SH NAME
- Xaf_lock \(em mechanism for reserving update rights in the Attribute Filesystem
- X.SH SYNOPSIS
- X\fB#include <afs.h>
- X.sp
- XAf_user *af_lock (key, locker, mode)
- X.br
- XAf_key *key;
- X.br
- XAf_user *locker;
- X.br
- Xint mode;
- X.sp
- XAf_user *af_unlock (key, mode)
- X.br
- XAf_key *key;
- X.br
- Xint mode;
- X.sp
- XAf_user *af_testlock (key, mode)
- X.br
- XAf_key *key;
- X.br
- Xint mode;
- X.br
- X.SH DESCRIPTION
- XThis manual page describes the interface to the AFS locking mechanism.
- XA lock can either be set for a whole line of development (mode
- X\fIAF_GLOBALLOCK\fR) or for a single version (mode \fIAF_VERSIONLOCK\fR).
- XLocking the busy version is equivalent to setting a global lock on
- Xa line of development.
- XA new version can only be generated (see \fIaf_saverev\fR)
- Xif the line of development was previously locked for updating.
- XOnly one user can have the update permission for a line of development.
- XThis mechanism avoids concurrent updates in one line of development.
- XAny ASO can only be removed (see \fIaf_rm\fR) if it has
- Xbeen locked previously.
- X.PP
- X\fIAf_lock\fR reserves the update permission
- Xfor the user identified by \fIlocker\fR.
- XOn successful completion a buffer identical to \fIlocker\fR is returned,
- Xa NULL pointer otherwise.
- X.PP
- X\fIAf_unlock\fR cancels a formerly established reservation of update rights.
- XOnly the \fIowner\fR or the \fIlocker\fR of an ASO (identified by the
- XAf_user structure that was given to the corresponding call of \fIaf_lock\fR)
- Xare allowed to do this.
- XOn successful completion, \fIaf_unlock\fR returns a buffer containing the
- Xidentification of the former \fIlocker\fR.
- XThis may be empty, if the ASO had not been locked.
- XUpon error, a NULL pointer is returned.
- X.PP
- X\fRAf_testlock\fR returns a buffer containing an identification of the
- Xcurrent locker of the specified ASO.
- XIt returns an empty buffer, if no lock is set.
- X.SH SEE ALSO
- Xaf_saverev(3)
- X.SH DIAGNOSTICS
- X\fIAf_lock\fR and \fIaf_unlock\fR return \-1 on error and \fIaf_errno\fR
- Xis set to indicate the error number.
- END_OF_FILE
- if test 3088 -ne `wc -c <'man/man3/aflock.3'`; then
- echo shar: \"'man/man3/aflock.3'\" unpacked with wrong size!
- fi
- # end of 'man/man3/aflock.3'
- fi
- if test -f 'man/man3/afsetops.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'man/man3/afsetops.3'\"
- else
- echo shar: Extracting \"'man/man3/afsetops.3'\" \(3072 characters\)
- sed "s/^X//" >'man/man3/afsetops.3' <<'END_OF_FILE'
- X...
- X... Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X... and U. Pralle
- X...
- X... This software is published on an as-is basis. There is ABSOLUTELY NO
- X... WARRANTY for any part of this software to work correctly or as described
- X... in the manuals. We do not accept any liability for any kind of damage
- X... caused by use of this software, such as loss of data, time, money, or
- X... effort.
- X...
- X... Permission is granted to use, copy, modify, or distribute any part of
- X... this software as long as this is done without asking for charge, and
- X... provided that this copyright notice is retained as part of the source
- X... files. You may charge a distribution fee for the physical act of
- X... transferring a copy, and you may at your option offer warranty
- X... protection in exchange for a fee.
- X...
- X... Direct questions to: Tech. Univ. Berlin
- X... Wilfried Koch
- X... Sekr. FR 5-6
- X... Franklinstr. 28/29
- X... D-1000 Berlin 10, West Germany
- X...
- X... Tel: +49-30-314-22972
- X... E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X...
- X.TH AF_SETOPS 3 "" \n(dy.\n(mo.\n(yr
- X.SH NAME
- Xaf_setops \(em complex operations on keysets
- X.SH SYNOPSIS
- X\fB#include <afs.h>
- X.sp
- Xaf_sortset (set1, attrname)
- X.br
- XAf_set *set1;
- X.br
- Xchar *attrname;
- X.sp
- Xaf_subset (set, attrbuf, subset)
- X.br
- XAf_set *set, subset;
- X.br
- XAf_attrs *attrbuf;
- X.sp
- Xaf_copyset (source, destination)
- X.br
- XAf_set *source, *destination;
- X.sp
- Xaf_intersect (set1, set2, newset)
- X.br
- XAf_set *set1, *set2, *newset;
- X.sp
- Xaf_union (set1, set2, newset);
- X.br
- XAf_set *set1, *set2, *newset;
- X.sp
- Xaf_diff (set1, set2, newset)
- X.br
- XAf_set *set1, *set2, *newset;
- X.SH DESCRIPTION
- X\fIAf_sortset\fR sorts a given set of object keys by the values of
- Xthe named attribute.
- XThe set is sorted in increasing order.
- XIn \fIafs.h\fR you can find a list of attribute names, that denote the
- Xstandard attributes. All other attribute names are presumed to be
- Xuser defined attributes.
- XWhile sorting by the values of an user defined attribute, all ASOs
- Xthat do not have the named attribute are added at the end of the resulting
- X(sorted) set.
- X.br
- XThe length of the given attribute name is limited. This limit is
- Xdefined by the constant \fIAF_UDANAMLEN\fR in \fIafs.h\fR.
- X.PP
- X\fIAf_subset\fR does a retrieve operation (similar to \fIaf_find(3)\fR)
- Xon a given set of object keys.
- XThe retrieve arguments are passed in \fIattrbuf\fR which should be
- Xinitialized by \fIaf_initattrs(3)\fR before.
- X.PP
- X\fIAf_copyset\fR is for copying sets (really! =:-).
- X.PP
- XWith \fIaf_intersect\fR, \fIaf_union\fR and \fIaf_diff\fR you can
- Xbuild the intersection, the union or the difference between two sets.
- X.PP
- XSets generated by \fIaf_subset, af_intersect, af_union\fR of
- X\fIaf_diff\fR should be released by \fIaf_dropset\fR as soon as they
- Xare not used any longer.
- X.SH SEE ALSO
- Xaf_retrieve (3)
- X.SH DIAGNOSTICS
- XUpon error, \-1 is returned and \fIaf_errno\fR is set to the corresponding
- Xerror number.
- X.SH BUGS
- XSorting by user defined attributes bases on a simple text comparison.
- X.PP
- XA given hostname is ignored during \fIaf_subset\fR.
- END_OF_FILE
- if test 3072 -ne `wc -c <'man/man3/afsetops.3'`; then
- echo shar: \"'man/man3/afsetops.3'\" unpacked with wrong size!
- fi
- # end of 'man/man3/afsetops.3'
- fi
- if test -f 'man/man3/afsets.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'man/man3/afsets.3'\"
- else
- echo shar: Extracting \"'man/man3/afsets.3'\" \(3043 characters\)
- sed "s/^X//" >'man/man3/afsets.3' <<'END_OF_FILE'
- X...
- X... Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X... and U. Pralle
- X...
- X... This software is published on an as-is basis. There is ABSOLUTELY NO
- X... WARRANTY for any part of this software to work correctly or as described
- X... in the manuals. We do not accept any liability for any kind of damage
- X... caused by use of this software, such as loss of data, time, money, or
- X... effort.
- X...
- X... Permission is granted to use, copy, modify, or distribute any part of
- X... this software as long as this is done without asking for charge, and
- X... provided that this copyright notice is retained as part of the source
- X... files. You may charge a distribution fee for the physical act of
- X... transferring a copy, and you may at your option offer warranty
- X... protection in exchange for a fee.
- X...
- X... Direct questions to: Tech. Univ. Berlin
- X... Wilfried Koch
- X... Sekr. FR 5-6
- X... Franklinstr. 28/29
- X... D-1000 Berlin 10, West Germany
- X...
- X... Tel: +49-30-314-22972
- X... E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X...
- X.TH AF_SETS 3 "" \n(dy.\n(mo.\n(yr
- X.SH NAME
- Xaf_sets \(em simple operations on keysets
- X.SH SYNOPSIS
- X\fB#include <afs.h>
- X.sp
- Xaf_initset (set)
- X.br
- XAf_set *set;
- X.sp
- Xaf_dropset (set)
- X.br
- XAf_set *set;
- X.sp
- Xaf_nrofkeys (set)
- X.br
- XAf_set *set;
- X.sp
- Xaf_setgkey (set, position, key)
- X.br
- XAf_set *set;
- X.br
- Xint position;
- X.br
- XAf_key *key;
- X.sp
- Xaf_setaddkey (set, position, key)
- X.br
- XAf_set *set;
- X.br
- Xint position;
- X.br
- XAf_key *key;
- X.sp
- Xaf_setrmkey (set, key)
- X.br
- XAf_set *set;
- X.br
- XAf_key *key;
- X.sp
- Xaf_setposrmkey (set, position)
- X.br
- XAf_set *set;
- X.br
- Xint position;
- X.SH DESCRIPTION
- X\fIAf_initset\fR creates an empty set of filekeys.
- X.PP
- X\fIAf_dropset\fR drops the given set of files and frees all memory that
- Xhas been allocated while building the set.
- X.PP
- X\fIAf_nrofkeys\fR returns the number of keys in the given fileset.
- X.PP
- X\fIAf_setgkey\fR delivers the filekey that is stored at position
- X\fIposition\fR in the identified set.
- XThe result is passed in the buffer \fIkey\fR.
- XTypically you use \fIaf_setgkey\fR to run through a set and perform
- Xa special action on each key.
- XThe following code sequence does this job:
- X.nf
- X \fC...
- X for (i = 0; i < af_nrofkeys (&set); i++) {
- X af_setgkey (&set, i, &key);
- X /* process key */
- X ...
- X }\fR
- X.fi
- X.PP
- X\fIAf_setaddkey\fR introduces a new filekey to an existing set at the given
- Xposition.
- XThe constant \fIAF_LASTPOS\fR given as \fIposition\fR argument
- Xleads to adding the new filekey at the end of the set.
- X.PP
- X\fIAf_setrmkey (af_setposrmkey)\fR removes the given filekey (the filekey at
- Xposition \fIposition\fR) from the specified set.
- X.br
- X\fBNote:\fR Holes that are generated by deleting single keys from a set
- Xare immediately eliminated by condensing the set. This means, that
- Xthe position of any key in a set may change because of deletion of
- Xanother key.
- X.SH SEE ALSO
- Xaf_retrieve (3)
- X.SH DIAGNOSTICS
- XUpon error, \-1 or a nil pointer (depending on the return type) is returned
- Xand \fIaf_errno\fR is set to the corresponding error number.
- X
- X
- END_OF_FILE
- if test 3043 -ne `wc -c <'man/man3/afsets.3'`; then
- echo shar: \"'man/man3/afsets.3'\" unpacked with wrong size!
- fi
- # end of 'man/man3/afsets.3'
- fi
- if test -f 'src/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/Makefile'\"
- else
- echo shar: Extracting \"'src/Makefile'\" \(3517 characters\)
- sed "s/^X//" >'src/Makefile' <<'END_OF_FILE'
- X#
- X# Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X# and U. Pralle
- X#
- X# This software is published on an as-is basis. There is ABSOLUTELY NO
- X# WARRANTY for any part of this software to work correctly or as described
- X# in the manuals. We do not accept any liability for any kind of damage
- X# caused by use of this software, such as loss of data, time, money, or effort.
- X#
- X# Permission is granted to use, copy, modify, or distribute any part of
- X# this software as long as this is done without asking for charge, and
- X# provided that this copyright notice is retained as part of the source
- X# files. You may charge a distribution fee for the physical act of
- X# transferring a copy, and you may at your option offer warranty
- X# protection in exchange for a fee.
- X#
- X# Direct questions to: Tech. Univ. Berlin
- X# Wilfried Koch
- X# Sekr. FR 5-6
- X# Franklinstr. 28/29
- X# D-1000 Berlin 10, West Germany
- X#
- X# Tel: +49-30-314-22972
- X# E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X#
- X#
- X# This is the overall Makefile for the shape-toolkit !
- X#
- X# Edit this file in order to get all system dependent Macro
- X# definitions suitable for your system.
- X#
- X
- X# Define the location in your file system.
- X# BASEDIR shall be the directory where you loaded the tape.
- X# Do not modify SRCDIR, INCLUDEDIR and LIBDIR.
- XBASEDIR = /u/shape
- XSRCDIR = $(BASEDIR)/src
- XINCLUDEDIR = $(BASEDIR)/src/inc
- XLIBDIR = $(BASEDIR)/lib
- X
- X# Where and by whom shall the whole stuff be installed ?
- XINSTALDIR = /usr/local
- XINSTALLIBDIR = /usr/local/lib
- XINSTALINCDIR = /usr/local/include
- XINSTALOWNER = bin
- XINSTALGROUP = bin
- X
- X# Which kind of UNIX system do you work on ?
- X# known systems are: BSD_4_3 SUNOS_4_0 ULTRIX_2_0
- XSYSTEM = BSD_4_3
- X
- X# Does your system have a syslog facility for protocolling messages ?
- X# (-DSYSLOG works on BSD_4_3 and on SUNOS sytems, *not* on ULTRIX)
- X#
- X# Does your system support ndbm, or only dbm ?
- X# ULTRIX systems support only dbm, so that you have to define "-DOLDDBM".
- X# Together with -DOLDDBM you have to set CLIBS = -ldbm
- X
- XDEFINES = -DSYSLOG
- XCLIBS =
- X# DEFINES = -DSYSLOG -DOLDDBM
- X# CLIBS = -ldbm
- X
- X# Ready !!
- X# Now save this Makefile and run "make" to build the toolkit.
- X# If you want to install it, run "make install".
- X
- XBUCKS = $$
- X
- XCC = cc -DCFFLGS='"$(BUCKS)Flags: <$<> $(CFLAGS) $$"'
- X
- XCFLAGS = -g -D$(SYSTEM) $(DEFINES) -I$(INCLUDEDIR)
- XLDFLAGS = -s
- X
- Xxxx:
- X cd $(SRCDIR)/afs;\
- X make -f $(SRCDIR)/Makefile -f Makefile.distribution all
- X cd $(SRCDIR)/misc;\
- X make "BASE=$(BASEDIR)" "SYSTEM=$(SYSTEM)" "CONFIG=$(DEFINES)" \
- X "CLIBS=$(CLIBS)" "INSTALDIR=$(LIBDIR)" "INSTALOWNER=$(INSTALOWNER)" \
- X "INSTALGROUP=$(INSTALGROUP)" install
- X cd $(SRCDIR)/vc;\
- X make "BASE=$(BASEDIR)" "SYSTEM=$(SYSTEM)" "CONFIG=$(DEFINES)" \
- X "CLIBS=$(CLIBS)" "INSTALDIR=$(INSTALDIR)" \
- X "INSTALOWNER=$(INSTALOWNER)" "INSTALGROUP=$(INSTALGROUP)" all
- X cd $(SRCDIR)/shape;\
- X make -f $(SRCDIR)/Makefile -f Makefile.distribution all
- X
- Xinstallation:
- X cd $(SRCDIR)/afs;\
- X make -f $(SRCDIR)/Makefile -f Makefile.distribution install
- X cd $(SRCDIR)/misc;\
- X make "BASE=$(BASEDIR)" "SYSTEM=$(SYSTEM)" "CONFIG=$(DEFINES)" \
- X "CLIBS=$(CLIBS)" "INSTALDIR=$(INSTALLIBDIR)" \
- X "INSTALOWNER=$(INSTALOWNER)" \
- X "INSTALGROUP=$(INSTALGROUP)" install
- X cd $(SRCDIR)/vc;\
- X make "BASE=$(BASEDIR)" "SYSTEM=$(SYSTEM)" "CONFIG=$(DEFINES)" \
- X "CLIBS=$(CLIBS)" "INSTALDIR=$(INSTALDIR)" \
- X "INSTALOWNER=$(INSTALOWNER)" \
- X "INSTALGROUP=$(INSATLGROUP)" install
- X cd $(SRCDIR)/shape;\
- X make -f $(SRCDIR)/Makefile -f Makefile.distribution install
- X
- END_OF_FILE
- if test 3517 -ne `wc -c <'src/Makefile'`; then
- echo shar: \"'src/Makefile'\" unpacked with wrong size!
- fi
- # end of 'src/Makefile'
- fi
- if test -f 'src/afs/afsymtab.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/afs/afsymtab.c'\"
- else
- echo shar: Extracting \"'src/afs/afsymtab.c'\" \(2986 characters\)
- sed "s/^X//" >'src/afs/afsymtab.c' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X/*
- X * Shape/AFS
- X *
- X * afsymtab.c -- manage symbol table for AFS
- X *
- X * Author: Andreas Lampen, TU-Berlin (andy@coma.UUCP)
- X * (andy@db0tui62.BITNET)
- X *
- X * $Header: afsymtab.c[1.3] Wed Feb 22 16:28:20 1989 andy@coma published $
- X *
- X * EXPORT:
- X * af_entersym - add symbol to symtable
- X * af_enterhost - add hostname to symtable
- X */
- X
- X#include <stdio.h>
- X#include <string.h>
- X#ifdef SUNOS_4_0
- X#include <strings.h>
- X#endif
- X
- X#include "typeconv.h"
- X#include "afsys.h"
- X#include "afs.h"
- X#include "afarchive.h"
- X
- X#ifdef MEMDEBUG
- Xextern FILE *memprot;
- X#endif
- X
- X/*==========================================================================
- X * definition of hashtable for symbols
- X *
- X *==========================================================================*/
- X
- X/* af_symhash should be local; "EXPORT" only for debugging reasons */
- XEXPORT Af_hash af_symhash;
- X
- XEXPORT char *af_entersym (symbol)
- X char *symbol;
- X{
- X static bool hinit = FALSE; /* indicate if hashtable is yet initialized */
- X int af_fhash ();
- X char *foundsym;
- X#ifdef MEMDEBUG
- X char *retsym;
- X#endif
- X
- X if (symbol == (char *)0)
- X return (symbol);
- X
- X if (!hinit)
- X {
- X /* the reserves symbols could be added to the hashtable here */
- X /* but I don't think that it's worthwhile */
- X (void) af_hashinit (&af_symhash, AF_MAXSYMS, af_fhash);
- X hinit = TRUE;
- X }
- X
- X /* if symbol is known */
- X if ((foundsym = af_symlookup (&af_symhash, symbol, (Af_revlist *)0,
- X (Af_revlist **)0)) != (char *)0)
- X return (foundsym);
- X
- X#ifdef MEMDEBUG
- X retsym = af_hashsym (&af_symhash, symbol, (Af_revlist *)0);
- X fprintf (memprot, "SymTab (%s)\n", symbol);
- X return (retsym);
- X#else
- X return (af_hashsym (&af_symhash, symbol, (Af_revlist *)0));
- X#endif
- X}
- X
- XEXPORT char *af_enterhost (hostname)
- X char *hostname;
- X{
- X char *hostsym;
- X
- X hostsym = af_gethostname();
- X
- X if (strcmp (hostname, hostsym))
- X return (af_entersym (hostname));
- X else
- X return (hostsym);
- X}
- END_OF_FILE
- if test 2986 -ne `wc -c <'src/afs/afsymtab.c'`; then
- echo shar: \"'src/afs/afsymtab.c'\" unpacked with wrong size!
- fi
- # end of 'src/afs/afsymtab.c'
- fi
- if test -f 'src/afs/lcs.main.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/afs/lcs.main.c'\"
- else
- echo shar: Extracting \"'src/afs/lcs.main.c'\" \(3187 characters\)
- sed "s/^X//" >'src/afs/lcs.main.c' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X/* ================================================== */
- X/* ================================================== */
- X/* */
- X/* MODULE-NAME: main KEY : ma */
- X/* */
- X/* ORIGINAL */
- X/* AUTHOR : sibylle DATE: 06/05/87 */
- X/* */
- X/* LAST UPDATE */
- X/* AUTHOR : DATE: */
- X/* */
- X/* VERSION: 1.3 */
- X/* */
- X/* ================================================== */
- X/* */
- X/* PURPOSE: */
- X/* Prozeduraufruf */
- X/* */
- X/* SPECIALITIES: */
- X/* Aufruf erfolgt nicht mehr ueber */
- X/* main; */
- X/* Aufrufparameter sind Strings */
- X/* statt Files */
- X/* */
- X/* EXCEPTIONS, ERRORS: */
- X/* */
- X/* ================================================== */
- X/* */
- X/*
- X * $Header: lcs.main.c[1.0] Wed Feb 22 16:14:28 1989 shape@coma save $
- X */
- X
- X# include "predef.h"
- X# include <stdio.h>
- X# include <sys/types.h>
- X
- Xextern Bool cd_init_delta();
- Xextern Bool cd_comp_delta();
- X
- XEXPORT lcs (sourcestr, targetstr, sourcesz, targetsz, deltafn)
- X char *sourcestr, *targetstr;
- X long sourcesz, targetsz;
- X char *deltafn;
- X{
- X if (cd_init_delta(sourcestr, targetstr, sourcesz, targetsz))
- X {
- X if (cd_comp_delta(deltafn))
- X return(0);
- X else
- X return (-1);
- X }
- X else
- X return (-1);
- X}
- X
- X
- X
- X
- X
- X
- X
- X
- END_OF_FILE
- if test 3187 -ne `wc -c <'src/afs/lcs.main.c'`; then
- echo shar: \"'src/afs/lcs.main.c'\" unpacked with wrong size!
- fi
- # end of 'src/afs/lcs.main.c'
- fi
- if test -f 'src/misc/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/misc/Makefile'\"
- else
- echo shar: Extracting \"'src/misc/Makefile'\" \(3539 characters\)
- sed "s/^X//" >'src/misc/Makefile' <<'END_OF_FILE'
- X#
- X# Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X# and U. Pralle
- X#
- X# This software is published on an as-is basis. There is ABSOLUTELY NO
- X# WARRANTY for any part of this software to work correctly or as described
- X# in the manuals. We do not accept any liability for any kind of damage
- X# caused by use of this software, such as loss of data, time, money, or effort.
- X#
- X# Permission is granted to use, copy, modify, or distribute any part of
- X# this software as long as this is done without asking for charge, and
- X# provided that this copyright notice is retained as part of the source
- X# files. You may charge a distribution fee for the physical act of
- X# transferring a copy, and you may at your option offer warranty
- X# protection in exchange for a fee.
- X#
- X# Direct questions to: Tech. Univ. Berlin
- X# Wilfried Koch
- X# Sekr. FR 5-6
- X# Franklinstr. 28/29
- X# D-1000 Berlin 10, West Germany
- X#
- X# Tel: +49-30-314-22972
- X# E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X#
- X#
- X# $Header: Makefile[1.1] Thu Feb 23 21:24:10 1989 axel@coma published $
- X#
- X# Log for /u/shape/dist-tape/src/misc/Makefile[1.0]
- X# Thu Feb 23 21:24:10 1989 axel@coma save $
- X# --- empty log message ---
- X# Makefile[1.1] Thu Feb 23 21:24:10 1989 axel@coma published $
- X# --- empty log message ---
- X#
- X#
- X# Makefile for Utility Library of shape & version control system
- X# (used only for porting and installing)
- X
- X#
- X# general part
- X
- X# ---> define operating system
- X# known systems are: BSD_4_3 SUNOS_4_0 ULTRIX_2_0
- XSYSTEM = BSD_4_3
- X
- X# ---> define config
- X# any combination of:
- X# -DSYSLOG -- the syslog facility shall be used for protocoling errors
- X# -DOLDDBM -- use "dbm" instead of "ndbm" (don't forget to set -ldbm)
- X#define c libraries
- X# "CLIBS = -ldbm" is necessary when compiling with -DOLDDBM
- XCONFIG =
- XCLIBS =
- X
- X# ---> define locations of sources and executables
- XBASE = /u/shape
- XSRCDIR = $(BASE)/src/misc
- XLIBDIR = $(BASE)/lib
- XINCLUDEDIR = $(BASE)/src/inc
- X
- X# define anything you like here (e.g. /usr/local)
- XINSTALDIR = $(BASE)/lib
- XINSTALOWNER = shape
- XINSTALGROUP = unib
- XBUCKS = $$
- X
- XCC = cc -DCFFLGS='"$(BUCKS)Flags: <$<> $(CFLAGS) $$"'
- X
- XCFLAGS = -g -D$(SYSTEM) $(CONFIG) -I$(INCLUDEDIR)
- XLDFLAGS = -g
- X
- X#
- X# Product definition part
- X
- XPRODUCT = libutil
- XPROGS = libutil.a
- XVERSION = utilversion
- XVERSIONPROTO = /u/shape/lib/version.c
- XINTEGRATOR = shape
- X
- X#
- X# Product definition part
- X#
- X
- XMODULES = citeattr.c \
- X ParseArgs.c \
- X pdbutil.c \
- X hash.c
- X
- XDEFINES = anames.h \
- X ParseArgs.h \
- X hash.h
- X
- XCOMPONENTS = $(MODULES) $(DEFINES)
- X
- XLIBSRC = $(MODULES)
- XLIBOBJS = ParseArgs.o pdbutil.o hash.o citeattr.o
- X
- XAFSINC = $(INCLUDEDIR)
- X
- Xall: $(PROGS)
- X
- Xlibutil.a: $(LIBOBJS) $(VERSION).o
- X ar ruv $@ $(LIBOBJS) $(VERSION).o; \
- X ranlib $@
- X
- Xclean:
- X rm -f $(LIBOBJS) $(PROGS)
- X
- Xinstall: all
- X @echo installing $(PROGS) in $(INSTALDIR); \
- X install -c -m 644 $(PROGS) $(INSTALDIR); \
- X ranlib $(INSTALDIR)/$(PROGS)
- X
- Xdepend:
- X $(CC) -M $(CFLAGS) $(MODULES) | \
- X sed -e '/\/usr\/include/d' -e 's.$(BASE).$$(BASE).g' | sort \
- X | uniq > makedep
- X echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
- X echo '$$r makedep' >>eddep
- X echo 'w' >>eddep
- X cp Makefile Makefile.bak
- X ex - Makefile < eddep
- X rm makedep eddep
- X
- X
- X# DO NOT DELETE THIS LINE
- XParseArgs.o: ./ParseArgs.h
- XParseArgs.o: ParseArgs.c
- Xciteattr.o: $(BASE)/src/inc/afs.h
- Xciteattr.o: $(BASE)/src/inc/afsapp.h
- Xciteattr.o: $(BASE)/src/inc/afsys.h
- Xciteattr.o: $(BASE)/src/inc/typeconv.h
- Xciteattr.o: ./anames.h
- Xciteattr.o: citeattr.c
- Xhash.o: ./hash.h
- Xhash.o: hash.c
- Xpdbutil.o: pdbutil.c
- END_OF_FILE
- if test 3539 -ne `wc -c <'src/misc/Makefile'`; then
- echo shar: \"'src/misc/Makefile'\" unpacked with wrong size!
- fi
- # end of 'src/misc/Makefile'
- fi
- if test -f 'src/shape/sighand.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/shape/sighand.c'\"
- else
- echo shar: Extracting \"'src/shape/sighand.c'\" \(3504 characters\)
- sed "s/^X//" >'src/shape/sighand.c' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X#ifndef lint
- Xstatic char *RCSid = "$Header: sighand.c,v 3.1 89/02/20 16:26:46 wolfgang Exp $";
- X#endif
- X#ifndef lint
- Xstatic char *ConfFlg = CFFLGS; /* should be defined from within Makefile */
- X#endif
- X/*
- X * $Log: sighand.c,v $
- X * Revision 3.1 89/02/20 16:26:46 wolfgang
- X * NET-RELEASE
- X *
- X * Revision 3.0 89/01/24 11:37:00 wolfgang
- X * New System Generation
- X *
- X * Revision 1.6 89/01/18 14:43:22 wolfgang
- X * changes for lint
- X *
- X * Revision 1.5 89/01/03 13:13:54 wolfgang
- X * changes done for lint
- X *
- X * Revision 1.4 88/12/21 15:13:02 wolfgang
- X * changes done for lint
- X *
- X * Revision 1.3 88/09/22 16:18:01 wolfgang
- X * calls of shape_cleanup() added.
- X *
- X * Revision 1.2 88/08/19 10:18:09 wolfgang
- X * This version is part of a release
- X *
- X */
- X
- X#include <signal.h>
- X#include <stdio.h>
- X#include "shape.h"
- X
- Xextern int cleanup_links();
- Xextern struct linkreg *link_reg;
- Xextern int errexit();
- X
- Xcatch_sigs () {
- X/*
- X * Setup signal handlers for various signals. Previous handlers
- X * are saved. On receipt of a signal, the
- X * original handler for this signal will be invoked after specified
- X * action has been taken.
- X */
- X#ifdef ULTRIX_2_0
- Xvoid
- X#else
- Xint
- X#endif
- Xdie1(), die2(), die3(), die4(), die5(), die6(),
- X die7(), die8(), die9(), die10(),
- X die11(), die12(), die13(), die14(), die15();
- X
- X (void) signal (SIGINT, die2);
- X (void) signal (SIGBUS, die10);
- X (void) signal (SIGSEGV, die11);
- X (void) signal (SIGFPE, die8);
- X (void) signal (SIGTERM, die15);
- X}
- X
- X#ifdef ULTRIX_2_0
- Xvoid
- X#endif
- Xdie2 () {
- X (void) signal(SIGINT,SIG_IGN);
- X errexit(23,"\0");
- X}
- X
- X#ifdef ULTRIX_2_0
- Xvoid
- X#endif
- Xdie8 () {
- X (void) signal(SIGINT,SIG_IGN);
- X fprintf(stderr, "Oh! Oh! .... this was a floating exception -- goodbye.\n");
- X af_cleanup ();
- X cleanup_links(link_reg);
- X exit (1);
- X}
- X
- X#ifdef ULTRIX_2_0
- Xvoid
- X#endif
- Xdie10 () {
- X fprintf(stderr, "Oh! Oh! .... this was a buserror -- goodbye.\n");
- X fprintf(stderr, "Dumping core.\n");
- X af_cleanup ();
- X cleanup_links(link_reg);
- X (void) kill (getpid(), SIGQUIT);
- X}
- X
- X#ifdef ULTRIX_2_0
- Xvoid
- X#endif
- Xdie11 () {
- X (void) signal(SIGINT,SIG_IGN);
- X fprintf(stderr,
- X "Oh! Oh! .... this was a segmentation violation -- goodbye.\n");
- X fprintf(stderr, "Dumping core.\n");
- X af_cleanup ();
- X cleanup_links(link_reg);
- X (void) kill (getpid(), SIGQUIT);
- X}
- X
- X#ifdef ULTRIX_2_0
- Xvoid
- X#endif
- Xdie15 () {
- X (void) signal(SIGINT,SIG_IGN);
- X af_cleanup();
- X cleanup_links(link_reg);
- X exit(1);
- X}
- X
- END_OF_FILE
- if test 3504 -ne `wc -c <'src/shape/sighand.c'`; then
- echo shar: \"'src/shape/sighand.c'\" unpacked with wrong size!
- fi
- # end of 'src/shape/sighand.c'
- fi
- if test -f 'src/vc/vadm.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/vc/vadm.h'\"
- else
- echo shar: Extracting \"'src/vc/vadm.h'\" \(2970 characters\)
- sed "s/^X//" >'src/vc/vadm.h' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X/*
- X * $Header: vadm.h[3.6] Thu Feb 23 18:14:07 1989 axel@coma published $
- X *
- X * Log for /u/shape/dist-tape/src/vc/vadm.h[3.4]
- X * Thu Feb 23 18:14:07 1989 axel@coma published $
- X * --- empty log message ---
- X * vadm.h[3.5] Thu Feb 23 18:14:07 1989 axel@coma published $
- X * --- empty log message ---
- X * vadm.h[3.6] Thu Feb 23 18:14:07 1989 axel@coma published $
- X * --- empty log message ---
- X */
- X
- X
- X/* miscellaneous */
- X#define MAIL "/usr/ucb/mail -s 'Your lock on %s was broken by %s' "
- X
- X/* options */
- X#define Vopt_help 01
- X#define Vopt_binary 02
- X#define Vopt_version 010000
- X#define Vopt_no_confirm 020000
- X#define Vopt_quiet 040000
- X
- X/* actions */
- X#define Varg_reserve 01
- X#define Varg_unreserve 02
- X#define Varg_symname 04
- X#define Varg_delete 010
- X#define Varg_promote 020
- X#define Varg_unpromote 040
- X#define Varg_change_note 0100
- X#define Varg_change_description 0200
- X#define Varg_set_note 0400
- X#define Varg_set_description 01000
- X#define Varg_lock 02000
- X#define Varg_unlock 04000
- X#define Varg_chmod 010000
- X#define Varg_chown 020000
- X#define Varg_chaut 040000
- X#define Varg_setuda 0100000
- X#define Varg_unsetuda 0200000
- X#define Varg_setattrs 0400000
- X#define Varg_setc_symbol 01000000
- X#define Varg_set_intent 02000000
- X
- X#define SetBit(x,b) ((x) |= (b))
- X#define ClearBit(x,b) ((x) &= ~(b))
- X#define IsBitSet(x,b) ((x) & (b))
- X#define IsBitCleared(x,b) !(IsBitSet((x),(b)))
- X
- X#define SetOption(b) SetBit(options, (b))
- X#define ClearOption(b) ClearBit(options, (b))
- X#define IsOptionSet(b) IsBitSet (options, (b))
- X#define IsOptionCleared(b) IsBitCleared (options, (b))
- X
- X#define SetAction(b) SetBit(actions, (b))
- X#define ClearAction(b) ClearBit(actions, (b))
- X#define IsActionSet(b) IsBitSet (actions, (b))
- X#define IsActionCleared(b) IsBitCleared (actions, (b))
- X
- Xstruct vc_vlist {
- X char from_version_set, to_version_set;
- X int from_generation;
- X int from_revision;
- X int to_generation;
- X int to_revision;
- X struct vc_vlist *next;
- X};
- X
- END_OF_FILE
- if test 2970 -ne `wc -c <'src/vc/vadm.h'`; then
- echo shar: \"'src/vc/vadm.h'\" unpacked with wrong size!
- fi
- # end of 'src/vc/vadm.h'
- fi
- if test -f 'src/vc/vadm_utils.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/vc/vadm_utils.c'\"
- else
- echo shar: Extracting \"'src/vc/vadm_utils.c'\" \(3317 characters\)
- sed "s/^X//" >'src/vc/vadm_utils.c' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X#ifndef lint
- Xstatic char *AFSid = "$Header: vadm_utils.c[3.3] Thu Feb 23 18:14:24 1989 axel@coma published $";
- X#ifdef CFFLGS
- Xstatic char *ConfFlg = CFFLGS;
- X /* should be defined from within Makefile */
- X#endif
- X#endif
- X/*
- X * Log for /u/shape/dist-tape/src/vc/vadm_utils.c[3.0]
- X * Thu Feb 23 18:14:24 1989 axel@coma published $
- X * --- empty log message ---
- X * vadm_utils.c[3.1] Thu Feb 23 18:14:24 1989 axel@coma published $
- X * --- empty log message ---
- X * vadm_utils.c[3.2] Thu Feb 23 18:14:24 1989 axel@coma save $
- X * --- empty log message ---
- X * vadm_utils.c[3.3] Thu Feb 23 18:14:24 1989 axel@coma published $
- X * --- empty log message ---
- X */
- X
- X#include <stdio.h>
- X#include <strings.h>
- X#include <afs.h>
- X
- X#include "vadm.h"
- X#include "afsapp.h"
- X#include "vadmdefs.h"
- X
- Xextern char *malloc();
- X
- X/**/
- Xint GetGenerationNumber (version)
- X char *version;
- X{
- X /*
- X * Returns the generation number (as an int) from a version specification
- X * (as a string), e.g.: 2.1 ==> 2
- X */
- X register int i;
- X char tmp[80];
- X
- X if ( (!version) || (! *version) || (*version == '.') ) return -1;
- X
- X i = 0;
- X while (*version) {
- X if (*version == '.') {
- X tmp[i] = '\0';
- X return atoi(tmp);
- X }
- X else {
- X tmp[i] = *version;
- X version++; i++;
- X }
- X }
- X return atoi(tmp);
- X}
- X
- X/**/
- Xint GetRevisionNumber (version)
- X char *version;
- X{
- X /*
- X * Returns the revision number (as an int) from a version specification
- X * (as a string), e.g.: 2.1 ==> 2
- X */
- X register int i;
- X char tmp[80];
- X register char *cp;
- X
- X if ( (!version) || (! *version) ) return -1;
- X
- X if (! (cp = rindex (version, '.'))) return -1;
- X
- X cp++;
- X
- X if (!*cp) return -1; /* version_num was: any.\0 */
- X
- X i = 0;
- X while (*cp) {
- X tmp[i] = *cp;
- X cp++; i++;
- X }
- X tmp[i] = '\0';
- X return atoi(tmp);
- X}
- X
- Xlogmsg (msg) char *msg; {
- X if (!IsOptionSet(Vopt_quiet)) {
- X fprintf (stdout, "%s\n", msg);
- X }
- X}
- X
- Xlogwng (msg) char *msg; {
- X if (!IsOptionSet(Vopt_quiet)) {
- X fprintf (stdout, "Warning: %s\n", msg);
- X }
- X}
- X
- Xlogerr (msg) char *msg; {
- X fprintf (stderr, "%s: %s\n", progname, msg);
- X}
- X
- XSfunc_t interrupt_action () { /* is executed by appropriate signal handler */
- X
- X if (ask_confirm ("\nDo you really want to quit this ?", "yes"))
- X exit (1);
- X else
- X return;
- X}
- END_OF_FILE
- if test 3317 -ne `wc -c <'src/vc/vadm_utils.c'`; then
- echo shar: \"'src/vc/vadm_utils.c'\" unpacked with wrong size!
- fi
- # end of 'src/vc/vadm_utils.c'
- fi
- if test -f 'src/vc/vl.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/vc/vl.c'\"
- else
- echo shar: Extracting \"'src/vc/vl.c'\" \(3518 characters\)
- sed "s/^X//" >'src/vc/vl.c' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X#ifndef lint
- Xstatic char *AFSid = "$Header: vl.c[3.6] Thu Feb 23 18:14:43 1989 axel@coma published $";
- X#ifdef CFFLGS
- Xstatic char *ConfFlg = CFFLGS;
- X /* should be defined from within Makefile */
- X#endif
- X#endif
- X/*
- X * Log for /u/shape/dist-tape/src/vc/vl.c[3.1]
- X * Thu Feb 23 18:14:43 1989 axel@coma published $
- X * --- empty log message ---
- X * vl.c[3.2] Thu Feb 23 18:14:43 1989 axel@coma published $
- X * --- empty log message ---
- X * vl.c[3.4] Thu Feb 23 18:14:43 1989 axel@coma published $
- X * --- empty log message ---
- X * vl.c[3.5] Thu Feb 23 18:14:43 1989 axel@coma save $
- X * --- empty log message ---
- X * vl.c[3.6] Thu Feb 23 18:14:43 1989 axel@coma published $
- X * --- empty log message ---
- X */
- X
- X#include <stdio.h>
- X#include <strings.h>
- X
- X#include "ParseArgs.h"
- X#include "vl.h"
- X
- X/*
- X * global variables
- X */
- Xchar vl_cwd[1024]; /* current working dir */
- X
- Xmain (ac, av)
- X int ac;
- X char **av;
- X{
- X register int i;
- X int newac;
- X char **newav;
- X register char *cp;
- X extern char *getwd();
- X register int retcode;
- X extern char **rearrange_args();
- X
- X retcode = 0;
- X (void)getwd (vl_cwd); /* get cur working dir */
- X
- X PutProgramName ((cp = rindex (av[0], '/')) ? ++cp : av[0]);
- X
- X CheckProgramName ((cp = rindex (av[0], '/')) ? ++cp : av[0]);
- X /* if I'm vlog set option -L */
- X
- X if (ac == 1) {
- X InitReportVersion ();
- X retcode = ReportVersionInfo ("");
- X }
- X else {
- X extern OptDesc odesc[];
- X
- X ParseArgs (ac, av, &newac, &newav, odesc);
- X
- X InitReportVersion ();
- X
- X if (!newac) {
- X if (IsOptionSet(VL_O_LOGMSG)) {
- X fprintf (stderr, "%s: Option -L requires a version name\n",
- X GetProgramName());
- X exit (1);
- X }
- X retcode = ReportVersionInfo ("");
- X }
- X else {
- X
- X /*
- X * if one argument is a directory and another argument
- X * is a file then the non local filenames must be preceeded by
- X * its pathnames on output. Also do files first and
- X * then directories, separated by a string containing the
- X * path.
- X */
- X if (a_dir_and_a_file (newac, newav)) {
- X newav = rearrange_args (newac, newav); /* first files then dirs */
- X }
- X
- X for (i = 0; i < newac; i++) {
- X retcode = ReportVersionInfo (newav[i]);
- X }
- X }
- X }
- X
- X FlushInfo();
- X exit (retcode);
- X}
- X
- X/*ARGSUSED*/
- Xhandle_R_option (o, a) char *o, *a; {
- X extern char *version();
- X
- X printf ("This is %s version %s.\n", GetProgramName(), version ());
- X printf ("AFS version %s.\n", af_version());
- X exit (0);
- X}
- END_OF_FILE
- if test 3518 -ne `wc -c <'src/vc/vl.c'`; then
- echo shar: \"'src/vc/vl.c'\" unpacked with wrong size!
- fi
- # end of 'src/vc/vl.c'
- fi
- if test -f 'src/vc/vl.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/vc/vl.h'\"
- else
- echo shar: Extracting \"'src/vc/vl.h'\" \(3371 characters\)
- sed "s/^X//" >'src/vc/vl.h' <<'END_OF_FILE'
- X/*
- X * Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X * and U. Pralle
- X *
- X * This software is published on an as-is basis. There is ABSOLUTELY NO
- X * WARRANTY for any part of this software to work correctly or as described
- X * in the manuals. We do not accept any liability for any kind of damage
- X * caused by use of this software, such as loss of data, time, money, or
- X * effort.
- X *
- X * Permission is granted to use, copy, modify, or distribute any part of
- X * this software as long as this is done without asking for charge, and
- X * provided that this copyright notice is retained as part of the source
- X * files. You may charge a distribution fee for the physical act of
- X * transferring a copy, and you may at your option offer warranty
- X * protection in exchange for a fee.
- X *
- X * Direct questions to: Tech. Univ. Berlin
- X * Wilfried Koch
- X * Sekr. FR 5-6
- X * Franklinstr. 28/29
- X * D-1000 Berlin 10, West Germany
- X *
- X * Tel: +49-30-314-22972
- X * E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X */
- X/*
- X * $Header: vl.h[3.3] Thu Feb 23 18:14:45 1989 axel@coma published $
- X *
- X * Log for /u/shape/dist-tape/src/vc/vl.h[3.1]
- X * Thu Feb 23 18:14:45 1989 axel@coma published $
- X * --- empty log message ---
- X * vl.h[3.2] Thu Feb 23 18:14:45 1989 axel@coma published $
- X * --- empty log message ---
- X * vl.h[3.3] Thu Feb 23 18:14:45 1989 axel@coma published $
- X * --- empty log message ---
- X */
- X
- X
- X#include "afsapp.h"
- X
- X#define VL_O_LONGOUTPUT 01L
- X#define VL_O_GROUPOUTPUT 02L
- X#define VL_O_VERSIONSTATE 04L
- X#define VL_O_LISTUDA 010L
- X#define VL_O_LISTUDALONG 020L
- X#define VL_O_UDAGIVEN 040L
- X#define VL_O_VERSIONNUM 0100L
- X#define VL_O_STATEGIVEN 0200L
- X#define VL_O_BEQUIET 0400L
- X#define VL_O_LOGMSG 01000L
- X#define VL_O_HISTLOG 02000L
- X#define VL_O_HISTLOGPLUS 04000L
- X#define VL_O_ALL 010000L
- X#define VL_O_AUTHOR 020000L
- X#define VL_O_OWNER 040000L
- X#define VL_O_LISTHIDDENUDAS 0100000L
- X#define VL_O_LISTHIDDEN 0200000L
- X#define VL_O_LISTBINARY 0400000L
- X#define VL_O_LASTVERS 01000000L
- X#define NO_ID -1
- X
- X/*
- X * external definition from everywhere
- X */
- Xextern char *malloc();
- X
- X/*
- X * external definitions from vlopt.c
- X */
- Xextern int IsOptionSet ();
- Xextern int IsOptionCleared ();
- Xextern int SetOption ();
- Xextern int ClearOption ();
- Xextern int Usage ();
- Xextern int LongUsage ();
- Xextern int multicol_output_is_possible ();
- X
- X/*
- X * External definitions from vlmisc.c
- X */
- Xextern char *GetVersionState();
- Xextern char *GetVersionId();
- Xextern int VinfoCleanup();
- Xextern char *GetMode();
- Xextern char *GetUserInfo();
- Xextern char *GetDate();
- Xextern int HasPathName();
- Xextern int HasExtension();
- Xextern int IsDirectory();
- Xextern int FileExists();
- Xextern int CopyUdattrs();
- Xextern int GetGenerationNumber();
- Xextern int GetRevisionNumber();
- Xextern int PutProgramName();
- Xextern char *GetProgramName();
- Xextern void PutVersionStates();
- Xextern char *GetVersionStates();
- Xextern void PutUdattrs();
- Xextern char **GetUdattrs();
- Xextern void PutVersionNumber();
- Xextern char *GetVersionNumber();
- Xextern void ScanVersionStates();
- Xextern int MatchesVersionStates();
- Xextern void PutAuthorIdentifications();
- Xextern char *GetAuthoridFromAuthor();
- Xextern void PutOnwerIdentifications();
- Xextern char *GetOwneridFromOwner();
- X/*
- X * External definitions from vldovl.c
- X */
- Xextern int ReportVersionInfo();
- Xextern void FlushInfo();
- X
- END_OF_FILE
- if test 3371 -ne `wc -c <'src/vc/vl.h'`; then
- echo shar: \"'src/vc/vl.h'\" unpacked with wrong size!
- fi
- # end of 'src/vc/vl.h'
- fi
- if test -f 'tutorial/trouble.ms' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tutorial/trouble.ms'\"
- else
- echo shar: Extracting \"'tutorial/trouble.ms'\" \(3001 characters\)
- sed "s/^X//" >'tutorial/trouble.ms' <<'END_OF_FILE'
- X.\"
- X.\" Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst,
- X.\" and U. Pralle
- X.\"
- X.\" This software is published on an as-is basis. There is ABSOLUTELY NO
- X.\" WARRANTY for any part of this software to work correctly or as described
- X.\" in the manuals. We do not accept any liability for any kind of damage
- X.\" caused by use of this software, such as loss of data, time, money, or
- X.\" effort.
- X.\"
- X.\" Permission is granted to use, copy, modify, or distribute any part of
- X.\" this software as long as this is done without asking for charge, and
- X.\" provided that this copyright notice is retained as part of the source
- X.\" files. You may charge a distribution fee for the physical act of
- X.\" transferring a copy, and you may at your option offer warranty
- X.\" protection in exchange for a fee.
- X.\"
- X.\" Direct questions to: Tech. Univ. Berlin
- X.\" Wilfried Koch
- X.\" Sekr. FR 5-6
- X.\" Franklinstr. 28/29
- X.\" D-1000 Berlin 10, West Germany
- X.\"
- X.\" Tel: +49-30-314-22972
- X.\" E-mail: shape@coma.uucp or shape@db0tui62.bitnet
- X.\"
- X.NH 1
- XTrouble shooting
- X.PP
- XRemember that the current version of the shape toolkit is a beta test
- Xrelease that surely has some bugs every here and there.
- XSo don't be too angry if you detect a malfunction and please help
- Xus to improve the shape toolkit for further releases.
- X.PP
- XIf you have trouble with the data in the AFS archives, have a
- Xlook at the program \fIafsrepair\fR that is shipped together
- Xwith the toolkit.
- XThis program checks archive files in your AFS subdirectory for
- Xinconsistencies and tries to repair them if necessary.
- X.PP
- XIf this does not help, or if your
- Xproblems concern other pieces of the shape toolkit than the object base,
- Xplease inform us by e-mail to
- X.sp
- X.nf
- X \fCshape-bugs@coma.uucp\fR or
- X \fCshape-bugs@db0tui62.bitnet\fR
- X.fi
- X.sp
- Xor by paper mail to
- X.sp
- X.nf
- X Tech. Univ. Berlin
- X Wilfried Koch
- X Sekr. FR 5-6
- X Franklinstr. 28/29
- X D-1000 Berlin 10, West Germany
- X.fi
- X.sp
- X.LP
- XYour bug report should contain
- X.IP \(bu 0.2i
- Xthe name and version of the program that caused the trouble (you
- Xget the version number by calling the appropriate program with
- Xthe option -version, eg. \fCshape -version\fR),
- X.IP \(bu
- Xthe error message,
- X.IP \(bu
- Xa short history how the bug was detected (which toolkit commands were
- Xinvolved in your work shortly before the error occurred),
- X.IP \(bu
- Xyour shapefile and \- if present \- the core file, and
- Xa short description of your working environment
- X.RE
- XWhen working with emacs-shapetools, the command \fCB\fR
- Xpops up a mail template for your bug report.
- XWe will be happy about every report on existing bugs, that helps us to
- Xmake shape a reliable tool.
- X.PP
- XIf you have any wishes or suggestions concerning the shape toolkit,
- Xdo not hesitate to send a letter to
- X.sp
- X.nf
- X \fCshape-wishes@coma.uucp\fR or
- X \fCshape-wishes@db0tui62.bitnet\fR
- X.fi
- X.sp
- XAgain, there is a command in emacs-shapetools (\fCW\fR) that pops up a
- Xmail template for sending your list of wishes to us.
- END_OF_FILE
- if test 3001 -ne `wc -c <'tutorial/trouble.ms'`; then
- echo shar: \"'tutorial/trouble.ms'\" unpacked with wrong size!
- fi
- # end of 'tutorial/trouble.ms'
- fi
- echo shar: End of archive 4 \(of 33\).
- cp /dev/null ark4isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 33 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-