xref: /netbsd-src/share/man/man7/release.7 (revision b5677b36047b601b9addaaa494a58ceae82c2a6c)
1.\"	$NetBSD: release.7,v 1.27 2009/04/09 03:02:21 joerg Exp $
2.\"
3.\" Copyright (c) 1997, 2000, 2005 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Charles M. Hannum and Jason R. Thorpe.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd August 30, 2007
31.Dt RELEASE 7
32.Os
33.Sh NAME
34.Nm release
35.Nd layout of NetBSD releases and snapshots
36.Sh DESCRIPTION
37This document describes the layout of
38.Nx
39releases and snapshots.
40This layout should be consistent between FTP servers and CD-ROMs,
41except possibly the path that leads to the release hierarchy.
42.Pp
43In this document, the following special words have these definitions:
44.Bl -tag -width "\*[Lt]machine_arch\*[Gt]"
45.It Em \*[Lt]machine\*[Gt]
46The platform for which the release was built, corresponding to the
47.Em hw.machine
48sysctl variable, e.g.
49.Em i386
50or
51.Em amiga .
52.It Em \*[Lt]machine_arch\*[Gt]
53The architecture for which a particular installation set was built,
54corresponding to the
55.Em hw.machine_arch
56sysctl variable, e.g.
57.Em i386
58or
59.Em m68k .
60.It Em \*[Lt]rel\*[Gt]
61The target release.
62.El
63.Pp
64All
65.Sy README
66files are descriptions of the various files in directories that have
67.Dq non-standard
68contents.
69There may also be a
70.Sy README
71file at the top-level,
72describing who built the snapshot and under what circumstances
73.Po e.g. whether it's an official
74.Nx
75snapshot, or not
76.Pc .
77.Pp
78All
79.Sy BSDSUM
80files are historic
81.Bx
82checksums for the various files in that directory,
83in the format produced by the command:
84.Sy cksum -o 1 \*[Lt]file\*[Gt] .
85.Pp
86All
87.Sy CKSUM
88files are POSIX checksums for the various files in that directory, in the
89format produced by the command:
90.Sy cksum \*[Lt]file\*[Gt] .
91.Pp
92All
93.Sy MD5
94files are MD5 digests for the various files in that directory, in the
95format produced by the command:
96.Sy cksum -m \*[Lt]file\*[Gt] .
97.Pp
98All
99.Sy SYSVSUM
100files are historic
101.At V
102checksums for the various files in
103that directory, in the format produced by the command:
104.Sy cksum -o 2 \*[Lt]file\*[Gt] .
105.Pp
106The MD5 digest is the safest checksum, followed by the POSIX checksum.
107The other two checksums are provided only to ensure that the widest possible
108range of system can check the integrity of the release files.
109.Pp
110Files that end in
111.Sy .tgz
112are gzipped tar archives.  This is used in lieu of
113.Sy .tar.gz
114because the software used to download the sets may incorrectly auto-unpack
115files ending in
116.Sy .gz
117and to accommodate systems which only support 3 character extensions
118to file names.
119.Pp
120All tar archives are relative to the target's
121.Sy /
122directory, and
123.Em do not
124include the leading
125.Dq / .
126.Pp
127All compression of release files is to be performed with the command:
128.Sy gzip -9 .
129.Pp
130The root of the release hierarchy may be the root directory of a
131CD-ROM, but in all other cases it should be
132.Sm off
133.Xo
134.Sy .../NetBSD-
135.Em \*[Lt]rel\*[Gt]
136.Sy / .
137.Xc
138.Sm on
139.Pp
140The root of the release hierarchy should contain the following
141files and subdirectories:
142.Pp
143.Bl -tag -width "\*[Lt]machine\*[Gt]"
144.It Sy SOURCE_DATE
145A file containing the date, in UTC, of the source code from which the
146release or snapshot was built, in the default format produced by the
147command:
148.Sy date -u .
149.
150.It Sy iso/
151CDROM images in ISO 9660 format, usually created with
152.Dq ./build.sh ... iso-image ...
153after a
154.Dq ./build.sh -x ... release ...
155in
156.Pa src
157or created with
158.Dq ./build.sh ... iso-image-source ...
159after a
160.Dq ./build.sh -x ... release sourcesets ...
161in
162.Pa src .
163.Pp
164Images in this directory, unlike images in the
165.Sm off
166.Xo
167.Sy .../NetBSD-
168.Em \*[Lt]rel\*[Gt]
169.Sy /
170.Em \*[Lt]machine\*[Gt]
171.Sy /installation/cdrom/
172.Xc
173.Sm on
174directory, should contain file systems that
175have an internal layout that corresponds to
176a complete release for one or more machine types.
177If built with
178.Dq iso-image-source ,
179then it will also contain a
180.Dq source
181directory.
182These images are usually bootable.
183.Bl -tag -width "\*[Lt]machine_arch\*[Gt]cd.iso"
184.It Sy BSDSUM
185.It Sy CKSUM
186.It Sy MD5
187.It Sy README
188.It Sy SYSVSUM
189.It Em \*[Lt]machine_arch\*[Gt] Ns Sy cd.iso
190.El
191.
192.It Sy shared/
193Files shared by two or more machine types.
194.Bl -tag -width "\*[Lt]machine_arch\*[Gt]"
195.It Em \*[Lt]machine_arch\*[Gt] Ns Pa /
196Files which may be shared by all systems of the same
197.Em \*[Lt]machine_arch\*[Gt]
198will be located in
199.Sm off
200.Xo
201.Sy .../NetBSD-
202.Em \*[Lt]rel\*[Gt]
203.Sy /shared/
204.Em \*[Lt]machine_arch\*[Gt]
205.Sy /
206.Xc
207.Sm on
208with symbolic links pointing to these files from the
209.Em \*[Lt]machine\*[Gt]
210subdirectory.
211.It Sy ALL/
212Files which are completely machine-independent will be
213located in
214.Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /shared/ALL/
215with symbolic links pointing to these files from the
216.Em \*[Lt]machine\*[Gt]
217subdirectory.
218.El
219.
220.It Sy source/
221Source codes of the operating system and patches for it
222should be put into
223.Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /source/
224using the following layout:
225.Pp
226.Bl -tag -width "patches/"
227.It Sy patches/
228This directory contains various patch files appropriate for
229.Xr patch 1 .
230Other patches may exist for fixing critical problems.
231.Bl -tag -width "sharesrc.tgz"
232.It Sy BSDSUM
233.It Sy CKSUM
234.It Sy MD5
235.It Sy README
236.It Sy SYSVSUM
237.It Sy diff- Ns Em \*[Lt]lastrel\*[Gt] Ns Sy - Ns Em \*[Lt]rel\*[Gt] Ns Sy .gz
238Diff against the last release, usually generated by
239.Ic cvs rdiff .
240For patch releases, diffs against the last release
241are included.  If the last release was a patch release itself, the
242diff is against that patch release is included.
243.El
244.It Sy sets/
245Sources for the various system sets, based on their modules
246in the CVS server.
247.\" XXX how are these generated? Separate checkout of each module?
248.Bl -tag -width "sharesrc.tgz"
249.It Sy BSDSUM
250.It Sy CKSUM
251.It Sy MD5
252.It Sy README
253.It Sy SYSVSUM
254.It Sy gnusrc.tgz
255Contains sources for all GPLed and possibly other programs that
256contains restrictions in their licensing that prevent others from
257using these programs in closed-source environments.
258.It Sy pkgsrc.tgz
259Package-sources for third party software ready to compile. See
260pkgsrc/README for more information.
261.It Sy sharesrc.tgz
262Contains machine-independent data files that can be shared across
263architectures/systems.
264.It Sy src.tgz
265The operating system's userland source code, including all programs,
266tools, toolchain, etc.
267.It Sy syssrc.tgz
268Kernel sources for all architectures plus sources of the tools needed
269to build kernels (like
270.Xr config 1 ) .
271.It Sy xsrc.tgz
272Source code of the X Window System used on all NetBSD architectures.
273Includes X clients and servers.
274.El
275.El
276.
277.It Em \*[Lt]machine\*[Gt] Ns Pa /
278The binary releases in
279.Sm off
280.Xo
281.Sy .../NetBSD-
282.Em \*[Lt]rel\*[Gt]
283.Sy /
284.Em \*[Lt]machine\*[Gt]
285.Sy /
286.Xc
287.Sm on
288follow the following layout:
289.Bl -tag -width "installation/"
290.It Sy INSTALL.txt
291Installation notes, including complete descriptions of files contained
292within the release hierarchy
293.It Sy INSTALL.more
294pretty version of this, suited for viewing with
295.Xr more 1
296.It Sy INSTALL.html
297HTML version of this
298.It Sy INSTALL.ps
299PostScript version of this
300.It Sy binary/
301system binaries
302.Bl -tag -width "SYSVSUM/"
303.It Sy sets/
304installation sets
305.Bl -tag -width "xcontrib.tgz"
306.It Sy BSDSUM
307.It Sy CKSUM
308.It Sy MD5
309.It Sy SYSVSUM
310.It Sy base.tgz
311The base binary distribution.  This set contains the base
312.Nx
313utilities that are necessary for the system to run and be minimally
314functional.  It includes shared libraries for those architectures that
315support them.  This set excludes all things listed in the sets
316described below.
317.It Sy comp.tgz
318The compiler tools distribution.  This set contains the C and C++
319compilers, assembler, linker, other toolchain components, and their
320manual pages.  It also includes the system include files
321.Pq Pa /usr/include
322, and the static system libraries.
323.It Sy etc.tgz
324This set contains the system configuration files that reside in
325.Pa /etc
326and in several other places throughout the file system hierarchy.
327.It Sy games.tgz
328This set includes the games and their manual pages.
329.It Sy kern.tgz
330This set includes a generic kernel.
331.It Sy man.tgz
332This set includes all of the manual pages for the binaries and other
333software contained in the
334.Sy base
335set which are not included in the other sets.
336.It Sy misc.tgz
337This set includes the system dictionaries (which are rather large), the
338typesettable document set, and manual pages for other architectures, which
339happen to be installed from the source tree by default.
340.It Sy text.tgz
341This set includes the
342.Nx
343text processing tools, including
344.Xr groff 1 ,
345all related programs, and their manual pages.
346.It Sy xbase.tgz
347This set includes the base X11 distribution, including manual pages and
348shared libraries for those architectures that support them, and excluding
349everything contained in the other X11 sets.
350.It Sy xcomp.tgz
351This set includes the X11 include files and static X11 libraries.
352.It Sy xcontrib.tgz
353This set includes binaries and manual pages for programs built from the
354X11
355.Dq contrib
356sources.
357.It Sy xfont.tgz
358This set includes the X11 fonts.
359.It Sy xserver.tgz
360This set includes the X servers and manual pages for \*[Lt]machine\*[Gt].
361.Em "Note: this set may not be available on some platforms" .
362.El
363.It Sy kernel/
364suitably named, gzipped kernels
365.Bl -tag -width "netbsd-GENERIC.gz"
366.It Sy BSDSUM
367.It Sy CKSUM
368.It Sy MD5
369.It Sy README
370.It Sy SYSVSUM
371.It Sy netbsd-GENERIC.gz
372A kernel built from the
373.Sy GENERIC
374kernel configuration file.  This is meant as an example only; different
375platforms may have differently named kernels.
376.El
377.El
378.It Sy installation/
379installation helper items
380.Bl -tag -width "diskimage/"
381.It Sy cdrom/
382CDROM images in ISO 9660 format, usually created as part of
383.Dq build.sh ... release ...
384in
385.Pa src .
386.Pp
387Images in this directory will typically be bootable,
388and will contain one or more of a kernel, installation tools,
389and rescue tools.
390They will not contain installation sets, source sets, or
391other components of a complete release.
392.Bl -tag -width "netbsd-ARCH.iso"
393.It Sy BSDSUM
394.It Sy CKSUM
395.It Sy MD5
396.It Sy README
397.It Sy SYSVSUM
398.It Sy netbsd- Ns Em \*[Lt]machine_arch\*[Gt] Ns Sy .iso
399.El
400.It Sy diskimage/
401disk images, for those platforms that provide them
402.Bl -tag -width "diskimage-rz25.gz"
403.It Sy BSDSUM
404.It Sy CKSUM
405.It Sy MD5
406.It Sy README
407.It Sy SYSVSUM
408.It Sy diskimage-rz25.gz
409.El
410.It Sy floppy/
411floppy images, for those platforms that provide them
412.Bl -tag -width "floppy-144.gz"
413.It Sy BSDSUM
414.It Sy CKSUM
415.It Sy MD5
416.It Sy README
417.It Sy SYSVSUM
418.It Sy floppy-144.gz
419.El
420.It Sy miniroot/
421miniroot images, for those platforms that provide them
422.Bl -tag -width "miniroot.gz"
423.It Sy BSDSUM
424.It Sy CKSUM
425.It Sy MD5
426.It Sy README
427.It Sy SYSVSUM
428.It Sy miniroot.gz
429.El
430.It Sy misc/
431miscellaneous installation helper utilities, including boot selectors,
432floppy writing software, other software that runs under foreign operating
433systems, etc.
434.Bl -tag -width "CKSUMS"
435.It Sy BSDSUM
436.It Sy CKSUM
437.It Sy MD5
438.It Sy README
439.It Sy SYSVSUM
440.It Sy ...
441.El
442.It Sy netboot/
443network boot programs
444.Bl -tag -width "netboot.gz"
445.It Sy BSDSUM
446.It Sy CKSUM
447.It Sy MD5
448.It Sy README
449.It Sy SYSVSUM
450.It Sy netboot.gz
451.El
452.It Sy tapeimage/
453tape images, for those platforms that provide them
454.Bl -tag -width "tapeimage-hp9144.gz"
455.It Sy BSDSUM
456.It Sy CKSUM
457.It Sy MD5
458.It Sy README
459.It Sy SYSVSUM
460.It Sy tapeimage-hp9144.gz
461.El
462.El
463.El
464.El
465.Sh SEE ALSO
466.Xr cksum 1 ,
467.Xr date 1 ,
468.Xr gzip 1 ,
469.Xr split 1 ,
470.Xr tar 1
471.Sh HISTORY
472The
473.Nm
474manual page first appeared in
475.Nx 1.3 .
476