makedist(1) 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 shell archiver.

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:

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 smart.
Create a 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 running 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.
Turn on debug mode. Probably not useful.
-f file
Use file as manifest. By default, is used.
Print help message and exit.
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 inconsistent package.
-s size
Set maximum kit size to size bytes.
Verbose mode: trace kit building process or tree mirroring.
Print version number and exit.


Larry Wall <[email protected]> (version 2.0)
Raphael Manfredi <[email protected]>


Creates ./$package.kit* unless -c option is used.
PACKLIST and PACKNOTES are also temporarily created.