File: cvs-buildpackage.1

package info (click to toggle)
cvs-buildpackage 1.14
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 128 kB
  • ctags: 34
  • sloc: sh: 857; perl: 77; makefile: 61
file content (195 lines) | stat: -rw-r--r-- 6,726 bytes parent folder | download
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.