shtool-tarball - Man Page

GNU shtool command for rolling standardized tarballs


shtool tarball [-t|--trace] [-v|--verbose] [-o|--output tarball] [-c|--compress prog] [-d|--directory directory] [-u|--user user] [-g|--group group] [-e|--exclude pattern] path [path ...]


This command is for rolling input files under path into a distribution tarballs which can be extracted by tar(1).

The four important aspects of good open source software tarballs are: (1) unpack into a single top-level directory, (2) top-level directory corresponds to the tarball filename, (3) tarball files should be sorted and (4) arbitrary names for file owner and group.


The following command line options are available.

-v,  --verbose

Display some processing information.

-t,  --trace

Enable the output of the essential shell commands which are executed.

-o,  --output tarball

Output tarball to file tarball.

-c,  --compress prog

Pipe resulting tarball through compression program prog.

-d,  --directory directory

Sets the top-level directory into which the tarball unpacks. By default it is tarball without the trailing .tar.* extension.

-u,  --user user

The user (owner) of files and directories in the tarball to user.

-g,  --group group

The group of files and directories in the tarball to group.

-e,  --exclude pattern

Exclude files and directories matching comma-separated list of regex pattern from the tarball. Directories are expanded before the filtering takes place. The default filter pattern is "CVS,\\.cvsignore,\\.svn,\\.[oa]\$".


     V=`shtool version -d short ...`; \
     shtool tarball -o foobar-$$V.tar.gz -c 'gzip -9' \
                    -u bar -g gnu -e 'CVS,\.cvsignore' .


The GNU shtool tarball command was originally written by Ralf S. Engelschall <> in 1999 for GNU shtool.

See Also

shtool(1), tar(1), compress(1).

Referenced By


shtool 2.0.8 18-Jul-2008 GNU Portable Shell Tool