lcfg-reltool - LCFG source release control tool
This documentation refers to lcfg-reltool version 0.9.30
lcfg-reltool release --dir ~/cvs/lcfg-foo lcfg-reltool minorversion --quiet lcfg-reltool rpm
There are two built-in commands:
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.
help
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.
LCFG::Build::Tool
Checks the usage of substitution macros in your project.
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.
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.
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.
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.
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.
lcfg.yml
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.
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.
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.
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.
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.
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.
/usr/local/share/lcfgbuild/templates
/usr/share/lcfgbuild/templates
After successfully running a command it will exit with code zero. An error will result in a non-zero error code.
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.
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
There are no known bugs in this application. Please report any problems to bugs@lcfg.org, feedback and patches are also always very welcome.
Stephen Quinney <squinney@inf.ed.ac.uk>
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.
To install LCFG::Build::Tools, copy and paste the appropriate command in to your terminal.
cpanm
cpanm LCFG::Build::Tools
CPAN shell
perl -MCPAN -e shell install LCFG::Build::Tools
For more information on module installation, please visit the detailed CPAN module installation guide.