MAKEKIT(1L)

NAME
makekit - split files up into shell archive packages

SYNOPSIS
    makekit [ -1 ] [ -b ] [ -e ] [ -x ] [ -h# ] [ -iname ] [ -k# ] [ -m ] [ -nname ] [ -oname ] [ -p ] [ -s#[k] ] [ -ttext ] [ -v ] [ file... ]

DESCRIPTION
Makekit reads a list of files and directories, determines their sizes, and parcels them up into a series of shell archives such that all the archives are of reasonable size. It then invokes shar(1L) to actually create the archives.

By default, no archive will be larger than 55,000 bytes; this may be changed by using the ``-s'' option. If the number given with the ``-s'' option ends with the letter ``k'' then the size is multiplied by 1024, otherwise it is taken to be the desired maximum size, in bytes. Each archive will have a name that looks like Partnn, where ``nn'' represents the two-digit sequence number (with leading zero if needed). The leading part of the archive name may be changed with the ``-n'' option. This option is also useful when write permission to the directory being archived is denied; e.g., ``-n/tmp/KERNEL.''

Makekit reads its list of files on the command line, or from the standard input if none are given. It is also possible to specify an input filename with the ``-i'' option. It is not possible to specify files on the command line and read an input file. The input should contain a list of files, one to a line. In addition, if each input line looks like this:
    filename spaces optional-digits spaces text
then makekit will ignore the spaces and digits, but remember the text associated with each file, and output it with the filename when generating the ``shipping manifest.'' Further, the ``-h'' option may be given to have the program skip the indicated number of lines in the input; this option is provided so that makekit can more easily re-parse the manifests it generates, as well as those generated by findsrc(1L) or maniscan(1L).

The generated manifest will be sent to the standard output. An alternate output file may be given by using the ``-o'' option; if the output file exists, makekit will try to rename it with an extension of .BAK. If the ``-o'' option is used, makekit will add that name to the list of files to be archived; the ``-e'' option may be given to exclude the manifest from the list.

The ``-m'' option is the same as giving the options ``-iMANIFEST -oMANIFEST -h2.'' This is a common way to regenerate a set of archives after the first use of makekit in a directory.

To recreate the archives from an existing manifest, use the ``-b'' flag; this instructs makekit to believe the part assignments in the manifest. Some extra work will be done to rewrite the manifest, but the assignment of files into their kits will be as specified. This option is also useful in tweaking a distribution to get a tighter fit.

If a large number of kits has to be generated, you may need to give the ``-k'' option to increase the maximum number of kits to be generated. The existence of this option can be taken as evidence that the program's author is lazy.

After partitioning the files and directories, makekit calls shar with the proper options to generate archives in a series. Each resultant archive will, when executed, check to see if all the parts are present. If the ``-1'' option is used, then makekit will not instruct shar to generate the checks (by not passing on the ``-n'' and ``-e'' options). By using the ``-t'' option, you can specify a line of starting instructions to display to the recipient when all pieces have been unpacked. This is useful when resending part of a series that has probably already been unpacked by the recipient. See shar for more information on multi-part archives. If the ``-x'' option is used, shar is not called, but the manifest is still created.

Makekit normally reorders its input so that the archives are as ``dense'' as possible, with the exception that directories are given priority over files, and the files named PACKNOTES, README, and then MANIFEST appear first. The manifest is also sorted in alphabetical order; this makes it easy to locate ``missing'' files when the distribution is a large one. The ``-p'' option may be used to override both sortings, however, and preserve the original order of the input list in generating both the manifest and the shell archives. (To preserve the actual assignments in the manifest, use the ``-b'' option.) It also tries to partition the files so that all directories are in the first archive. This usually means the first archive must be the first one to be unpacked.

The ``-v'' option prints out the current version and exits.

SEE ALSO
findsrc(1L), maniscan(1L), shar(1L).