makedist - a distribution kit maker
makedist [ -dhqvV ] [ -c dir ] [ -s size ] [-f manifest ]
Makedist is a rather simpleminded shar program that knows how to pack
files into multiple kits of approximately 50000 bytes each. The shar
scripts produced assume very little about the target machine; there is
correspondingly little error checking done compared to other shar
programs. Alternatively, with the -c option, you can create a directory
containing the whole source tree, and then pack it up using your own
If you are using the copyright expansion feature (as determined by
packinit), then you have to pack your distribution using this program
to ensure the copyright is correctly set.
In order to run makedist you have to do two things:
1) Create a .package file in the package’s top-level directory by
running packinit. This program will ask you about your package and
remember what you tell it so that all the dist programs can be
2) Create a MANIFEST.new file in your top-level directory that lists
all the files in your package. The filename should be the first
field on each line. After some whitespace you can add a comment
describing your file (briefly).
After running makedist, you will have a set of kits in your top-level
directory. If your package name is "foo", they will be named foo.kit1,
foo.kit2, etc. The file created PACKLIST file is automatically added
to the distribution and tells which files come with which kits. If you
used the -c option, you will end-up with a single directory instead,
containing the whole distribution, ready to be sent to the end-user.
If a file is too large to be packed as-is in one archive, it will be
automatically split in smaller parts. Only the first 11 characters of
the file will be kept though, and makedist will abort if two distinct
files are to be split and have the same 11 first characters in their
names. The split files will automatically be reconstructed at the end
of the archive extraction by runnning a script generated in PACKNOTES.
You may then mail your kits via kitsend or post them with kitpost.
The following options are handled by makedist:
-c dir Tell makedist that the distribution should be copied
(mirrored) in the specified directory, instead of producing
shell archives. Compatible with the -q option.
-d Turn on debug mode. Probably not useful.
-f file Use file as manifest. By default, MANIFEST.new is used.
-h Print help message and exit.
-q Quick production of the kits: the checked-out version of the
files is used, instead of using the RCS file to actually get
the latest checked-in version. This will save some
considerable time, but you have to be sure the checked-out
version is up-to-date or you might end up with an
-s size Set maximum kit size to size bytes.
-v Verbose mode: trace kit building process or tree mirroring.
-V Print version number and exit.
Larry Wall <email@example.com> (version 2.0)
Raphael Manfredi <firstname.lastname@example.org>
Creates ./$package.kit* unless -c option is used.
PACKLIST and PACKNOTES are also temporarily created.
kitsend(1), kitpost(1), metaconfig(1), patcol(1)