Sat Aug 11 19:32:51 2012 UTC ()
Use Nx for NetBSD. Add RCS Id. Remove dot at end of SEE ALSO.


(wiz)
diff -r1.2 -r1.3 pkgsrc/sysutils/sysbuild/files/sysbuild.1
diff -r1.1 -r1.2 pkgsrc/sysutils/sysbuild/files/sysbuild4cron.1

cvs diff -r1.2 -r1.3 pkgsrc/sysutils/sysbuild/files/Attic/sysbuild.1 (switch to unified diff)

--- pkgsrc/sysutils/sysbuild/files/Attic/sysbuild.1 2012/08/11 17:33:27 1.2
+++ pkgsrc/sysutils/sysbuild/files/Attic/sysbuild.1 2012/08/11 19:32:50 1.3
@@ -1,350 +1,360 @@ @@ -1,350 +1,360 @@
 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
14.\" may be used to endorse or promote products derived from this software 15.\" may be used to endorse or promote products derived from this software
15.\" without specific prior written permission. 16.\" without specific prior written permission.
16.\" 17.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28.Dd July 25, 2012 29.Dd July 25, 2012
29.Dt SYSBUILD 1 30.Dt SYSBUILD 1
30.Os 31.Os
31.Sh NAME 32.Sh NAME
32.Nm sysbuild 33.Nm sysbuild
33.Nd performs fully automatic builds of NetBSD 34.Nd performs fully automatic builds of NetBSD
34.Sh SYNOPSIS 35.Sh SYNOPSIS
35.Nm 36.Nm
36.Op Fl c Ar config_name 37.Op Fl c Ar config_name
37.Op Fl o Ar variable=value 38.Op Fl o Ar variable=value
38build 39build
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
44config 45config
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
48fetch 49fetch
49.Sh DESCRIPTION 50.Sh DESCRIPTION
50.Nm 51.Nm
51is a utility to build NetBSD releases in a fully automated manner. 52is a utility to build
 53.Nx
 54releases in a fully automated manner.
52The process is made unattended by relying on a configuration file that 55The process is made unattended by relying on a configuration file that
53prespecifies the location of all build components and the desired goals of 56prespecifies the location of all build components and the desired goals of
54the build. 57the build.
55If you want to plug 58If you want to plug
56.Nm 59.Nm
57into 60into
58.Xr cron 8 , 61.Xr cron 8 ,
59please take a look to 62please take a look to
60.Xr sysbuild4cron 1 63.Xr sysbuild4cron 1
61now. 64now.
62.Pp 65.Pp
63.Nm 66.Nm
64can be seen as a simple wrapper over 67can be seen as a simple wrapper over
65.Xr cvs 1 68.Xr cvs 1
66and the 69and the
67.Nm build.sh 70.Nm build.sh
68script that ships with the NetBSD source tree. 71script that ships with the
 72.Nx
 73source tree.
69.Nm 74.Nm
70provides the following additional features: 75provides the following additional features:
71.Bl -bullet 76.Bl -bullet
72.It 77.It
73Automatically fetch or update the NetBSD source trees (both src and xsrc) 78Automatically fetch or update the
 79.Nx
 80source trees (both src and xsrc)
74before performing a build. 81before performing a build.
75.It 82.It
76Preconfigure the way 83Preconfigure the way
77.Nm build.sh 84.Nm build.sh
78is invoked by storing all relevant details in a configuration file. 85is invoked by storing all relevant details in a configuration file.
79.It 86.It
80Perform builds for a variety of platforms with a single invocation. 87Perform builds for a variety of platforms with a single invocation.
81.It 88.It
82Trivially set up periodic 89Trivially set up periodic
83.Nx 90.Nx
84rebuilds by adding a single line to your 91rebuilds by adding a single line to your
85.Xr crontab 5 . 92.Xr crontab 5 .
86.El 93.El
87.Pp 94.Pp
88As you can see in the 95As you can see in the
89.Sx SYNOPSIS 96.Sx SYNOPSIS
90section, 97section,
91.Nm 98.Nm
92provides a subcommand-interface: the tool has several modes of operation, 99provides a subcommand-interface: the tool has several modes of operation,
93and the particular mode to use for a given run is selected by the first 100and the particular mode to use for a given run is selected by the first
94non-option argument in the command line. 101non-option argument in the command line.
95.Pp 102.Pp
96The following options apply to all commands: 103The following options apply to all commands:
97.Bl -tag -width XXXX 104.Bl -tag -width XXXX
98.It Fl c Ar config_name 105.It Fl c Ar config_name
99Specifies the configuration file to use. 106Specifies the configuration file to use.
100.Pp 107.Pp
101If 108If
102.Ar config_name 109.Ar config_name
103includes any directory separator (aka, one or more slashes) or the 110includes any directory separator (aka, one or more slashes) or the
104.Sq .conf 111.Sq .conf
105suffix, then this specifies the path of the configuration file to load. 112suffix, then this specifies the path of the configuration file to load.
106.Pp 113.Pp
107.If 114.If
108.Ar config_name 115.Ar config_name
109is a plain name without any directory components nor extension, then this 116is a plain name without any directory components nor extension, then this
110specifies the name of the configuration. 117specifies the name of the configuration.
111.Nm 118.Nm
112will first look for a configuration file in 119will first look for a configuration file in
113.Pa ~/.sysbuild/<config_name>.conf 120.Pa ~/.sysbuild/<config_name>.conf
114and, if not found, will use 121and, if not found, will use
115.Pa @SYSBUILD_ETCDIR@/<config_name>.conf . 122.Pa @SYSBUILD_ETCDIR@/<config_name>.conf .
116Any of the two files must exist, or else 123Any of the two files must exist, or else
117.Nm 124.Nm
118will exit with an error. 125will exit with an error.
119.It Fl o Ar variable=value 126.It Fl o Ar variable=value
120Applies an override to the loaded configuration. 127Applies an override to the loaded configuration.
121.Pp 128.Pp
122The 129The
123.Ar variable 130.Ar variable
124part of the argument must be any of the recognized configuration variables 131part of the argument must be any of the recognized configuration variables
125described in 132described in
126.Sx Configuration file 133.Sx Configuration file
127below. 134below.
128The 135The
129.Ar value , 136.Ar value ,
130if not empty, specifies the value to set the configuration variable to. 137if not empty, specifies the value to set the configuration variable to.
131If 138If
132.Ar value 139.Ar value
133is empty, then the configuration variable is unset. 140is empty, then the configuration variable is unset.
134.El 141.El
135.Ss The build command 142.Ss The build command
136The build command provides the main functionality of 143The build command provides the main functionality of
137.Nm . 144.Nm .
138It performs the following steps: 145It performs the following steps:
139.Bl -enum 146.Bl -enum
140.It 147.It
141If 148If
142.Va UPDATE_SOURCES 149.Va UPDATE_SOURCES
143is true, the fetch command is invoked first. 150is true, the fetch command is invoked first.
144See 151See
145.Sx The fetch command 152.Sx The fetch command
146for more details. 153for more details.
147.It 154.It
148For every machine type listed in 155For every machine type listed in
149.Va MACHINES , 156.Va MACHINES ,
150issues a 157issues a
151.Nm build.sh 158.Nm build.sh
152call for that particular machine using the rest of the settings defined in 159call for that particular machine using the rest of the settings defined in
153the configuration file. 160the configuration file.
154The targets passed to the 161The targets passed to the
155.Nm build.sh 162.Nm build.sh
156script are those defined in the 163script are those defined in the
157.Va BUILD_TARGETS 164.Va BUILD_TARGETS
158variable, or the arguments passed through the command line if any. 165variable, or the arguments passed through the command line if any.
159.El 166.El
160.Pp 167.Pp
161The following options apply only to the build command: 168The following options apply only to the build command:
162.Bl -tag -width XXXX 169.Bl -tag -width XXXX
163.It Fl f 170.It Fl f
164Enables fast mode, which skips updating the source trees and performs 171Enables fast mode, which skips updating the source trees and performs
165update builds. 172update builds.
166This is a shorthand for these generic flags: 173This is a shorthand for these generic flags:
167.Fl o Ar INCREMENTAL_BUILD=true 174.Fl o Ar INCREMENTAL_BUILD=true
168.Fl o Ar UPDATE_SOURCES=false . 175.Fl o Ar UPDATE_SOURCES=false .
169.El 176.El
170.Ss The config command 177.Ss The config command
171The config command dumps the loaded configuration to the standard output. 178The config command dumps the loaded configuration to the standard output.
172The format of the output is not a script, so it cannot be fed back into 179The format of the output is not a script, so it cannot be fed back into
173.Nm . 180.Nm .
174The purpose of this command is to aid in debugging the configuration of the 181The purpose of this command is to aid in debugging the configuration of the
175tool before performing any builds, particularly when the configuration 182tool before performing any builds, particularly when the configuration
176files use shell logic to determine the value of any variables. 183files use shell logic to determine the value of any variables.
177.Ss The fetch command 184.Ss The fetch command
178The fetch command downloads or updates the 185The fetch command downloads or updates the
179.Nx 186.Nx
180source trees, which include src and, optionally, xsrc. 187source trees, which include src and, optionally, xsrc.
181.Pp 188.Pp
182If the modules do not exist yet in the locations specified by 189If the modules do not exist yet in the locations specified by
183.Va SRCDIR 190.Va SRCDIR
184and 191and
185.Va XSRCDIR , 192.Va XSRCDIR ,
186this performs an initial CVS checkout of the trees. 193this performs an initial CVS checkout of the trees.
187If the modules exist, this performs a CVS update. 194If the modules exist, this performs a CVS update.
188.Pp 195.Pp
189The 196The
190.Va CVSROOT 197.Va CVSROOT
191and 198and
192.Va CVSTAG 199.Va CVSTAG
193variables are used to determine where to get the sources from and whether a 200variables are used to determine where to get the sources from and whether a
194particular tag is desired. 201particular tag is desired.
195.Pp 202.Pp
196The major use of this subcommand is the following. 203The major use of this subcommand is the following.
197Consider that you wish to use the standard locations of 204Consider that you wish to use the standard locations of
198.Pa /usr/src 205.Pa /usr/src
199and 206and
200.Pa /usr/xsrc 207.Pa /usr/xsrc
201for your source trees, and that you would like to keep these owned by root 208for your source trees, and that you would like to keep these owned by root
202while, at the same time, you run your NetBSD builds as an unprivileged user. 209while, at the same time, you run your
 210.Nx
 211builds as an unprivileged user.
203In this situation, you can use the 212In this situation, you can use the
204.Sq fetch 213.Sq fetch
205command as root only, set 214command as root only, set
206.Va UPDATE_SOURCES 215.Va UPDATE_SOURCES
207to 216to
208.Sq false 217.Sq false
209in your user configuration files, and do your builds as another user. 218in your user configuration files, and do your builds as another user.
210.Ss Configuration file 219.Ss Configuration file
211Configuration files for 220Configuration files for
212.Nm 221.Nm
213are plain shell scripts that define a set of recognized variables. 222are plain shell scripts that define a set of recognized variables.
214.Pp 223.Pp
215As scripts, they can perform any magic they desire to deduce the value of 224As scripts, they can perform any magic they desire to deduce the value of
216the configuration variables. 225the configuration variables.
217For example, the default configuration file shipped with 226For example, the default configuration file shipped with
218.Nm 227.Nm
219automatically deduces the value of the 228automatically deduces the value of the
220.Va NJOBS 229.Va NJOBS
221variable by looking at how many CPUs are available in the system. 230variable by looking at how many CPUs are available in the system.
222.Pp 231.Pp
223The following variables configure the source trees: 232The following variables configure the source trees:
224.Bl -tag -width INCREMENTAL_BUILD 233.Bl -tag -width INCREMENTAL_BUILD
225.It Va CVSROOT 234.It Va CVSROOT
226Location of the CVS root from which to check out or update the src and xsrc 235Location of the CVS root from which to check out or update the src and xsrc
227modules. 236modules.
228.Pp 237.Pp
229Default: 238Default:
230.Sq :ext:anoncvs@anoncvs.NetBSD.org:/cvsroot 239.Sq :ext:anoncvs@anoncvs.NetBSD.org:/cvsroot
231.It Va CVSTAG 240.It Va CVSTAG
232CVS tag to use during checkouts or updates of the src and xsrc modules. 241CVS tag to use during checkouts or updates of the src and xsrc modules.
233.Pp 242.Pp
234Default: not defined. 243Default: not defined.
235.It Va SRCDIR 244.It Va SRCDIR
236Path to the src module. 245Path to the src module.
237If you want 246If you want
238.Nm 247.Nm
239to perform an update of this directory before every build, you will need 248to perform an update of this directory before every build, you will need
240write access to it. 249write access to it.
241Otherwise, you can use a read-only directory. 250Otherwise, you can use a read-only directory.
242.Pp 251.Pp
243Default: 252Default:
244.Pa /usr/src . 253.Pa /usr/src .
245.It Va UPDATE_SOURCES 254.It Va UPDATE_SOURCES
246Whether to perform an update of the source tree before every build or not. 255Whether to perform an update of the source tree before every build or not.
247.Pp 256.Pp
248Default: 257Default:
249.Sq true . 258.Sq true .
250.It Va XSRCDIR 259.It Va XSRCDIR
251Path to the xsrc module. 260Path to the xsrc module.
252If you want 261If you want
253.Nm 262.Nm
254to perform an update of this directory before every build, you will need 263to perform an update of this directory before every build, you will need
255write access to it. 264write access to it.
256Otherwise, you can use a read-only directory. 265Otherwise, you can use a read-only directory.
257.Pp 266.Pp
258Defining this variable causes 267Defining this variable causes
259.Nm 268.Nm
260to build the X Window System as part of the build of NetBSD. 269to build the X Window System as part of the build of
 270.Nx .
261.Pp 271.Pp
262Default: not defined. 272Default: not defined.
263.El 273.El
264.Pp 274.Pp
265The following variables configure the location of the build files: 275The 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
268Path to the directory in which to place build files. 278Path to the directory in which to place build files.
269These include the obj tree, the destdir and the cross-build tools generated 279These include the obj tree, the destdir and the cross-build tools generated
270by the 280by the
271.Nm build.sh 281.Nm build.sh
272script. 282script.
273The contents of this directory are sorted by machine type so that it can be 283The contents of this directory are sorted by machine type so that it can be
274shared across builds for different machines. 284shared across builds for different machines.
275.Pp 285.Pp
276Default: 286Default:
277.Pa ~/sysbuild/ . 287.Pa ~/sysbuild/ .
278.It Va RELEASEDIR 288.It Va RELEASEDIR
279Path to the directory that will contain the build products (aka the release 289Path to the directory that will contain the build products (aka the release
280files). 290files).
281The contents of this directory are sorted by machine type so that it can be 291The contents of this directory are sorted by machine type so that it can be
282shared across builds for different machines. 292shared across builds for different machines.
283.Pp 293.Pp
284Default: 294Default:
285.Pa ~/sysbuild/release . 295.Pa ~/sysbuild/release .
286.El 296.El
287.Pp 297.Pp
288The following variables configure the build process: 298The following variables configure the build process:
289.Bl -tag -width INCREMENTAL_BUILD 299.Bl -tag -width INCREMENTAL_BUILD
290.It Va BUILD_TARGETS 300.It Va BUILD_TARGETS
291Whitespace-separated list of targets to pass to 301Whitespace-separated list of targets to pass to
292.Nm build.sh 302.Nm build.sh
293during builds. 303during builds.
294.Pp 304.Pp
295Default: 305Default:
296.Sq release . 306.Sq release .
297.It Va INCREMENTAL_BUILD 307.It Va INCREMENTAL_BUILD
298Whether to perform update builds or not. 308Whether to perform update builds or not.
299An update build reuses existing obj, destdir and tools trees. 309An update build reuses existing obj, destdir and tools trees.
300.Pp 310.Pp
301Of special note is that 311Of special note is that
302.Nm 312.Nm
303will take care of pruning files likely to cause breakage during update 313will take care of pruning files likely to cause breakage during update
304builds before performing the build itself. 314builds before performing the build itself.
305As an example, this includes deleting all the modules from 315As an example, this includes deleting all the modules from
306.Pa destdir/stand/<platform>/ . 316.Pa destdir/stand/<platform>/ .
307.Pp 317.Pp
308Default: 318Default:
309.Sq false . 319.Sq false .
310.It Va MACHINES 320.It Va MACHINES
311Whitespace-separated list of machine types to build for. 321Whitespace-separated list of machine types to build for.
312.Pp 322.Pp
313Default: the name of the host machine type. 323Default: the name of the host machine type.
314.It Va NJOBS 324.It Va NJOBS
315Number of parallel jobs to use during the build. 325Number of parallel jobs to use during the build.
316If not set, disables parallel builds (which, due to 326If not set, disables parallel builds (which, due to
317.Nm make 1 327.Nm make 1
318semantics, is not the same as setting this to 1). 328semantics, is not the same as setting this to 1).
319.Pp 329.Pp
320Default: not defined. 330Default: not defined.
321.El 331.El
322.Sh FILES 332.Sh FILES
323.Bl -tag -width XXXX 333.Bl -tag -width XXXX
324.It Pa @SYSBUILD_ETCDIR@/ 334.It Pa @SYSBUILD_ETCDIR@/
325Directory containing all system-wide configuration files. 335Directory containing all system-wide configuration files.
326.It Pa @SYSBUILD_ETCDIR@/default.conf 336.It Pa @SYSBUILD_ETCDIR@/default.conf
327Default configuration file to load if the user does not have a 337Default configuration file to load if the user does not have a
328corresponding 338corresponding
329.Pa ~/.sysbuild/default.conf 339.Pa ~/.sysbuild/default.conf
330file and the 340file and the
331.Fl c 341.Fl c
332flag is not provided. 342flag is not provided.
333.It Pa ~/.sysbuild/ 343.It Pa ~/.sysbuild/
334Directory containing all user-specific configuration files. 344Directory containing all user-specific configuration files.
335.It Pa ~/.sysbuild/default.conf 345.It Pa ~/.sysbuild/default.conf
336Default configuration file to load when the 346Default configuration file to load when the
337.Fl c 347.Fl c
338flag is not provided. 348flag 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
346The 356The
347.Nm 357.Nm
348utility was developed by 358utility was developed by
349.An Julio Merino 359.An Julio Merino
350.Aq jmmv@NetBSD.org . 360.Aq jmmv@NetBSD.org .

cvs diff -r1.1 -r1.2 pkgsrc/sysutils/sysbuild/files/Attic/sysbuild4cron.1 (switch to unified diff)

--- pkgsrc/sysutils/sysbuild/files/Attic/sysbuild4cron.1 2012/07/25 12:18:23 1.1
+++ pkgsrc/sysutils/sysbuild/files/Attic/sysbuild4cron.1 2012/08/11 19:32:50 1.2
@@ -1,87 +1,88 @@ @@ -1,87 +1,88 @@
 1.\" $NetBSD: sysbuild4cron.1,v 1.2 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
14.\" may be used to endorse or promote products derived from this software 15.\" may be used to endorse or promote products derived from this software
15.\" without specific prior written permission. 16.\" without specific prior written permission.
16.\" 17.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28.Dd July 25, 2012 29.Dd July 25, 2012
29.Dt SYSBUILD4CRON 1 30.Dt SYSBUILD4CRON 1
30.Os 31.Os
31.Sh NAME 32.Sh NAME
32.Nm sysbuild4cron 33.Nm sysbuild4cron
33.Nd performs fully automatic builds of NetBSD from cron 34.Nd performs fully automatic builds of NetBSD from cron
34.Sh SYNOPSIS 35.Sh SYNOPSIS
35.Nm 36.Nm
36.Op Fl l Ar logdir 37.Op Fl l Ar logdir
37.Op Fl r Ar recipient 38.Op Fl r Ar recipient
38-- 39--
39.Ar sysbuild_arguments 40.Ar sysbuild_arguments
40.Sh DESCRIPTION 41.Sh DESCRIPTION
41.Nm 42.Nm
42is a wrapper over 43is a wrapper over
43.Xr sysbuild 1 44.Xr sysbuild 1
44that allows plugging 45that allows plugging
45.Nx 46.Nx
46builds into 47builds into
47.Xr cron 8 48.Xr cron 8
48with minimal effort. 49with minimal effort.
49.Pp 50.Pp
50.Nm 51.Nm
51executes 52executes
52.Xr sysbuild 1 53.Xr sysbuild 1
53with the given arguments after the 54with the given arguments after the
54.Sq -- 55.Sq --
55marker, stores the output of the build in a log file and, if the exit code of 56marker, stores the output of the build in a log file and, if the exit code of
56the tool indicated an error, proceeds to send an error report to a given 57the tool indicated an error, proceeds to send an error report to a given
57recipient. 58recipient.
58.Pp 59.Pp
59Unless 60Unless
60.Nm 61.Nm
61detects an error in the usage of this wrapper script, the tool does not print 62detects an error in the usage of this wrapper script, the tool does not print
62any output to the console and does not return any error codes. 63any output to the console and does not return any error codes.
63All errors are reported by means of email. 64All errors are reported by means of email.
64.Pp 65.Pp
65The following options are supported: 66The following options are supported:
66.Bl -tag -width XXXX 67.Bl -tag -width XXXX
67.It Fl l Ar logdir 68.It Fl l Ar logdir
68Path to the directory that will keep the logs of all the calls to 69Path to the directory that will keep the logs of all the calls to
69.Xr sysbuild 1 . 70.Xr sysbuild 1 .
70.Pp 71.Pp
71Default: 72Default:
72.Pa ~/sysbuild/log . 73.Pa ~/sysbuild/log .
73.It Fl r Ar recipient 74.It Fl r Ar recipient
74Email address of the recipient of the failure messages. 75Email address of the recipient of the failure messages.
75.Pp 76.Pp
76Default: the current username, without a domain part. 77Default: the current username, without a domain part.
77.El 78.El
78.Sh SEE ALSO 79.Sh SEE ALSO
79.Xr crontab 1 , 80.Xr crontab 1 ,
80.Xr sysbuild 1 , 81.Xr sysbuild 1 ,
81.Xr crontab 5 . 82.Xr crontab 5
82.Sh AUTHORS 83.Sh AUTHORS
83The 84The
84.Nm 85.Nm
85utility was developed by 86utility was developed by
86.An Julio Merino 87.An Julio Merino
87.Aq jmmv@NetBSD.org . 88.Aq jmmv@NetBSD.org .