Site-wide configuration file for cvs-buildpackage and friends
/etc/cvsdeb.conf
The file /etc/cvsdeb.conf is actually a Bourne Shell snippet included during the package build process, and hence you may put any shell directive in that file (just make very sure you know what you are doing).
All the variables have reasonable default values, and some maybe overridden on a per run or a per individual basis by using environment variables, and all configurable variables can be overridden by options to the scripts themselves.
The value of a variable can be set so:
a)
Defaults exist in the rules file. These are the values used if no customization is done.
Some variables can be set in the config file /etc/cvsdeb.conf. These values override the defaults.
Some variables can also be set by setting a corresponding environment variable. These values override the config file and the defaults.
Using script command line options. All configurable variables may be set by this method, and will override the other methods above.
The following variables are defined for cvs-buildpackage.
package
Name of the package
version
The raw version of the package
sversion
The version number stripped of epochs.
uversion
The upstream version.
tversion
Debian revision number, if any.
At the moment, the user modifiable variables supported are:
DEBUG
Debugging information: The default value is 0 (no debugging information is printed). To enable debugging output, set the value to 1.
conf_forceclean
There are two things CVS may choke on: symbolic links and CVS directories in the source tree. Also, there are times when one may not want to honour the upstream .cvsignore files. The conf_forceclean. configuration variable causes the cvs-inject and cvs-upgrade programs to ask whether the offending files should be deleted, if not, the programs exit with an error message. Without this option, the programs exit with an error message without asking. This can be over ridden by the environment variable CVSDEB_FORCECLEAN.
conf_rootdir
The root directory is used to set the default value of the cvs-buildpackage work directory, using the package name. The default value is /usr/src/Packages. This should probably not be a sub dir of CVSROOT, since cvs shall refuse to export packages there, and the script shall fail.
conf_workdir
The cvs-buildpackage work directory. This directory is where the original sources are expected, and this is where the module shall be exported from CVS. If you set this value, the value of the root directory would be ignored. Please note that the cvs-buildpackage work directory referred to here is the scratch directory where this program works, not the directory that the human uses to work in. This should probably not be a sub dir of CVSROOT, since cvs shall refuse to export packages there, and the script shall fail.
conf_dpkg_options
This is where one may stash -us -uc or whatever to pass on to dpkg-buildpackage. This is different from the other variables in that this is an array variable. These options shall augment (not replace) dpkg-buildpackage options provided on the command line.
Bash provides one-dimensional array variables. Any variable may be used as an array; the `declare' builtin will explicitly declare an array. There is no maximum limit on the size of an array, nor any requirement that members be indexed or assigned contiguously. Arrays are zero-based.
Arrays are assigned to using compound assignments of the form conf_dpkg_options=(value1 ... valueN) or dpkg_options=(value1 ${dpkg_options[@]})
conf_rootcommand
This is where one specifies the default command to gain root access (usually set to fakeroot, sudo or super ). This is also passed along to dpkg-buildpackage.
conf_buildpackage
Sets the name of the builder program invoked, nominally set to dpkg-buildpackage. However, the user may choose to use a different build program, or a wrapper, or even 'chroot /opt/root dpkg-buildpackage' to build the package in a chroot jail, if desired. (Obviously, this requires that the Work directory to be a subdirectory of a previously set up chroot jail). One may also hook in pbuilder by setting this variable to 'pdebuild --auto-debsign --buildresult ../'. (Again, this requires that pbuilder has been set up correctly). This option can be over ridden by the environment variable CVSDEB_BUILDPACKAGE.
conf_packageopts
Additional arguments to give to conf_buildpackage that shall be appended to dpkg-buildpackage options. Use this variable to append to the list of options. This option can be over ridden by the environment variable CVSDEB_PACKAGEOPTS.
conf_forcetag.
If this is set, then cvs-buildpackage shall call cvs tag -F to ensure that all files are re-tagged correctly.
conf_prefix=prefix
If this is set, then this prefix is prepended to the package name while looking for the repository. In other word, we append this to CVSROOT while looking for packages. Use this to group all your Debian package sources together in a subdirectory in the CVS repository
conf_packageintag.
If this is set, then cvs-buildpackage will include the package name and an underscore at the start of every CVS tag it generates or uses.
conf_cvsmodule
This option sets the CVS module for use with cvs-inject and cvs-upgrade.
conf_use_changelog
This option tells the cvs-inject and cvs-upgrade commands to incorporate debian changelog entries into the cvs changelog.
conf_hook_script
This option, if set, should point to a script that should be run just before calling dpkg-buildpackage. Ideally, things like this are done using the modules file and programs, but is still provided here for convenience. This is overridden by the environment variable CVSDEB_HOOK.
conf_get_orig
This option, if set, should contain a command to execute to get the original tarball into the current directory. This can then be used to allow one to get the original file using, for instance, wget or curl. This is overridden by the CVSDEB_GET_ORIG environment variable.
conf_use_apt
If set to YES, cvs-buildpackage will use apt-get source to retrive the original tarball, if one for the correct upstream version is found in a Sources file known to apt. This is overridden by the CVSDEB_USE_APT environment variable.
At the moment, the user modifiable variables supported are:
CVSDEB_ROOTDIR
If defined, this environment variable will override the value of the root directory set in the configuration file.
CVSDEB_WORKDIR
If defined, this environment variable will override the value of the cvs-buildpackage work directory set in the configuration file, and would cause the scripts to ignore the root directory, irrespective of where that value was set.
CVSDEB_MODULE
If defined, this environment variable will override the value of the CVS module set in the configuration file.
CVSDEB_USE_CHANGELOG
If defined, this environment variable will make cvs-inject and cvs-upgrade programs incorporate entries from the Debian changelog file into the CVS changelog.
CVSDEB_BUILDPACKAGE.
If defined, this environment variable will override the value of the configuration file variable conf_buildpackage
CVSDEB_HOOK
Over rides the configuration file option conf_hook_script.
CVSDEB_GET_ORIG
Over rides the configuration file option conf_get_orig.
System-wide defaults are placed in /etc/cvsdeb.conf, This can be overridden and supplemented by ~/.cvsdeb.conf file by each user.
There are no bugs. Any resemblance thereof is delirium. Really.
This manual page was written by Manoj Srivastava <[email protected]>, for the Debian GNU/Linux system.