tardy(1) a tar post-processor

SYNOPSIS

tardy [ option... ][ infile [ outfile ]]
tardy -Help
tardy -VERSion

DESCRIPTION

The tardy program is used to manipulate the file headers within archive files. Supported archive formats include tar(1), cpio(1) and ar(1).

This is useful when preparing sources for Internet archive sites, and you don't want to included details of your development environment in the tar(1) file.

One of the most useful features is the ability to add a prefix to the names of the files within the tar(1) file. An example is adding the prefix ".", for when you have a tar(1) file with absolute paths in it, and need to extract the file with relative paths.

The GNU tar format headers are understood, including extended names.

If no input file is named, or the special name "-" is used, input will be read from the standard input. Similarly, if no output file is named, or the special name "-" is used, output will be written to the standard output. Note that tardy will refuse to read from or write to a terminal, as this indicates that the user has made a mistake.

If the input is in gzip(1) format, it will be automatically gunzip(1)ed before processing. Similarly, if the output file name indicates that gzip(1) should be used, this will be done automatically on output.

OPTIONS

The following options are understood:
-Block_Size number
This option many be used to specify the block size, as a multiple of 512 bytes. The default is -bs=20 resulting in a 10kB block size.
-Clean_Meta

This option may be used to ensure that file names do not contain shell meta characters. If any are found, they are replaced by a hyphen (-) character. Warning: duplicate file names may result.
-Clean_Print

This option may be used to ensure that file names only contain printable ASCII characters. If any non-printable characters are found, they are replaced by a hyphen (-) character. Warning: duplicate file names may result.
-Clean_Space

This option may be used to ensure that file names contain no white space characters. If any are found, they are replaced by a hyphen (-) character. Warning: duplicate file names may result.
-Clean

This option is a terse way of specifying all of the above 3 options.
-DownCase

This option may be used to force file names to be all lower case. Warning: duplicate file names may result.
-EXclude pattern
This option may be used to completely remove files from the archive. All files that have a filename patching the given shell filename pattern will be removed. Be careful with wild cards, they match everything, including slash (/) characters. The exclude pattern is applied before all file-name manipulating patterns.
-eXtract
This option may be used to extract the contents of an archive.
-Group arg

This option may be used to set both the group name and group number fields in the header of every file in the archive file. The argument may be either a string or a number. It is an error if a corresponding entry cannot be found in the /etc/group file.
-Group_NAme string

This option is used to set the group name field in the header of every file in the archive file. The string may be any arbitrary string, it is not restricted to a known group.
-Group_NAme number

This option is used to set the group name field in the header of every file in the archive file. The number is mapped to a group name through the /etc/group file. It is an error if a corresponding group cannot be found.
-Group_NUmber string

This option is used to set the group number field in the header of every file in the archive file. The string is mapped to a group number through the /etc/group file. It is an error if a corresponding group cannot be found.
-Group_NUmber number

This option is used to set the group number field in the header of every file in the archive file. The number may be any arbitrary number, it is not restricted to a known group.
-Help

This option may be used to obtain more information about how to use the tardy program.
-Input_ForMaT name
By default, the input file is examined to automatically detect the input archive file's format. This option may be used to specify the input format to be used. The input format names are
tar
This format understands all of the various tar(1) formats. This is the default.
tar-bsd
This format expects BSD tar(1) archives.
ustar
This format expects ustar(1) format archives.
list
The input is a text file which contains one file name per line. The named files are read as if they were the input. It is common for find(1) to be used to form the list of file names.
directory
The input is a text file which contains one file name per line. The named files are read as if they were an archive input. If any directories are found, they will be descended recursively.
cpio
The file is expected to be in one of the cpio(5) formats, and will be examined to figure out which.
cpio-bin
This format expects cpio(5) "old binary" format archives.
cpio-crc
This format expects cpio(5) "crc" format archives.
cpio-new-ascii
This format expects cpio(5) "new ascii" format archives.
cpio-old-ascii
This format expects cpio(5) "old ascii" format archives.
ar
The file is expected to be in one of the ar(1) formats, and will be examined to figure out which.
ar-bsd
This format expects ar(1) "BSD" format archives.
ar-pdp11
This format expects ar(1) archives, in the ancient pre-V7 format.
ar-v7
This format expects ar(1) "Unix Version 7" format archives.

Any other format name will produce an error.

-List

Give a terse listing of the file headers on the standard error as they are written to the output.
-Mode_Clear bits

This option may be used to set the mode of each file in the archive file. The bits specified are cleared in the mode. You should use an octal number with a leading zero as the argument; if you omit the leading zero it will be interpreted as decimal. The -Mode_Set option is applied first, the -Mode_Clear option is applied second; if neither is specified the mode of each file is unaltered.
-Mode_Set bits

This option may be used to set the mode of each file in the archive file. The bits specified are set in the mode. You should use an octal number with a leading zero as the argument; if you omit the leading zero it will be interpreted as decimal.
-No_Directories

This option may be used to suppress directories from the output. This can be useful when the archive has been created with directories in useless modes.
-Now

Set the last-time-modified field of the headers to the current time, all files will be given the same time.
-Old_Type

By default, tardy corrects the old normal file type into the modern normal file type. This option requests that old normal file type indicators remain unaltered.
-Output_ForMaT name
By default, tardy tries to write the same format on output as it sees on input. This option may be used to specify the output format to be used. The output format names are
ar
The archive will be written using the ar(1) format, BSD variant. Note that this format only supports simple files; it silently discards directories, and even discards directory portions of file names.
ar-bsd
The archive will be written using the ar(1) format, BSD variant. Long file names are handled by a special file at the start of the archive full of file names.
ar-bsd-l2
The archive will be written using the ar(1) format, BSD variant. Long file names are handled by special file name mangling in the archive, with the actual file name transparently injected into the start of the file data.
ar-pdp11
The archive will be written using the ar(1) format, in the most ancient pre-V7 variant. (There are also ar-pdp11-le and ar-pdp11-le names, if you need to select the byte order.)
ar-port5
The archive will be written using the ar(1) format, in the PORT5 variant. (There are also ar-port5-le and ar-port5-le names, if you need to select the byte order.)
ar-v7
The archive will be written using the ar(1) format, ancient Unix Version 7 variant. (There are also ar-v7-le and
posix
The format that GNU tar uses.
tar-bsd
The format that BSD tar(1) uses.
cpio
The new cpio(5) ASCII format.
cpio-bin
The cpio(5) "old binary" format, using host byte order.
cpio-bin-le
The cpio(5) "old binary" format, using little-endian byte order.
cpio-bin-be
The cpio(5) "old binary" format, using big-endian byte order.
cpio-crc
The cpio(5) "crc ascii" format.
cpio-old-ascii
The old cpio(5) ASCII format.
ustar
This is the format that Joerg Schilling's ustar(1) uses.
v7
The ancient UNIX V7 tar(1) format.

Any other format name will produce an error.

-Prefix string

This option is used to add a prefix directory name to the name of every file in the archive file.
-PROgress
This option is used to obtain a progress indicator. Only works in combination with the --ifmt=list option.
-Remove_Prefix number

This option is used to remove a number of leading directories from the name of every file in the archive file, if present. The prefixes will be removed before any prefix specified by the -Prefix option is prepended.
-Remove_Prefix string
This option is used to remove a prefix directory name from the name of every file in the archive file, if present. This option may be given more than once, and as many of the prefixes as appear will be removed. The prefixes will be removed before any prefix specified by the -Prefix option is prepended.

This option is potentially ambiguous with the preceding option, if you wish to remove a leading prefix which looks like a number. If this is the case, add a slash ("/") to the end of the prefix to stop it looking like a number.

-UpCase

This option may be used to force file names to be all upper case. Warning: duplicate file names may result.
-User arg

This option may be used to set both the user name and user number fields in the header of every file in the archive file. The argument may be either a string or a number. It is an error if a corresponding entry cannot be found in the /etc/passwd file.
-User_NAme string

This option is used to set the user name field in the header of every file in the archive file. The string may be any arbitrary string, it is not restricted to a known user.
-User_NAme number

This option is used to set the user name field in the header of every file in the archive file. The number is mapped to a user name through the /etc/passwd file. It is an error if a corresponding user cannot be found.
-User_NUmber string

This option is used to set the user number field in the header of every file in the archive file. The string is mapped to a user number through the /etc/passwd file. It is an error if a corresponding user cannot be found.
-User_NUmber number

This option is used to set the user number field in the header of every file in the archive file. The number may be any arbitrary number, it is not restricted to a known user.
-VERSion

Print the version of the tardy program being executed.

EXIT STATUS

The tardy command will exit with a status of 1 on any error. The tardy
command will only exit with a status of 0 if there are no errors.

COPYRIGHT

tardy version 1.25.D001
Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010, 2011 Peter Miller

The tardy program comes with ABSOLUTELY NO WARRANTY; for details use the 'tardy -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the 'tardy -VERSion License' command.

AUTHOR

Peter Miller <[email protected]>
http://miller.emu.id.au/pmiller/