xref: /netbsd-src/share/man/man7/release.7 (revision 466a16a118933bd295a8a104f095714fadf9cf68)
1.\"	$NetBSD: release.7,v 1.25 2008/04/30 13:10:57 martin 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.
145.It Sy SOURCE_DATE
146A file containing the date, in UTC, of the source code from which the
147release or snapshot was built, in the default format produced by the
148command:
149.Sy date -u .
150.
151.It Sy iso/
152CDROM images in ISO 9660 format, usually created with
153.Dq ./build.sh ... iso-image ...
154after a
155.Dq ./build.sh -x ... release ...
156in
157.Pa src
158or created with
159.Dq ./build.sh ... iso-image-source ...
160after a
161.Dq ./build.sh -x ... release sourcesets ...
162in
163.Pa src .
164.Pp
165Images in this directory, unlike images in the
166.Sm off
167.Xo
168.Sy .../NetBSD-
169.Em \*[Lt]rel\*[Gt]
170.Sy /
171.Em \*[Lt]machine\*[Gt]
172.Sy /installation/cdrom/
173.Xc
174.Sm on
175directory, should contain file systems that
176have an internal layout that corresponds to
177a complete release for one or more machine types.
178If built with
179.Dq iso-image-source ,
180then it will also contain a
181.Dq source
182directory.
183These images are usually bootable.
184.Bl -tag -width "\*[Lt]machine_arch\*[Gt]cd.iso"
185.It Sy BSDSUM
186.It Sy CKSUM
187.It Sy MD5
188.It Sy README
189.It Sy SYSVSUM
190.Sm off
191.It Xo
192.Em \*[Lt]machine_arch\*[Gt]
193.Sy cd.iso
194.Xc
195.Sm on
196.El
197.
198.It Sy shared/
199Files shared by two or more machine types.
200.Bl -tag -width "\*[Lt]machine_arch\*[Gt]"
201.It Em \*[Lt]machine_arch\*[Gt] Ns Pa /
202Files which may be shared by all systems of the same
203.Em \*[Lt]machine_arch\*[Gt]
204will be located in
205.Sm off
206.Xo
207.Sy .../NetBSD-
208.Em \*[Lt]rel\*[Gt]
209.Sy /shared/
210.Em \*[Lt]machine_arch\*[Gt]
211.Sy /
212.Xc
213.Sm on
214with symbolic links pointing to these files from the
215.Em \*[Lt]machine\*[Gt]
216subdirectory.
217.It Sy ALL/
218Files which are completely machine-independent will be
219located in
220.Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /shared/ALL/
221with symbolic links pointing to these files from the
222.Em \*[Lt]machine\*[Gt]
223subdirectory.
224.El
225.
226.It Sy source/
227Source codes of the operating system and patches for it
228should be put into
229.Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /source/
230using the following layout:
231.Pp
232.Bl -tag -width "patches/"
233.It Sy patches/
234This directory contains various patch files appropriate for
235.Xr patch 1 .
236Other patches may exist for fixing critical problems.
237.Bl -tag -width "diff-1.4.1-to-1.4.2.gz"
238.It Sy BSDSUM
239.It Sy CKSUM
240.It Sy MD5
241.It Sy README
242.It Sy SYSVSUM
243.It Xo
244.Sm off
245.Sy diff-
246.Em \*[Lt]lastrel\*[Gt]
247.Sy -
248.Em \*[Lt]rel\*[Gt]
249.Sy .gz
250.Sm on
251.Xc
252Diff against the last release, usually generated by
253.Ic cvs rdiff .
254For patch releases, diffs against the last release
255are included.  If the last release was a patch release itself, the
256diff is against that patch release is included.
257.El
258.It Sy sets/
259Sources for the various system sets, based on their modules
260in the CVS server.
261.\" XXX how are these generated? Separate checkout of each module?
262.Bl -tag -width "sharesrc.tgz"
263.It Sy BSDSUM
264.It Sy CKSUM
265.It Sy MD5
266.It Sy README
267.It Sy SYSVSUM
268.It Sy gnusrc.tgz
269Contains sources for all GPLed and possibly other programs that
270contains restrictions in their licensing that prevent others from
271using these programs in closed-source environments.
272.It Sy pkgsrc.tgz
273Package-sources for third party software ready to compile. See
274pkgsrc/README for more information.
275.It Sy sharesrc.tgz
276Contains machine-independent data files that can be shared across
277architectures/systems.
278.It Sy src.tgz
279The operating system's userland source code, including all programs,
280tools, toolchain, etc.
281.It Sy syssrc.tgz
282Kernel sources for all architectures plus sources of the tools needed
283to build kernels (like
284.Xr config 1 ) .
285.It Sy xsrc.tgz
286Source code of the X Window System used on all NetBSD architectures.
287Includes X clients and servers.
288.El
289.El
290.
291.It Em \*[Lt]machine\*[Gt] Ns Pa /
292The binary releases in
293.Sm off
294.Xo
295.Sy .../NetBSD-
296.Em \*[Lt]rel\*[Gt]
297.Sy /
298.Em \*[Lt]machine\*[Gt]
299.Sy /
300.Xc
301.Sm on
302follow the following layout:
303.Bl -tag -width "installation/"
304.It Sy INSTALL.txt
305Installation notes, including complete descriptions of files contained
306within the release hierarchy
307.It Sy INSTALL.more
308pretty version of this, suited for viewing with
309.Xr more 1
310.It Sy INSTALL.html
311HTML version of this
312.It Sy INSTALL.ps
313PostScript version of this
314.It Sy binary/
315system binaries
316.Bl -tag -width "SYSVSUM/"
317.It Sy sets/
318installation sets
319.Bl -tag -width "xcontrib.tgz"
320.It Sy BSDSUM
321.It Sy CKSUM
322.It Sy MD5
323.It Sy SYSVSUM
324.It Sy base.tgz
325The base binary distribution.  This set contains the base
326.Nx
327utilities that are necessary for the system to run and be minimally
328functional.  It includes shared libraries for those architectures that
329support them.  This set excludes all things listed in the sets
330described below.
331.It Sy comp.tgz
332The compiler tools distribution.  This set contains the C and C++
333compilers, assembler, linker, other toolchain components, and their
334manual pages.  It also includes the system include files
335.Pq Pa /usr/include
336, and the static system libraries.
337.It Sy etc.tgz
338This set contains the system configuration files that reside in
339.Pa /etc
340and in several other places throughout the file system hierarchy.
341.It Sy games.tgz
342This set includes the games and their manual pages.
343.It Sy kern.tgz
344This set includes a generic kernel.
345.It Sy man.tgz
346This set includes all of the manual pages for the binaries and other
347software contained in the
348.Sy base
349set which are not included in the other sets.
350.It Sy misc.tgz
351This set includes the system dictionaries (which are rather large), the
352typesettable document set, and manual pages for other architectures, which
353happen to be installed from the source tree by default.
354.It Sy text.tgz
355This set includes the
356.Nx
357text processing tools, including
358.Xr groff 1 ,
359all related programs, and their manual pages.
360.It Sy xbase.tgz
361This set includes the base X11 distribution, including manual pages and
362shared libraries for those architectures that support them, and excluding
363everything contained in the other X11 sets.
364.It Sy xcomp.tgz
365This set includes the X11 include files and static X11 libraries.
366.It Sy xcontrib.tgz
367This set includes binaries and manual pages for programs built from the
368X11
369.Dq contrib
370sources.
371.It Sy xfont.tgz
372This set includes the X11 fonts.
373.It Sy xserver.tgz
374This set includes the X servers and manual pages for \*[Lt]machine\*[Gt].
375.Em "Note: this set may not be available on some platforms" .
376.El
377.It Sy kernel/
378suitably named, gzipped kernels
379.Bl -tag -width "netbsd-GENERIC.gz"
380.It Sy BSDSUM
381.It Sy CKSUM
382.It Sy MD5
383.It Sy README
384.It Sy SYSVSUM
385.It Sy netbsd-GENERIC.gz
386A kernel built from the
387.Sy GENERIC
388kernel configuration file.  This is meant as an example only; different
389platforms may have differently named kernels.
390.El
391.El
392.It Sy installation/
393installation helper items
394.Bl -tag -width "diskimage/"
395.It Sy cdrom/
396CDROM images in ISO 9660 format, usually created as part of
397.Dq build.sh ... release ...
398in
399.Pa src .
400.Pp
401Images in this directory will typically be bootable,
402and will contain one or more of a kernel, installation tools,
403and rescue tools.
404They will not contain installation sets, source sets, or
405other components of a complete release.
406.Bl -tag -width "netbsd-ARCH.iso"
407.It Sy BSDSUM
408.It Sy CKSUM
409.It Sy MD5
410.It Sy README
411.It Sy SYSVSUM
412.It Xo
413.Sm off
414.Sy netbsd-
415.Em \*[Lt]machine_arch\*[Gt]
416.Sy .iso
417.Sm on
418.Xc
419.El
420.It Sy diskimage/
421disk images, for those platforms that provide them
422.Bl -tag -width "diskimage-rz25.gz"
423.It Sy BSDSUM
424.It Sy CKSUM
425.It Sy MD5
426.It Sy README
427.It Sy SYSVSUM
428.It Sy diskimage-rz25.gz
429.El
430.It Sy floppy/
431floppy images, for those platforms that provide them
432.Bl -tag -width "floppy-144.gz"
433.It Sy BSDSUM
434.It Sy CKSUM
435.It Sy MD5
436.It Sy README
437.It Sy SYSVSUM
438.It Sy floppy-144.gz
439.El
440.It Sy miniroot/
441miniroot images, for those platforms that provide them
442.Bl -tag -width "miniroot.gz"
443.It Sy BSDSUM
444.It Sy CKSUM
445.It Sy MD5
446.It Sy README
447.It Sy SYSVSUM
448.It Sy miniroot.gz
449.El
450.It Sy misc/
451miscellaneous installation helper utilities, including boot selectors,
452floppy writing software, other software that runs under foreign operating
453systems, etc.
454.Bl -tag -width "CKSUMS"
455.It Sy BSDSUM
456.It Sy CKSUM
457.It Sy MD5
458.It Sy README
459.It Sy SYSVSUM
460.It Sy ...
461.El
462.It Sy netboot/
463network boot programs
464.Bl -tag -width "netboot.gz"
465.It Sy BSDSUM
466.It Sy CKSUM
467.It Sy MD5
468.It Sy README
469.It Sy SYSVSUM
470.It Sy netboot.gz
471.El
472.It Sy tapeimage/
473tape images, for those platforms that provide them
474.Bl -tag -width "tapeimage-hp9144.gz"
475.It Sy BSDSUM
476.It Sy CKSUM
477.It Sy MD5
478.It Sy README
479.It Sy SYSVSUM
480.It Sy tapeimage-hp9144.gz
481.El
482.El
483.El
484.El
485.Sh SEE ALSO
486.Xr cksum 1 ,
487.Xr date 1 ,
488.Xr gzip 1 ,
489.Xr split 1 ,
490.Xr tar 1
491.Sh HISTORY
492The
493.Nm
494manual page first appeared in
495.Nx 1.3 .
496