CVS2DIST(1)

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,configure.in.bot.dist@configure.in.bot .

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 <jason@katzbrown.com>, Sebastian Stein <seb.stein@hpfsc.de>, Dominique Devriese <devriese@kde.org> and Michael Buesch <mbuesch@freenet.de>.
This manual page was prepared by Ben Burton <bab@debian.org> for the Debian GNU/Linux system (but may be used by others).