The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

lcfg-reltool - LCFG source release control tool

VERSION

This documentation refers to lcfg-reltool version 0.9.30

SYNOPSIS

    lcfg-reltool release --dir ~/cvs/lcfg-foo

    lcfg-reltool minorversion --quiet

    lcfg-reltool rpm

DESCRIPTION

COMMANDS

There are two built-in commands:

help [command name]

If you call the help command with no arguments it will list all the supported commands. If you also specify a particular command name it will show all the available command-line options for that specfic command.

commands

This command gives a list of all available commands.

The following commands are each implemented with a separate Perl module. For full documentation you need to read the perldoc for the specific module. They are all in the LCFG::Build::Tool namespace.

checkmacros - LCFG::Build::Tool::CheckMacros

Checks the usage of substitution macros in your project.

release - LCFG::Build::Tool::MicroVersion

Increment by one the third (smallest) part of the version field and tag the project. This will also reset the release field to 1. For example, version 1.2.3 would become 1.2.4 and the release field would go from 5 to 1.

minorversion - LCFG::Build::Tool::MinorVersion

Increment by one the second (middle) part of the version and tag the project. This will also reset the third part of the version to 0 (zero) and the release field to 1. For example, version 1.2.3 would become 1.3.0 and the release field would go from 5 to 1.

majorversion - LCFG::Build::Tool::MajorVersion

Increment by one the first (largest) part of the version and tag the project. This will also reset the second and third parts of the version to 0 (zero) and the release field to 1. For example, version 1.2.3 would become 2.0.0 and the release field would go from 5 to 1.

devpack - LCFG::Build::Tool::DevPack

Builds a gzipped source tar file from the development source tree for the project. This will include all local files which have been added to the specified working directory for the project.

pack - LCFG::Build::Tool::Pack

Builds a gzipped source tar file from the tagged source tree which matches the version specified in the LCFG build tools metadata file, lcfg.yml, in the specified working directory.

devrpm - LCFG::Build::Tool::DevRPM

Builds a gzipped source tar file, source RPM and binary RPMs from the development source tree for the project. This will include all local files which have been added to the specified working directory for the project.

rpm - LCFG::Build::Tool::RPM

Builds a gzipped source tar file, source RPM and binary RPMs from the tagged source tree which matches the version specified in the LCFG build tools metadata file, lcfg.yml, in the specified working directory.

srpm - LCFG::Build::Tool::SRPM

Builds a gzipped source tar file and source RPM from the tagged source tree which matches the version specified in the LCFG build tools metadata file, lcfg.yml, in the specified working directory.

ospkg - LCFG::Build::Tool::OSXPkg

Builds a gzipped source tar file and binary MacOSX packages from the tagged source tree which matches the version specified in the LCFG build tools metadata file, lcfg.yml, in the specified working directory.

devospkg - LCFG::Build::Tool::DevOSXPkg

Builds a gzipped source tar file and binary MacOSX packages from the development source tree for the project. This will include all local files which have been added to the specified working directory for the project.

CONFIGURATION AND ENVIRONMENT

This version-control tool is driven by the LCFG build system meta-file (lcfg.yml) which MUST exist in the project source directory. This meta-file uses YAML syntax. The minimum contents is something like this:

 name: foo
 version: 1.2.3
 vcs:
   type: CVS

See LCFG::Build::PkgSpec for the full details of the possible options. After a successful version update using the tool you may notice that the file gains some extra fields with their default values. The fields will become sorted into alphabetical order to minimise the differences in the contents between repeated runs of the tool. Also, a YAML header will be added at the top of the file, this is not required by this specific tool and can be safely ignored.

Some of the tools use template files, by default it is assumed that the standard template directory is /usr/local/share/lcfgbuild/templates on MacOSX and /usr/share/lcfgbuild/templates on all other platforms. You can override this using the LCFG_BUILD_TMPLDIR environment variable. If you have done a local (i.e. non-root) install of this module then this will almost certainly be necessary.

EXIT STATUS

After successfully running a command it will exit with code zero. An error will result in a non-zero error code.

DEPENDENCIES

This script uses LCFG::Build::Tools which is Moose powered and the MooseX::App::Cmd module is used to handle the command-line interface.

This application also requires an LCFG::Build::VCS module which supports your choice of version control system, e.g. LCFG::Build::VCS::CVS for CVS.

PLATFORMS

This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.

Fedora12, Fedora13, ScientificLinux5, ScientificLinux6, MacOSX7

BUGS AND LIMITATIONS

There are no known bugs in this application. Please report any problems to bugs@lcfg.org, feedback and patches are also always very welcome.

AUTHOR

Stephen Quinney <squinney@inf.ed.ac.uk>

LICENCE AND COPYRIGHT

Copyright (C) 2008-2019 University of Edinburgh. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.