Reference

cvs2dist(1)

convert subdirectories within KDE CVS into standalone source packages

NAME

cvs2dist - convert subdirectories within KDE CVS into standalone source packages

SYNOPSIS

cvsdist path-to-module directory-in-module [ -n, --name name ] [ -v, --version version ] [ --admin-dir dir ] [ --cvs-root root ] [ -B, --branch branch ] [ --no-i18n ] [ --no-i18n-lang languages ] [ --log=logfile | -l ] [ -m, --make-unpackaged ] [ -g, --no-gzip ] [ -b, --no-bz2, --no-bzip2 ] [ -o, --only-directory ] [ -r, --required-header header ] [ -e, --required-header-error-message message ] [ -d, --remove-hidden ] [ --replace-files pairs ] [[--] addfile ... ]

cvsdist -h, --help

DESCRIPTION

Each module in the KDE CVS tree contains a large number of applications all bundled together. cvs2dist is used to extract a single application or component from one of these large CVS modules and bundle it into a standalone package. The application or component will be bundled into a standard distribution tarball (with a configure script and so on) that users can download, build and install.

By default, cvs2dist automatically tries to check out all translations of strings and documentation from the corresponding parts of the kde-i18n CVS module and include them in the final packages. This can be suppressed or modified using the options --no-i18n or --no-i18n-lang.

The initial argument path-to-module should specify where the CVS module has been checked out on your system, and the second argument directory-in-module should specify which directory within this module is to be packaged (all subdirectories beneath it will be included and so on). See the EXAMPLE section below for details.

Both gzip and bzip2 compressed tarballs will be created by default and will be called name[-version].tar.gz and name[-version].tar.bz2. The name component will be the last directory component of directory-in-module unless otherwise specified by --name, and the version component will not be included unless it is specified by --version.

Additional files from outside the CVS tree can be included in the final packages by passing them after all other options (these are the addfile arguments displayed above). These additional files will be placed in the top level directory of the final packages. The -- that precedes them is optional.

Many options are available for customising these procedures, as seen below. Note that cvs2dist will remove any temporary files that it creates.

This utility is part of the KDE Software Development Kit.

OPTIONS

-n, --name name

The name of the package (to be used in the names of the final tarballs and directories). Specifically, the compressed tarballs will be called name-version.tar.gz and name-version.tar.bz2 (see the --version option below for further information). This package name defaults to the last directory component of directory-in-module.

-v, --version version

The version of the package (to be used in the names of the final tarballs and directories). If this is not supplied, no version is used at all (i.e., the compressed tarballs will just be called name.tar.gz and name.tar.bz2).

--admin-dir dir

The location of admin/ on the filesystem. Symbolic links may be used. Defaults to path-to-module/admin.

--cvs-root root

The value to use as CVSROOT when checking out translations from CVS. Defaults to the CVSROOT environment variable. If --no-i18n is passed then this option has no effect.

-B, --branch branch

Use the given CVS branch for checking out translations from CVS. If --no-i18n is passed then this option has no effect.

--no-i18n

Do not check out any translations from CVS.

--no-i18n-lang languages

Exclude the given language(s) when checking out translations from CVS. The list of languages should be comma-separated, such as --no-i18n-lang uk,de,en_GB .

--log=logfile

Log all proceedings to the given logfile. Note that the = is essential, and may not be omitted.

-l

Log all proceedings to the default logfile in the current directory.

-m, --make-unpackaged

In addition to the compressed tarballs, an unpacked distribution will be created in the current directory.

-g, --no-gzip

Do not create a gzip package (name-version.tar.gz).

-b, --no-bz2, --no-bzip2

Do not create a bzip2 package (name-version.tar.bz2).

-o, --only-directory

Alias for -mgb. No packages will be created, only an unpacked directory.

-r, --required-header header

When the user runs configure, an error will be generated if header is not found on the user's system.

-e, --required-header-error-message message

The error to display to a user when the header passed with --required-header is not found on the user's system. Defaults to a sensible message.

-d, --remove-hidden

Remove hidden files and directories (e.g., dotfiles) from the packages.

-h, --help

Display instructions on how to use cvs2dist.

--replace-files pairs

Move one or more files around in the final distribution packages. The pairs argument should be a comma-separated list of replacements to make. Each replacement specifies a single file to move, and should be of the form source@dest.
For each replacement, the source file will be moved to the destination file (in particular, the source file will be deleted). All filenames are relative to the top-level directory of the package. Spaces in filenames are not allowed.
Please be careful when using this option! Try to avoid the use of .. in the filenames, since it may cause unexpected problems.
An example of this option might be --replace-files take_this_file@move_it_here,[email protected] .

EXAMPLE

The following example creates packages of the kolf picture plugin from the CVS source tree currently checked out in /sources.

example$ cvs2dist /sources/kdegames kolf/objects/picture -n kolf-picture -v 0.9 -r "kolf/game.h" --log ~/tmp/extra-file

The packages will be named kolf-picture-0.9 and the process will be logged. For configure to succeed when a user builds these packages, the header kolf/game.h must be installed or an error will occur. The additional file ~/tmp/extra-file will be included in the packages even though it is not part of the CVS source tree.

FILES

~/.cvs2distrc

Any options found in this file will be added to the beginning of the command-line arguments.

SEE ALSO

cvs(1).

For the latest updates to this script, see the cvs2dist website http://www.katzbrown.com/shiritsu/programming/cvs2dist/.

AUTHOR

cvs2dist was written by Jason Katz-Brown <[email protected]>, Sebastian Stein <[email protected]>, Dominique Devriese <[email protected]> and Michael Buesch <[email protected]>.
This manual page was prepared by Ben Burton <[email protected]> for the Debian GNU/Linux system (but may be used by others).

History

--no-i18n-lang since Debian 4.0 (Etch); --replace-files since Debian 4.0 (Etch).