| @@ -1,13 +1,14 @@ | | | @@ -1,13 +1,14 @@ |
| | | 1 | .\" $NetBSD: sysbuild.1,v 1.3 2012/08/11 19:32:50 wiz Exp $ |
1 | .\" Copyright 2012 Google Inc. | | 2 | .\" Copyright 2012 Google Inc. |
2 | .\" All rights reserved. | | 3 | .\" All rights reserved. |
3 | .\" | | 4 | .\" |
4 | .\" Redistribution and use in source and binary forms, with or without | | 5 | .\" Redistribution and use in source and binary forms, with or without |
5 | .\" modification, are permitted provided that the following conditions are | | 6 | .\" modification, are permitted provided that the following conditions are |
6 | .\" met: | | 7 | .\" met: |
7 | .\" | | 8 | .\" |
8 | .\" * Redistributions of source code must retain the above copyright | | 9 | .\" * Redistributions of source code must retain the above copyright |
9 | .\" notice, this list of conditions and the following disclaimer. | | 10 | .\" notice, this list of conditions and the following disclaimer. |
10 | .\" * Redistributions in binary form must reproduce the above copyright | | 11 | .\" * Redistributions in binary form must reproduce the above copyright |
11 | .\" notice, this list of conditions and the following disclaimer in the | | 12 | .\" notice, this list of conditions and the following disclaimer in the |
12 | .\" documentation and/or other materials provided with the distribution. | | 13 | .\" documentation and/or other materials provided with the distribution. |
13 | .\" * Neither the name of Google Inc. nor the names of its contributors | | 14 | .\" * Neither the name of Google Inc. nor the names of its contributors |
| @@ -38,49 +39,55 @@ | | | @@ -38,49 +39,55 @@ |
38 | build | | 39 | build |
39 | .Op Fl f | | 40 | .Op Fl f |
40 | .Op Ar build_targets | | 41 | .Op Ar build_targets |
41 | .Nm | | 42 | .Nm |
42 | .Op Fl c Ar config_name | | 43 | .Op Fl c Ar config_name |
43 | .Op Fl o Ar variable=value | | 44 | .Op Fl o Ar variable=value |
44 | config | | 45 | config |
45 | .Nm | | 46 | .Nm |
46 | .Op Fl c Ar config_name | | 47 | .Op Fl c Ar config_name |
47 | .Op Fl o Ar variable=value | | 48 | .Op Fl o Ar variable=value |
48 | fetch | | 49 | fetch |
49 | .Sh DESCRIPTION | | 50 | .Sh DESCRIPTION |
50 | .Nm | | 51 | .Nm |
51 | is a utility to build NetBSD releases in a fully automated manner. | | 52 | is a utility to build |
| | | 53 | .Nx |
| | | 54 | releases in a fully automated manner. |
52 | The process is made unattended by relying on a configuration file that | | 55 | The process is made unattended by relying on a configuration file that |
53 | prespecifies the location of all build components and the desired goals of | | 56 | prespecifies the location of all build components and the desired goals of |
54 | the build. | | 57 | the build. |
55 | If you want to plug | | 58 | If you want to plug |
56 | .Nm | | 59 | .Nm |
57 | into | | 60 | into |
58 | .Xr cron 8 , | | 61 | .Xr cron 8 , |
59 | please take a look to | | 62 | please take a look to |
60 | .Xr sysbuild4cron 1 | | 63 | .Xr sysbuild4cron 1 |
61 | now. | | 64 | now. |
62 | .Pp | | 65 | .Pp |
63 | .Nm | | 66 | .Nm |
64 | can be seen as a simple wrapper over | | 67 | can be seen as a simple wrapper over |
65 | .Xr cvs 1 | | 68 | .Xr cvs 1 |
66 | and the | | 69 | and the |
67 | .Nm build.sh | | 70 | .Nm build.sh |
68 | script that ships with the NetBSD source tree. | | 71 | script that ships with the |
| | | 72 | .Nx |
| | | 73 | source tree. |
69 | .Nm | | 74 | .Nm |
70 | provides the following additional features: | | 75 | provides the following additional features: |
71 | .Bl -bullet | | 76 | .Bl -bullet |
72 | .It | | 77 | .It |
73 | Automatically fetch or update the NetBSD source trees (both src and xsrc) | | 78 | Automatically fetch or update the |
| | | 79 | .Nx |
| | | 80 | source trees (both src and xsrc) |
74 | before performing a build. | | 81 | before performing a build. |
75 | .It | | 82 | .It |
76 | Preconfigure the way | | 83 | Preconfigure the way |
77 | .Nm build.sh | | 84 | .Nm build.sh |
78 | is invoked by storing all relevant details in a configuration file. | | 85 | is invoked by storing all relevant details in a configuration file. |
79 | .It | | 86 | .It |
80 | Perform builds for a variety of platforms with a single invocation. | | 87 | Perform builds for a variety of platforms with a single invocation. |
81 | .It | | 88 | .It |
82 | Trivially set up periodic | | 89 | Trivially set up periodic |
83 | .Nx | | 90 | .Nx |
84 | rebuilds by adding a single line to your | | 91 | rebuilds by adding a single line to your |
85 | .Xr crontab 5 . | | 92 | .Xr crontab 5 . |
86 | .El | | 93 | .El |
| @@ -189,27 +196,29 @@ If the modules exist, this performs a CV | | | @@ -189,27 +196,29 @@ If the modules exist, this performs a CV |
189 | The | | 196 | The |
190 | .Va CVSROOT | | 197 | .Va CVSROOT |
191 | and | | 198 | and |
192 | .Va CVSTAG | | 199 | .Va CVSTAG |
193 | variables are used to determine where to get the sources from and whether a | | 200 | variables are used to determine where to get the sources from and whether a |
194 | particular tag is desired. | | 201 | particular tag is desired. |
195 | .Pp | | 202 | .Pp |
196 | The major use of this subcommand is the following. | | 203 | The major use of this subcommand is the following. |
197 | Consider that you wish to use the standard locations of | | 204 | Consider that you wish to use the standard locations of |
198 | .Pa /usr/src | | 205 | .Pa /usr/src |
199 | and | | 206 | and |
200 | .Pa /usr/xsrc | | 207 | .Pa /usr/xsrc |
201 | for your source trees, and that you would like to keep these owned by root | | 208 | for your source trees, and that you would like to keep these owned by root |
202 | while, at the same time, you run your NetBSD builds as an unprivileged user. | | 209 | while, at the same time, you run your |
| | | 210 | .Nx |
| | | 211 | builds as an unprivileged user. |
203 | In this situation, you can use the | | 212 | In this situation, you can use the |
204 | .Sq fetch | | 213 | .Sq fetch |
205 | command as root only, set | | 214 | command as root only, set |
206 | .Va UPDATE_SOURCES | | 215 | .Va UPDATE_SOURCES |
207 | to | | 216 | to |
208 | .Sq false | | 217 | .Sq false |
209 | in your user configuration files, and do your builds as another user. | | 218 | in your user configuration files, and do your builds as another user. |
210 | .Ss Configuration file | | 219 | .Ss Configuration file |
211 | Configuration files for | | 220 | Configuration files for |
212 | .Nm | | 221 | .Nm |
213 | are plain shell scripts that define a set of recognized variables. | | 222 | are plain shell scripts that define a set of recognized variables. |
214 | .Pp | | 223 | .Pp |
215 | As scripts, they can perform any magic they desire to deduce the value of | | 224 | As scripts, they can perform any magic they desire to deduce the value of |
| @@ -247,27 +256,28 @@ Whether to perform an update of the sour | | | @@ -247,27 +256,28 @@ Whether to perform an update of the sour |
247 | .Pp | | 256 | .Pp |
248 | Default: | | 257 | Default: |
249 | .Sq true . | | 258 | .Sq true . |
250 | .It Va XSRCDIR | | 259 | .It Va XSRCDIR |
251 | Path to the xsrc module. | | 260 | Path to the xsrc module. |
252 | If you want | | 261 | If you want |
253 | .Nm | | 262 | .Nm |
254 | to perform an update of this directory before every build, you will need | | 263 | to perform an update of this directory before every build, you will need |
255 | write access to it. | | 264 | write access to it. |
256 | Otherwise, you can use a read-only directory. | | 265 | Otherwise, you can use a read-only directory. |
257 | .Pp | | 266 | .Pp |
258 | Defining this variable causes | | 267 | Defining this variable causes |
259 | .Nm | | 268 | .Nm |
260 | to build the X Window System as part of the build of NetBSD. | | 269 | to build the X Window System as part of the build of |
| | | 270 | .Nx . |
261 | .Pp | | 271 | .Pp |
262 | Default: not defined. | | 272 | Default: not defined. |
263 | .El | | 273 | .El |
264 | .Pp | | 274 | .Pp |
265 | The following variables configure the location of the build files: | | 275 | The following variables configure the location of the build files: |
266 | .Bl -tag -width INCREMENTAL_BUILD | | 276 | .Bl -tag -width INCREMENTAL_BUILD |
267 | .It Va BUILD_ROOT | | 277 | .It Va BUILD_ROOT |
268 | Path to the directory in which to place build files. | | 278 | Path to the directory in which to place build files. |
269 | These include the obj tree, the destdir and the cross-build tools generated | | 279 | These include the obj tree, the destdir and the cross-build tools generated |
270 | by the | | 280 | by the |
271 | .Nm build.sh | | 281 | .Nm build.sh |
272 | script. | | 282 | script. |
273 | The contents of this directory are sorted by machine type so that it can be | | 283 | The contents of this directory are sorted by machine type so that it can be |
| @@ -330,21 +340,21 @@ corresponding | | | @@ -330,21 +340,21 @@ corresponding |
330 | file and the | | 340 | file and the |
331 | .Fl c | | 341 | .Fl c |
332 | flag is not provided. | | 342 | flag is not provided. |
333 | .It Pa ~/.sysbuild/ | | 343 | .It Pa ~/.sysbuild/ |
334 | Directory containing all user-specific configuration files. | | 344 | Directory containing all user-specific configuration files. |
335 | .It Pa ~/.sysbuild/default.conf | | 345 | .It Pa ~/.sysbuild/default.conf |
336 | Default configuration file to load when the | | 346 | Default configuration file to load when the |
337 | .Fl c | | 347 | .Fl c |
338 | flag is not provided. | | 348 | flag is not provided. |
339 | .El | | 349 | .El |
340 | .Sh SEE ALSO | | 350 | .Sh SEE ALSO |
341 | .Xr cvs 1 , | | 351 | .Xr cvs 1 , |
342 | .Xr sysbuild4cron 1 , | | 352 | .Xr sysbuild4cron 1 , |
343 | .Xr hier 7 and | | 353 | .Xr hier 7 , |
344 | .Pa /usr/src/BUILDING . | | 354 | .Pa /usr/src/BUILDING |
345 | .Sh AUTHORS | | 355 | .Sh AUTHORS |
346 | The | | 356 | The |
347 | .Nm | | 357 | .Nm |
348 | utility was developed by | | 358 | utility was developed by |
349 | .An Julio Merino | | 359 | .An Julio Merino |
350 | .Aq jmmv@NetBSD.org . | | 360 | .Aq jmmv@NetBSD.org . |