1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
|
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Copyright (c) 1997 Manoj Srivastava <srivasta@debian.org>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" $Id: cvs-buildpackage.1,v 1.7 1998/04/03 16:53:51 srivasta Exp $
.\"
.TH CVS\-BUILDPACKAGE 1 "Feb 20 1998" "Debian" "Debian GNU/Linux manual"
.SH NAME
cvs\-buildpackage \- build Debian packages from a CVS repository.
.SH SYNOPSIS
.B cvs\-buildpackage
.I [options]
.SH DESCRIPTION
This manual page explains the Debian
.B "cvs\-buildpackage"
utility, which is used to build Debian packages whose sources are
stored in a
.I CVS
repository. This is a
.B CVS
-aware wrapper around dpkg-buildpackage, and it first parses
.I ./debian/changelog;
exports the corresponding version (tagged
.I debian_version_<$version>
), and runs
.B dpkg-buildpackage
in the exported tree. It looks for un committed files in the source
tree, and offers to abort before doing anything so that the user may
commit the files in, if they wish.
.B "cvs\-buildpackage"
can also optionally automatically re\-tag all files before exporting
the source (this functionality is only relevant in the top level
directory of a checked out Debian package source tree, of course).
.PP
If this utility is not run from a top level
directory of a checked out Debian package source tree, for example, to
build an old version, the cvs module
name, or the package
name have to be supplied on the command line.
.PP
Combined with the companion utilities
.B cvs\-inject
and
.B cvs\-upgrade,
this provides an infrastructure to facilitate the use of
.B CVS
by Debian maintainers. This allows one to keep separate CVS branches
of a package for
.I stable,
.I unstable,
and possibly
.I experimental
distributions, along with the other benefits of a version control system.
.SH OPTIONS
.B \-h
Print out a usage message.
.TP
.BR \-M<module>
The name of the CVS module
.TP
.BR \-P<package>
Sets the name of the package. Very useful if this is not running in
the CVS checked out source tree, in which case one also needs the
version of the package, which may optionally be determined by checking
out the latest
.B debian/changelog
file.
.TP
.B \-T<tag>
The CVS tag to use for exporting sources, rather than constructing one
from the version.
.TP
.B \-V<version>
The version number of the package. In conjunction with setting the
package name, this option allows operation outside a CVS source tree
(just needs the repository)
.TP
.B \-R<root\ directory>
Root of the original sources archive. We expect to find the
.I <package\ name>_<version>.orig.tar.gz
file under
.I <root\ directory>/package\ name>/
unless the work directory has been set, or we want to export the
original sources from the vendor branch of the
.I CVS
tree. If the work directory is set
anywhere, (command line, configuration file, environment variable), the root
directory value is ignored, since we only need the root directory to
set defaults for the work directory. This argument over rides the
settings in the environment variable
.B CVSDEB_ROOTDIR,
and the configuration file variable
.B conf_rootdir.
.TP
.B \-W<work directory>
The working directory, into which the sources will be exported out of
CVS and which should contain the original
.I <package\ name>_<version>.orig.tar.gz
Please note that it is not essential to have the original sources, as
this script will check out the vendor branch version tagged as
.B upstream_version_<version>
(without the Debian revision)
Setting this variable makes the settings for the root directory. This
argument over rides the settings in the environment variable
.B CVSDEB_WORKDIR,
and in the configuration file variable
.B conf_workdir.
.TP
.B \-F
The Force Tag option. This only has effect if run in the source
directory. If set, it forces a
.I cvs tag \-F
operation to be performed before exporting the sources. This
argument over rides the settings in the environment variable
.B CVSDEB_FORCETAG,
and in the configuration file variable
.B conf_forcetag.
The default action is not to force a tag before export.
.TP
.B \-d
Turn on debugging output. This lists the version numbers, the work and
root directories, as well as the CVS tag used to export the
sources. This over\-rides the
.I DEBUG
variable in the configuration file.
.TP
.B \-n
The no exec (or dry-run) option, causing
.B cvs\-buildpackage
to print out all actions that would be taken without actually
executing them.
.TP
.B \-x<prefix>
This option provides the CVS default module prefix (should really fix
the CVS modules file).
.PP
The rest of the command line arguments are passed on, uninterpreted,
to
.B dpkg\-buildpackage,
though we do pay attention to the -r
.B (root command)
option
(which gives the command to achieve root access, usually
.I sudo, fakeroot,
or
.I super
). The -r option over rides the other means of setting the root command,
namely, the environment variable
.B CVSDEB_ROOTCOMMAND,
which in turn over rides the config file option
.B conf_rootcommand.
No attempt is made to check any other option.
.SH FILES
Apart from the runtime options,
.B cvs\-buildpackage
also looks for site\-wide defaults in the file
.I /etc/cvsdeb.conf.
After that, it looks for and reads
.I \~/.cvsdeb.conf
The default configuration allows there to be a site wide override for
the root or the working directories on the site, but the
.I cvsdeb.conf
files are actually Bourne shell snippets, and any legal shell directives
may be included in there.
.B Note:
Caution is urged with this file, since you can totally change the way
that the script behaves by suitable editing this file.
.SH "SEE ALSO"
.BR dpkg-buildpackage (1),
.BR cvs-inject (1),
.BR cvs-upgrade (1),
.BR cvsdeb.conf (5),
.BR cvs (1).
.SH AUTHOR
This manual page was written Manoj Srivastava <srivasta@debian.org>,
for the Debian GNU/Linux system.
|