myver.pl
mkver.pl [-h] [-d DEF] [-e 'EXT EXT ...'] [-u 'Var Var...']
mkver.pl is used to create standard include files, to define release variables, which are used to categorize and version a module or tool. Its main purpose is to normalized all of names and categorizations that are related to a product, and to provide one place for updating this information.
Currently output files are:
ver.cs - C# constants file
ver.env - bash shell definitions (use in Makefiles and scripts)
ver.epm - EPM package include file
ver.h - C include file
ver.java - Java include file
ver.mak - Makefile include file
ver.pl - Perl include file
ver.php - php include file
ver.xml - XML file
If the DEF file is not found, a default DEF file, ver.sh, is created.
The generated files will be put in the current directory. A (EXT)File variable can be defined for each EXT extention, to define the path and the name for each of the output files.
Other extention related variable can be defined to specify header and footer text that should be output for each EXT: (EXT)Header, (EXT)Footer.
The simplest way to see the default definitions and variable transformations is to run mkver.pl, and specify a DEF file that doesn't exist. You can then look at the DEF file that was created, and at the generated files.
This help
Path and name of the master version definition file (DEF). The basename part of the file name will be used for the basename of the version include files.
Default: ./ver.sh
Default basename: ver
A space separated list of extentions, that will be generated. If no -e option is used, then all files will be generated.
Default: -e 'cs env epm h java mak pl xml'
A space separated list of user defined variable names.
Output warnings and notices. Errors will always be output.
Output debug messages.
The named variable has a syntax error.
The DIR specified for an output file, can not be found. Fix the (EXT)File variable's definition, and create the directory
Either fix the variable definition, create the file, or clear the definition.
How the variables RELEASE and ProdRC affect %packager and %release values in the "epm" file.
export RELEASE=0; mkver.pl -d ver.sh -e epm
%packager [setting in ver.sh]
%release test.$ProdBuildTime
export RELEASE=1; mkver.pl -d ver.sh -e epm
%packager RE
if $ProdRC is not empty,
%release rc.$ProdRC
else
%release $ProdBuild
$RELEASE, $USER
Input: ver.sh or -d DEF.sh
Output: ver.EXT files
patch-emp-list(1), epm(1), epminstall(1), mkepmlist(1), epm.list(5)
TurtleEngr
MkVer=3.1