rsalz@uunet.uu.net (Rich Salz) (06/02/89)
Submitted-by: Axel Mahler <unido!coma!axel> Posting-number: Volume 19, Issue 14 Archive-name: shape/part01 [ Parts of AFS will be familiar to Apollo users. This is the first time I've ever had multiple-language demonstration programs! --r$ ] The shape toolkit is a collection of programs to support software configuration management in an UNIX environment. It consists of a set of version control commands and "shape", a significantly enhanced Make-oid. Shape and the version control commands are integrated on top of AFS (Attributed File System), a dedicated version object base. The system features RCS-style version control and a configuration identification and -build process that has full access to all revisions in the object base (in contrast to make which only knows about plain files). Each object version in the object base is stored together with an arbitrary number of application defined attributes of the form "name=value". AFS also supports derived object management, i.e. it maintains a cache of multiple versions of compiled object-files (e.g. compiled c-files with different compile switches). The shape program itself is upward compatible to Make in that it can properly handle conventional Makefiles. The "Shapefile" however, uses Makefile-style dependencies as (versionless) abstract system model and employs version selection rules to dynamically bind particular version objects in the object base to the names listed in the system model. The version selection mechanism exploits AFS' ability to maintain any number of arbitrary attributes for objects in the object base. On special request, shape records an identified configuration in a configuration identification document (CID) which has the form of a completely bound Shapefile (all object-instances are explicit). This makes it particularly easy to rebuild recorded configurations. As CID's are themselves documents, they can be placed under version control, making it easy to maintain histories of entire software systems. One of the most useful features of shape is its support of various variant administration techniques. Shape makes no assumptions about the semantics of the variant notion other than having alternative (conceptually equivalent) instances of the same concept ("module"). Despite the particular semantics of a certain variant-concept, there is a small number of techniques to physically handle variants. These techniques are what shape supports. Most commonly used techniques are: - equally named files in different directories - one source file representing multiple variants that are extracted by a preprocessor using different preprocessor switches (e.g. conditional compilation) - one source file processed by different tools or different tool versions/variants (e.g. cross compilation, different coders) - combinations of the above. Shape includes a variant definition facility that allows very flexible and convenient handling of all of the above variant administration techniques. The object base abstraction presented by AFS provides uniform access to immutable revisions of data entities (files) stored in special archives, and mutable regular UNIX files. Consequently, the AFS based toolkit lives peacefully (and meaningfully!) together with standard filesystem applications (editors, compilers, formatters etc.). Cooperative work within projects is supported by a build-in status model, controlling visibility of version objects, and locking, a primitive form of "long transactions. The general concept of object attributes provides for passing information between individual tools that would otherwise be lost. This mechanism is useful for building integrated environments from a set of unrelated tools. The toolkit character of the system allows to use it via shell-commands, or to build a customized environment on top of it. As an example, we built an alternate user interface to the system using GNU-Emacs which lead to a much more comprehensive, integrated user interface. The corresponding Emacs lisp code is part of this distribution (see directory "interface"). For more sophisticated requirements, there is a complete C-language interface to AFS, on top of which all the toolkit programs are built. #! /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 1 (of 33)." # Contents: MANIFEST README README.mod bin copyrights # copyrights/COPYRIGHT copyrights/COPYRIGHT.c # copyrights/COPYRIGHT.man copyrights/COPYRIGHT.mk demo demo/AFS # demo/ENGLISH demo/ENGLISH/AFS demo/ENGLISH/components.c # demo/ENGLISH/title.c demo/FRENCH demo/FRENCH/AFS # demo/FRENCH/components.c demo/FRENCH/title.c demo/GERMAN # demo/GERMAN/AFS demo/GERMAN/components.c demo/GERMAN/title.c # interface lib lib/version.c man man/man1 man/man3 man/man5 # man/man8 papers src src/afs src/afs/af_version.c src/afs/edcmd.h # src/afs/exscr src/afsit src/config src/inc src/misc # src/misc/utilversion.c src/shape src/shape/README src/shape/attr.h # src/shape/files.h src/shape/hash.h src/shape/version.c src/vc # src/vc/version.c src/vfind src/vfind/AFS src/vfind/README # src/vfind/vfversion.c tutorial # Wrapped by rsalz@papaya.bbn.com on Thu Jun 1 19:26:46 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'MANIFEST' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'MANIFEST'\" else echo shar: Extracting \"'MANIFEST'\" \(6777 characters\) sed "s/^X//" >'MANIFEST' <<'END_OF_FILE' X File Name Archive # Description X----------------------------------------------------------- X MANIFEST 1 X README 1 X README.mod 1 X bin 1 X bin/rcs2afs 7 X copyrights 1 X copyrights/COPYRIGHT 1 X copyrights/COPYRIGHT.c 1 X copyrights/COPYRIGHT.man 1 X copyrights/COPYRIGHT.mk 1 X demo 1 X demo/AFS 1 X demo/ENGLISH 1 X demo/ENGLISH/AFS 1 X demo/ENGLISH/components.c 1 X demo/ENGLISH/title.c 1 X demo/FRENCH 1 X demo/FRENCH/AFS 1 X demo/FRENCH/components.c 1 X demo/FRENCH/title.c 1 X demo/GERMAN 1 X demo/GERMAN/AFS 1 X demo/GERMAN/components.c 1 X demo/GERMAN/title.c 1 X demo/Shapefile 2 X demo/shapedemo.c 2 X interface 1 X interface/shape-config.el 2 X interface/shapetools.el 27 X lib 1 X lib/version.c 1 X man 1 X man/man1 1 X man/man1/rcs2afs.1 4 X man/man1/retrv.1 11 X man/man1/save.1 9 X man/man1/sbmt.1 8 X man/man1/shape.1 28 X man/man1/shapetools.1 12 X man/man1/vadm.1 17 X man/man1/vcat.1 11 X man/man1/vcintro.1 22 X man/man1/vfind.1 8 X man/man1/vl.1 10 X man/man1/vlog.1 10 X man/man3 1 X man/man3/afattrs.3 3 X man/man3/affiles.3 4 X man/man3/afintro.3 17 X man/man3/aflock.3 4 X man/man3/afmisc.3 5 X man/man3/afnote.3 2 X man/man3/afperm.3 2 X man/man3/afretrieve.3 6 X man/man3/afsetops.3 4 X man/man3/afsets.3 4 X man/man3/afudattrs.3 3 X man/man3/afvariant.3 2 X man/man3/afversions.3 7 X man/man5 1 X man/man5/afarchive.5 6 X man/man8 1 X man/man8/afsrepair.8 3 X papers 1 X papers/boston.ms 31 X papers/lisbon.ms 30 X src 1 X src/Makefile 4 X src/afs 1 X src/afs/Makefile.distribution 5 X src/afs/Shapefile 7 X src/afs/af_version.c 1 X src/afs/afarchive.c 29 X src/afs/afarchive.h 6 X src/afs/afbpool.c 23 X src/afs/afcattrs.c 13 X src/afs/afcompar.c 14 X src/afs/afdelta.c 19 X src/afs/afenviron.c 16 X src/afs/affiles.c 13 X src/afs/afhash.c 20 X src/afs/afkeys.c 5 X src/afs/aflib.c 18 X src/afs/aflock.c 6 X src/afs/afretr.c 18 X src/afs/afsattrs.c 12 X src/afs/afsets.c 21 X src/afs/afsrepair.c 26 X src/afs/afsrepair.h 3 X src/afs/afstates.c 3 X src/afs/afstore.c 11 X src/afs/afsymtab.c 4 X src/afs/afsysc.c 6 X src/afs/afvers.c 15 X src/afs/bsfd.c 6 X src/afs/edcmd.h 1 X src/afs/exscr 1 X src/afs/lcs.cdlt.c 10 X src/afs/lcs.gedc.c 5 X src/afs/lcs.main.c 4 X src/afs/predef.h 2 X src/afs/suffix.h 2 X src/afs/typeconv.h 3 X src/afsit 1 X src/afsit/Makefile 2 X src/afsit/afsit.1 8 X src/afsit/rcsit.c 18 X src/config 1 X src/config/rules.sh 2 X src/inc 1 X src/inc/ParseArgs.h 3 X src/inc/afs.h 9 X src/inc/afsapp.h 3 X src/inc/afsys.h 11 X src/inc/project.h 2 X src/inc/typeconv.h 3 X src/misc 1 X src/misc/Makefile 4 X src/misc/ParseArgs.c 15 X src/misc/ParseArgs.h 2 X src/misc/anames.h 2 X src/misc/citeattr.c 16 X src/misc/hash.c 7 X src/misc/hash.h 3 X src/misc/pdbutil.c 2 X src/misc/utilversion.c 1 X src/shape 1 X src/shape/Makefile 10 X src/shape/Makefile.bsd43 3 X src/shape/Makefile.distribution 2 X src/shape/Makefile.sunos40 3 X src/shape/Makefile.ultrix20 3 X src/shape/README 1 X src/shape/Shapefile 5 X src/shape/attr.c 33 X src/shape/attr.h 1 X src/shape/error.c 32 X src/shape/files.c 24 X src/shape/files.h 1 X src/shape/hash.c 6 X src/shape/hash.h 1 X src/shape/inherit.c 9 X src/shape/macro.c 14 X src/shape/macro.h 2 X src/shape/main.c 9 X src/shape/misc.c 15 X src/shape/produce.c 25 X src/shape/rule.c 19 X src/shape/rule.h 2 X src/shape/select.c 5 X src/shape/selrule.c 13 X src/shape/selrule.h 2 X src/shape/shape.h 6 X src/shape/shape.l 9 X src/shape/shapeopt.c 13 X src/shape/sighand.c 4 X src/shape/std.c 10 X src/shape/std.h 2 X src/shape/string.c 3 X src/shape/varsec.c 9 X src/shape/varsec.h 2 X src/shape/version.c 1 X src/shape/vpath.c 5 X src/vc 1 X src/vc/Makefile 11 X src/vc/Shapefile 3 X src/vc/afsapp.h 3 X src/vc/deps 5 X src/vc/doretrv.c 19 X src/vc/dosave.c 17 X src/vc/locks.h 2 X src/vc/mkattr.c 12 X src/vc/product-definition.sh 2 X src/vc/project.c 3 X src/vc/project.h 2 X src/vc/retrv.c 15 X src/vc/retrv.h 3 X src/vc/save.c 7 X src/vc/save.h 2 X src/vc/sighand.c 8 X src/vc/typeconv.h 3 X src/vc/util.c 8 X src/vc/vadm.c 22 X src/vc/vadm.h 4 X src/vc/vadm_delete.c 5 X src/vc/vadm_gkeys.c 8 X src/vc/vadm_note.c 14 X src/vc/vadm_promote.c 10 X src/vc/vadm_reserve.c 14 X src/vc/vadm_symname.c 12 X src/vc/vadm_utils.c 4 X src/vc/vadmdefs.h 2 X src/vc/vc_call.c 7 X src/vc/vc_files.c 6 X src/vc/vc_keyboardIo.c 5 X src/vc/vc_lock.c 6 X src/vc/vc_sysdep.h 2 X src/vc/version.c 1 X src/vc/vl.c 4 X src/vc/vl.h 4 X src/vc/vldovl.c 21 X src/vc/vlmisc.c 16 X src/vc/vlopt.c 12 X src/vfind 1 X src/vfind/AFS 1 X src/vfind/README 1 X src/vfind/Shapefile 5 X src/vfind/at_misc.c 7 X src/vfind/atk.h 2 X src/vfind/vfind.c 20 X src/vfind/vfversion.c 1 X tutorial 1 X tutorial/make2shape.ms 20 X tutorial/trouble.ms 4 X tutorial/tutorial.ms 5 END_OF_FILE if test 6777 -ne `wc -c <'MANIFEST'`; then echo shar: \"'MANIFEST'\" unpacked with wrong size! fi # end of 'MANIFEST' fi if test -f 'README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'README'\" else echo shar: Extracting \"'README'\" \(10224 characters\) sed "s/^X//" >'README' <<'END_OF_FILE' XThis is README for release 1.0 of the shape toolkit. X XIt contains general information on the shape toolkit, an overview of Xits parts and a guide on how to build and install the toolkit. Please Xread the file "COPYRIGHT" (located in the directory "copyrights") Xbefore installing and using the shape toolkit on your computer. X XGeneral information: X==================== X XThe shape toolkit is a result of the UniBase project, a joint research Xand development project funded by the "Bundesministerium fuer XForschung und Technologie" (BMFT, Federal Ministry for Research and XTechnology of West Germany) under grant number ITS 8308. The project Xaimed at the development of a large scale industrial software Xproduction environment. Shape and the related version control system Xwas designed and implemented by a team at Technical University of XBerlin (TUB), one of eight institutions participating in the UniBase Xproject. X XThe shape toolkit is a collection of programs to support software Xconfiguration management in an UNIX environment. It consists of a set Xof version control commands and "shape", a significantly enhanced XMake-oid. Shape and the version control commands are integrated on top Xof AFS (Attributed File System), a dedicated version object base. The Xsystem features RCS-style version control and a configuration Xidentification and -build process that has full access to all Xrevisions in the object base (in contrast to make which only knows Xabout plain files). Each object version in the object base is stored Xtogether with an arbitrary number of application defined attributes of Xthe form "name=value". AFS also supports derived object management, Xi.e. it maintains a cache of multiple versions of compiled Xobject-files (e.g. compiled c-files with different compile switches). X XThe shape program itself is upward compatible to Make in that it can Xproperly handle conventional Makefiles. The "Shapefile" however, uses XMakefile-style dependencies as (versionless) abstract system model and Xemploys version selection rules to dynamically bind particular version Xobjects in the object base to the names listed in the system model. XThe version selection mechanism exploits AFS' ability to maintain any Xnumber of arbitrary attributes for objects in the object base. On Xspecial request, shape records an identified configuration in a Xconfiguration identification document (CID) which has the form of a Xcompletely bound Shapefile (all object-instances are explicit). This Xmakes it particularly easy to rebuild recorded configurations. As XCID's are themselves documents, they can be placed under version Xcontrol, making it easy to maintain histories of entire software Xsystems. X XOne of the most useful features of shape is its support of various Xvariant administration techniques. Shape makes no assumptions about Xthe semantics of the variant notion other than having alternative X(conceptually equivalent) instances of the same concept ("module"). XDespite the particular semantics of a certain variant-concept, there Xis a small number of techniques to physically handle variants. These Xtechniques are what shape supports. Most commonly used techniques are: X- equally named files in different directories X- one source file representing multiple variants that are X extracted by a preprocessor using different preprocessor switches X (e.g. conditional compilation) X- one source file processed by different tools or different X tool versions/variants (e.g. cross compilation, different coders) X- combinations of the above. XShape includes a variant definition facility that allows very flexible Xand convenient handling of all of the above variant administration Xtechniques. X XThe object base abstraction presented by AFS provides uniform access Xto immutable revisions of data entities (files) stored in special Xarchives, and mutable regular UNIX files. Consequently, the AFS based Xtoolkit lives peacefully (and meaningfully!) together with standard Xfilesystem applications (editors, compilers, formatters etc.). XCooperative work within projects is supported by a build-in status Xmodel, controlling visibility of version objects, and locking, a Xprimitive form of "long transactions. The general concept of object Xattributes provides for passing information between individual tools Xthat would otherwise be lost. This mechanism is useful for building Xintegrated environments from a set of unrelated tools. X XThe toolkit character of the system allows to use it via Xshell-commands, or to build a customized environment on top of it. As Xan example, we built an alternate user interface to the system using XGNU-Emacs which lead to a much more comprehensive, integrated user Xinterface. The corresponding Emacs lisp code is part of this Xdistribution (see directory "interface"). For more sophisticated Xrequirements, there is a complete C-language interface to AFS, on top Xof which all the toolkit programs are built. X XYou can find additional information on the shape toolkit in the maual Xpages, the tutorial and two conference papers enclosed in this Xdistribution. The tutorial shall help you to learn to use the toolkit Xin your development work. The two papers - one on shape and one on AFS X- deal with the concepts of the toolkit. X XProblems & Inconveniences X========================= X XThis is the first version of the shape toolkit to be released to the X"real world". We used shape in our development work for several Xmonths, but the toolkit has not been tested very exhaustively by other Xsoftware developers than us. Although it seems to run quite stable, Xthere might still be malfunctions or even severe bugs. For the (hope- Xfully very unlikely) case that a misbehavior of AFS destroys some data Xin your object base, we strongly recommend to *make backup copies* of Xthe Object bases' data (stored in a subdirectory called "AFS") Xregularly. X XAn unpleasant thing is: the current version of shape is not very fast. X"Shape" has a very complex job to do when running (much more than Xmake) and this takes a while. But - no excuses - the implementation Xof the toolkit has to be (and can be) improved in further releases. XBeside their slowness, the commands of the shape toolkit are quite Xmemory-consuming. A big "shape" job can grow to a size over 2 Mb. X XThe description of the variant mechanism in the paper "A toolkit for Xsoftware configuration engineering" is not up to date. We made some Xchanges to the variant handling since we wrote the paper. If you want Xto use shape's variant administration features you should check the Xman-page. Also the enclosed demo illustrates the use of variants. X XWorking with the shape toolkit on NFS (Network File System) is Xsometimes a bit confusing. XThe shape toolkit cannot deal with network wide user IDs. There is no Xway to tell shape that two user IDs (e.g. "andy@machine_1" and X"andy@machine_2") represent the same person. This affects the locking Xmechanism in an environment where several machines share the same Xdisk. You cannot set an update lock on a version history from one Xmachine and create new versions from another machine (unless you give Xup or break the lock). XAnother confusing effect occurs when you perform system builds from Xdifferent machines in a NFS-based environment. Accessing the X(physical) same data from different machines is treated by shape as a Xsignificant change of the compile environment. As a consequence, shape Xrecompiles your whole stuff on machine_2 even if you have valid object Xfiles created by machine_1. This is a feature and not a bug ! X XThis distribution contains the following parts: X=============================================== X README -- the file you are currently reading X COPYRIGHT -- a file containing important information about X copyright permissions and warranty issues. X This file should *not* be deleted X bin/ -- a directory designated to hold the executable X binaries. X interface/ -- a directory containing emacs-lisp files for X the emacs "shapetools" mode X man/ -- the online manuals for X man1/ -- version control commands and the "shape" command X man3/ -- the AFS interface and the shapetools mode X man5/ -- file formats of AFS archive files X man8/ -- "afsrepair", an AFS archive repair tool X papers/ -- two conceptual papers (n/troff source) about X boston.ms -- the shape toolkit X lisbon.ms -- the attributed filesystem (AFS) X tutorial/ -- A tutorial on how to work with the shape toolkit X (n/troff source) X src/ -- the sources X Makefile -- the global Makefile for the toolkit X afs/ -- the attributed filesystem (AFS) X afsit/ -- a utility to prepare files for version control X inc/ -- general include files X misc/ -- miscellaneous base modules X shape/ -- the shape program X vc/ -- the version control system X vfind/ -- a find(1) like utility that searches the filesystem X *and* AFS object bases X XInstalling the toolkit: X======================= X XThe shape toolkit can easily be installed on machines running X BSD 4.2/4.3, X SunOS 4.0 or X Ultrix 2.0/2.2 . X XFirst you have to edit the global Makefile of the toolkit (in the Xdirectory "src") and fix the macro settings according to your needs. XThe meaning of each macro is described in the Makefile. XThe macros are preset for easy installation on a BSD 4.3 system. X XWhen setting the value "-DSYSLOG" for the macro "DEFINES", you indicate Xthat you want to use the system log facility of your system for Xlogging AFS error messages. In this case you have to add a line like X> local1.err /usr/adm/AFSerrlog Xto your "/etc/syslog.conf" file. X XType "make" to build the toolkit and "make installation" to install the Xexecutable programs. The manuals and the emacs-lisp files have to Xbe installed manually. X XAll n/troff input files (except the manuals) shall be formatted by Xusing the "ms" macro package. XThe paper "lisbon.ms" has to be piped through pic before processing Xwith troff. XThe tutorial consists of several files that can be formatted by Xapplying troff to "tutorial.ms". X XIf you have any problems, feel free to contact us: X UUCP: shape@coma (from Europe: mcvax!unido!coma!shape) X (rest of the world: pyramid!tub!coma!shape) X BITNET: shape@db0tui62 X END_OF_FILE if test 10224 -ne `wc -c <'README'`; then echo shar: \"'README'\" unpacked with wrong size! fi # end of 'README' fi if test -f 'README.mod' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'README.mod'\" else echo shar: Extracting \"'README.mod'\" \(190 characters\) sed "s/^X//" >'README.mod' <<'END_OF_FILE' X Xinterface/shapetools.el X Line 679 turned CTRL/X CTRL/@ into the four-char ^X^@ X Line 743 turned CTRL/X CTRL/@ into the four-char ^X^@ X Line 840 turned CTRL/C CTRL/C into the four-char ^C^C END_OF_FILE if test 190 -ne `wc -c <'README.mod'`; then echo shar: \"'README.mod'\" unpacked with wrong size! fi # end of 'README.mod' fi if test ! -d 'bin' ; then echo shar: Creating directory \"'bin'\" mkdir 'bin' fi if test ! -d 'copyrights' ; then echo shar: Creating directory \"'copyrights'\" mkdir 'copyrights' fi if test -f 'copyrights/COPYRIGHT' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'copyrights/COPYRIGHT'\" else echo shar: Extracting \"'copyrights/COPYRIGHT'\" \(976 characters\) sed "s/^X//" >'copyrights/COPYRIGHT' <<'END_OF_FILE' XCopyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst, X and U. Pralle X XThis software is published on an as-is basis. There is ABSOLUTELY NO XWARRANTY for any part of this software to work correctly or as described Xin the manuals. We do not accept any liability for any kind of damage Xcaused by use of this software, such as loss of data, time, money, or effort. X XPermission is granted to use, copy, modify, or distribute any part of Xthis software as long as this is done without asking for charge, and Xprovided that this copyright notice is retained as part of the source Xfiles. You may charge a distribution fee for the physical act of Xtransferring a copy, and you may at your option offer warranty Xprotection in exchange for a fee. X XDirect 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 END_OF_FILE if test 976 -ne `wc -c <'copyrights/COPYRIGHT'`; then echo shar: \"'copyrights/COPYRIGHT'\" unpacked with wrong size! fi # end of 'copyrights/COPYRIGHT' fi if test -f 'copyrights/COPYRIGHT.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'copyrights/COPYRIGHT.c'\" else echo shar: Extracting \"'copyrights/COPYRIGHT.c'\" \(1056 characters\) sed "s/^X//" >'copyrights/COPYRIGHT.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 */ END_OF_FILE if test 1056 -ne `wc -c <'copyrights/COPYRIGHT.c'`; then echo shar: \"'copyrights/COPYRIGHT.c'\" unpacked with wrong size! fi # end of 'copyrights/COPYRIGHT.c' fi if test -f 'copyrights/COPYRIGHT.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'copyrights/COPYRIGHT.man'\" else echo shar: Extracting \"'copyrights/COPYRIGHT.man'\" \(1082 characters\) sed "s/^X//" >'copyrights/COPYRIGHT.man' <<'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... END_OF_FILE if test 1082 -ne `wc -c <'copyrights/COPYRIGHT.man'`; then echo shar: \"'copyrights/COPYRIGHT.man'\" unpacked with wrong size! fi # end of 'copyrights/COPYRIGHT.man' fi if test -f 'copyrights/COPYRIGHT.mk' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'copyrights/COPYRIGHT.mk'\" else echo shar: Extracting \"'copyrights/COPYRIGHT.mk'\" \(1027 characters\) sed "s/^X//" >'copyrights/COPYRIGHT.mk' <<'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# END_OF_FILE if test 1027 -ne `wc -c <'copyrights/COPYRIGHT.mk'`; then echo shar: \"'copyrights/COPYRIGHT.mk'\" unpacked with wrong size! fi # end of 'copyrights/COPYRIGHT.mk' fi if test ! -d 'demo' ; then echo shar: Creating directory \"'demo'\" mkdir 'demo' fi if test ! -d 'demo/AFS' ; then echo shar: Creating directory \"'demo/AFS'\" mkdir 'demo/AFS' fi if test ! -d 'demo/ENGLISH' ; then echo shar: Creating directory \"'demo/ENGLISH'\" mkdir 'demo/ENGLISH' fi if test ! -d 'demo/ENGLISH/AFS' ; then echo shar: Creating directory \"'demo/ENGLISH/AFS'\" mkdir 'demo/ENGLISH/AFS' fi if test -f 'demo/ENGLISH/components.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/ENGLISH/components.c'\" else echo shar: Extracting \"'demo/ENGLISH/components.c'\" \(1167 characters\) sed "s/^X//" >'demo/ENGLISH/components.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xcomponents() X{ X#ifdef DEBUG Xprintf("components with DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("Functions of the shape toolkit\n"); Xprintf("\n"); Xprintf(" - Revision Control System\n"); Xprintf(" save, Save / retrv\n"); Xprintf(" vl, vcat, vinfo, vlog, vadm\n"); Xprintf(" - Project Support\n"); Xprintf(" reserve / submit\n"); Xprintf(" accept / reject\n"); Xprintf(" - Configuration\n"); Xprintf(" shape\n"); X} END_OF_FILE if test 1167 -ne `wc -c <'demo/ENGLISH/components.c'`; then echo shar: \"'demo/ENGLISH/components.c'\" unpacked with wrong size! fi # end of 'demo/ENGLISH/components.c' fi if test -f 'demo/ENGLISH/title.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/ENGLISH/title.c'\" else echo shar: Extracting \"'demo/ENGLISH/title.c'\" \(1006 characters\) sed "s/^X//" >'demo/ENGLISH/title.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xtitle() X{ X#ifdef DEBUG Xprintf("title with DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("*********************************************\n"); Xprintf("* Tools for Configuration Management *\n"); Xprintf("*********************************************\n"); Xprintf("\n"); X X} END_OF_FILE if test 1006 -ne `wc -c <'demo/ENGLISH/title.c'`; then echo shar: \"'demo/ENGLISH/title.c'\" unpacked with wrong size! fi # end of 'demo/ENGLISH/title.c' fi if test ! -d 'demo/FRENCH' ; then echo shar: Creating directory \"'demo/FRENCH'\" mkdir 'demo/FRENCH' fi if test ! -d 'demo/FRENCH/AFS' ; then echo shar: Creating directory \"'demo/FRENCH/AFS'\" mkdir 'demo/FRENCH/AFS' fi if test -f 'demo/FRENCH/components.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/FRENCH/components.c'\" else echo shar: Extracting \"'demo/FRENCH/components.c'\" \(1174 characters\) sed "s/^X//" >'demo/FRENCH/components.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xcomponents() X{ X#ifdef DEBUG Xprintf("components avec DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("Fonctions du shape-toolkit\n"); Xprintf("\n"); Xprintf(" - Controle des versions\n"); Xprintf(" save, Save / retrv\n"); Xprintf(" vl, vcat, vinfo, vlog, vadm\n"); Xprintf(" - Soutien de projet\n"); Xprintf(" reserve / submit\n"); Xprintf(" accept / reject\n"); Xprintf(" - Composition des systeme\n"); Xprintf(" shape\n"); X} X END_OF_FILE if test 1174 -ne `wc -c <'demo/FRENCH/components.c'`; then echo shar: \"'demo/FRENCH/components.c'\" unpacked with wrong size! fi # end of 'demo/FRENCH/components.c' fi if test -f 'demo/FRENCH/title.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/FRENCH/title.c'\" else echo shar: Extracting \"'demo/FRENCH/title.c'\" \(1006 characters\) sed "s/^X//" >'demo/FRENCH/title.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xtitle() X{ X#ifdef DEBUG Xprintf("title avec DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("*********************************************\n"); Xprintf("* Outils pour la gestion des configuration *\n"); Xprintf("*********************************************\n"); Xprintf("\n"); X X} END_OF_FILE if test 1006 -ne `wc -c <'demo/FRENCH/title.c'`; then echo shar: \"'demo/FRENCH/title.c'\" unpacked with wrong size! fi # end of 'demo/FRENCH/title.c' fi if test ! -d 'demo/GERMAN' ; then echo shar: Creating directory \"'demo/GERMAN'\" mkdir 'demo/GERMAN' fi if test ! -d 'demo/GERMAN/AFS' ; then echo shar: Creating directory \"'demo/GERMAN/AFS'\" mkdir 'demo/GERMAN/AFS' fi if test -f 'demo/GERMAN/components.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/GERMAN/components.c'\" else echo shar: Extracting \"'demo/GERMAN/components.c'\" \(1167 characters\) sed "s/^X//" >'demo/GERMAN/components.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xcomponents() X{ X#ifdef DEBUG Xprintf("components mit DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("Funktionen des shape-toolkit\n"); Xprintf("\n"); Xprintf(" - Versionsverwaltung\n"); Xprintf(" save, Save / retrv\n"); Xprintf(" vl, vcat, vinfo, vlog, vadm\n"); Xprintf(" - Projektunterstuetzung\n"); Xprintf(" reserve / submit\n"); Xprintf(" accept / reject\n"); Xprintf(" - Konfigurierung\n"); Xprintf(" shape\n"); X} X END_OF_FILE if test 1167 -ne `wc -c <'demo/GERMAN/components.c'`; then echo shar: \"'demo/GERMAN/components.c'\" unpacked with wrong size! fi # end of 'demo/GERMAN/components.c' fi if test -f 'demo/GERMAN/title.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/GERMAN/title.c'\" else echo shar: Extracting \"'demo/GERMAN/title.c'\" \(1005 characters\) sed "s/^X//" >'demo/GERMAN/title.c' <<'END_OF_FILE' X/* X * Copyright (C) 1988 Technische Universitaet Berlin X * X * This is a pre-release ! 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. No responsibility or liability for any damage caused X * by using this software. X * X * No part of this software may be redistributed or used commercially by X * any means or in any form. 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 */ Xtitle() X{ X#ifdef DEBUG Xprintf("title mit DEBUG\n"); X#endif DEBUG X Xprintf("$__name$.$__type$[$__version$]\n\n"); Xprintf("\n"); Xprintf("*********************************************\n"); Xprintf("* Werkzeuge zur Konfigurationsverwaltung *\n"); Xprintf("*********************************************\n"); Xprintf("\n"); X X} END_OF_FILE if test 1005 -ne `wc -c <'demo/GERMAN/title.c'`; then echo shar: \"'demo/GERMAN/title.c'\" unpacked with wrong size! fi # end of 'demo/GERMAN/title.c' fi if test ! -d 'interface' ; then echo shar: Creating directory \"'interface'\" mkdir 'interface' fi if test ! -d 'lib' ; then echo shar: Creating directory \"'lib'\" mkdir 'lib' fi if test -f 'lib/version.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'lib/version.c'\" else echo shar: Extracting \"'lib/version.c'\" \(142 characters\) sed "s/^X//" >'lib/version.c' <<'END_OF_FILE' X/* X * Prototype version procedure X */ Xchar *$__name () { X static char ConfID[] = "$__version ($__stime by $__auuid$)"; X return ConfID; X} END_OF_FILE if test 142 -ne `wc -c <'lib/version.c'`; then echo shar: \"'lib/version.c'\" unpacked with wrong size! fi # end of 'lib/version.c' fi if test ! -d 'man' ; then echo shar: Creating directory \"'man'\" mkdir 'man' fi if test ! -d 'man/man1' ; then echo shar: Creating directory \"'man/man1'\" mkdir 'man/man1' fi if test ! -d 'man/man3' ; then echo shar: Creating directory \"'man/man3'\" mkdir 'man/man3' fi if test ! -d 'man/man5' ; then echo shar: Creating directory \"'man/man5'\" mkdir 'man/man5' fi if test ! -d 'man/man8' ; then echo shar: Creating directory \"'man/man8'\" mkdir 'man/man8' fi if test ! -d 'papers' ; then echo shar: Creating directory \"'papers'\" mkdir 'papers' fi if test ! -d 'src' ; then echo shar: Creating directory \"'src'\" mkdir 'src' fi if test ! -d 'src/afs' ; then echo shar: Creating directory \"'src/afs'\" mkdir 'src/afs' fi if test -f 'src/afs/af_version.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/afs/af_version.c'\" else echo shar: Extracting \"'src/afs/af_version.c'\" \(1171 characters\) sed "s/^X//" >'src/afs/af_version.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 */ Xchar *af_version () { X static char ConfID[] = "1.15 (Wed Feb 22 16:17:39 1989 by andy@coma)"; X return ConfID; X} END_OF_FILE if test 1171 -ne `wc -c <'src/afs/af_version.c'`; then echo shar: \"'src/afs/af_version.c'\" unpacked with wrong size! fi # end of 'src/afs/af_version.c' fi if test -f 'src/afs/edcmd.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/afs/edcmd.h'\" else echo shar: Extracting \"'src/afs/edcmd.h'\" \(1197 characters\) sed "s/^X//" >'src/afs/edcmd.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: edcmd.h[1.0] Wed Feb 22 16:14:49 1989 shape@coma save $ X */ X X#define MV 0 X#define AD 1 X Xstruct ed_cmd X{ X long cmd, length; X}; END_OF_FILE if test 1197 -ne `wc -c <'src/afs/edcmd.h'`; then echo shar: \"'src/afs/edcmd.h'\" unpacked with wrong size! fi # end of 'src/afs/edcmd.h' fi if test -f 'src/afs/exscr' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/afs/exscr'\" else echo shar: Extracting \"'src/afs/exscr'\" \(27 characters\) sed "s/^X//" >'src/afs/exscr' <<'END_OF_FILE' X1,/\* \//-1d Xs.\* /.*/. Xw! END_OF_FILE if test 27 -ne `wc -c <'src/afs/exscr'`; then echo shar: \"'src/afs/exscr'\" unpacked with wrong size! fi # end of 'src/afs/exscr' fi if test ! -d 'src/afsit' ; then echo shar: Creating directory \"'src/afsit'\" mkdir 'src/afsit' fi if test ! -d 'src/config' ; then echo shar: Creating directory \"'src/config'\" mkdir 'src/config' fi if test ! -d 'src/inc' ; then echo shar: Creating directory \"'src/inc'\" mkdir 'src/inc' fi if test ! -d 'src/misc' ; then echo shar: Creating directory \"'src/misc'\" mkdir 'src/misc' fi if test -f 'src/misc/utilversion.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/misc/utilversion.c'\" else echo shar: Extracting \"'src/misc/utilversion.c'\" \(1212 characters\) sed "s/^X//" >'src/misc/utilversion.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 * Prototype version procedure X */ Xchar *utilversion () { X static char ConfID[] = "1.11 (Thu Feb 23 21:23:21 1989 by axel@coma)"; X return ConfID; X} END_OF_FILE if test 1212 -ne `wc -c <'src/misc/utilversion.c'`; then echo shar: \"'src/misc/utilversion.c'\" unpacked with wrong size! fi # end of 'src/misc/utilversion.c' fi if test ! -d 'src/shape' ; then echo shar: Creating directory \"'src/shape'\" mkdir 'src/shape' fi if test -f 'src/shape/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/shape/README'\" else echo shar: Extracting \"'src/shape/README'\" \(539 characters\) sed "s/^X//" >'src/shape/README' <<'END_OF_FILE' XTo build shape, do the following X XChoose the appropriate Makefile: X X Makefile.bsd43 if you are running BSD4.3 X Makefile.sunos40 if you are running SUNOS 4.0 X Makefile.ultrix20 if you are running ULTRIX 2.0 X XEdit this Makefile and change the first 4 macrodefinitions Xappropriately: X X AFSLIB where the AFS library is located X UTILLIB where the utility lib is located X AFSINC where the AFS include files are located X INSTALDIR where shape is to be installed X XType `make' to build shape. XType `make install' to install shape. X XHave fun. END_OF_FILE if test 539 -ne `wc -c <'src/shape/README'`; then echo shar: \"'src/shape/README'\" unpacked with wrong size! fi # end of 'src/shape/README' fi if test -f 'src/shape/attr.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/shape/attr.h'\" else echo shar: Extracting \"'src/shape/attr.h'\" \(1266 characters\) sed "s/^X//" >'src/shape/attr.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 * $Log: attr.h,v $ X * Revision 3.0 89/01/24 11:34:50 wolfgang X * New System Generation X * X * Revision 2.1 88/08/12 08:58:05 wolfgang X * This version is part of a release X * X */ X X#define STD_ATTRS 6 END_OF_FILE if test 1266 -ne `wc -c <'src/shape/attr.h'`; then echo shar: \"'src/shape/attr.h'\" unpacked with wrong size! fi # end of 'src/shape/attr.h' fi if test -f 'src/shape/files.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/shape/files.h'\" else echo shar: Extracting \"'src/shape/files.h'\" \(1104 characters\) sed "s/^X//" >'src/shape/files.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#define ALL 0 X#define SOURCE 1 X#define BINARY 2 END_OF_FILE if test 1104 -ne `wc -c <'src/shape/files.h'`; then echo shar: \"'src/shape/files.h'\" unpacked with wrong size! fi # end of 'src/shape/files.h' fi if test -f 'src/shape/hash.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/shape/hash.h'\" else echo shar: Extracting \"'src/shape/hash.h'\" \(1300 characters\) sed "s/^X//" >'src/shape/hash.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 * $Log: hash.h,v $ X * Revision 3.0 89/01/24 11:35:44 wolfgang X * New System Generation X * X * Revision 2.1 88/08/12 08:58:07 wolfgang X * This version is part of a release X * X */ X X#define HASHSIZE 257 X Xstruct hash *hashtab[HASHSIZE]; END_OF_FILE if test 1300 -ne `wc -c <'src/shape/hash.h'`; then echo shar: \"'src/shape/hash.h'\" unpacked with wrong size! fi # end of 'src/shape/hash.h' fi if test -f 'src/shape/version.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/shape/version.c'\" else echo shar: Extracting \"'src/shape/version.c'\" \(1174 characters\) sed "s/^X//" >'src/shape/version.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 */ Xchar *version () { static char ConfID[] = "3.11 (Mon Feb 27 11:20:46 MET 1989 by wolfgang@coma )"; return ConfID; } END_OF_FILE if test 1174 -ne `wc -c <'src/shape/version.c'`; then echo shar: \"'src/shape/version.c'\" unpacked with wrong size! fi # end of 'src/shape/version.c' fi if test ! -d 'src/vc' ; then echo shar: Creating directory \"'src/vc'\" mkdir 'src/vc' fi if test -f 'src/vc/version.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/vc/version.c'\" else echo shar: Extracting \"'src/vc/version.c'\" \(1208 characters\) sed "s/^X//" >'src/vc/version.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 * Prototype version procedure X */ Xchar *version () { X static char ConfID[] = "3.31 (Wed Feb 22 16:31:32 1989 by axel@coma)"; X return ConfID; X} END_OF_FILE if test 1208 -ne `wc -c <'src/vc/version.c'`; then echo shar: \"'src/vc/version.c'\" unpacked with wrong size! fi # end of 'src/vc/version.c' fi if test ! -d 'src/vfind' ; then echo shar: Creating directory \"'src/vfind'\" mkdir 'src/vfind' fi if test ! -d 'src/vfind/AFS' ; then echo shar: Creating directory \"'src/vfind/AFS'\" mkdir 'src/vfind/AFS' fi if test -f 'src/vfind/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/vfind/README'\" else echo shar: Extracting \"'src/vfind/README'\" \(1197 characters\) sed "s/^X//" >'src/vfind/README' <<'END_OF_FILE' XThis file is README for release 1.0 of vfind, a find(1)-like program. XYou need AFS to install this package. X XThe distribution contains the following files: X X README -- this file X vfind.c -- the main program X vfversion.c -- the version number of this vfind. X at_misc.c -- AFS utilities to make life easier X atk.h -- the header file of at_misc.c X Shapefile -- the Shapefile X vfind.1 -- the manual page X AFS -- an empty AFS directory X XVfind can easily be installed on machines with X BSD 4.3 X SunOS 4.0 or X Ultrix 2.0. X XTo install this package, edit the Shapefile (i.e. change the first three Xmacro definitions: AFSINC, AFSLIBPATH, and INSTALDIR). Then type X ``shape'' Xfor BSD 4.3 systems. For SunOS 4.0 systems type X ``shape SYSTEM=sunos_4_0'' XFor Ultrix systems type X ``shape SYSTEM=ultrix_2_0'' X XThis will compile vfind with the -g option. XIf you want an optimized vfind, type X ``shape SYSTEM=<your system> QUALITY=optimize'' X XIf you have gcc (vfind compiles with gcc-1.31) you can type X ``shape SYSTEM=<your system> COMPILER=gnu QUALITY=maxoptimize'' X X XBug reports: XPlease send bug reports to the author or to shape-bugs@coma.UUCP Xor shape-bugs@db0tui62.BITNET. (See also vfind.1) X X+Uli END_OF_FILE if test 1197 -ne `wc -c <'src/vfind/README'`; then echo shar: \"'src/vfind/README'\" unpacked with wrong size! fi # end of 'src/vfind/README' fi if test -f 'src/vfind/vfversion.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/vfind/vfversion.c'\" else echo shar: Extracting \"'src/vfind/vfversion.c'\" \(1208 characters\) sed "s/^X//" >'src/vfind/vfversion.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 * Prototype version procedure X */ Xchar *vfversion () { X static char ConfID[] = "1.8 (Tue Feb 21 17:02:07 1989 by uli@coma)"; X return ConfID; X} END_OF_FILE if test 1208 -ne `wc -c <'src/vfind/vfversion.c'`; then echo shar: \"'src/vfind/vfversion.c'\" unpacked with wrong size! fi # end of 'src/vfind/vfversion.c' fi if test ! -d 'tutorial' ; then echo shar: Creating directory \"'tutorial'\" mkdir 'tutorial' fi echo shar: End of archive 1 \(of 33\). cp /dev/null ark1isdone 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 -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.