.\" $NetBSD: release.7,v 1.25 2008/04/30 13:10:57 martin Exp $ .\" .\" Copyright (c) 1997, 2000, 2005 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Charles M. Hannum and Jason R. Thorpe. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .Dd August 30, 2007 .Dt RELEASE 7 .Os .Sh NAME .Nm release .Nd layout of NetBSD releases and snapshots .Sh DESCRIPTION This document describes the layout of .Nx releases and snapshots. This layout should be consistent between FTP servers and CD-ROMs, except possibly the path that leads to the release hierarchy. .Pp In this document, the following special words have these definitions: .Bl -tag -width "\*[Lt]machine_arch\*[Gt]" .It Em \*[Lt]machine\*[Gt] The platform for which the release was built, corresponding to the .Em hw.machine sysctl variable, e.g. .Em i386 or .Em amiga . .It Em \*[Lt]machine_arch\*[Gt] The architecture for which a particular installation set was built, corresponding to the .Em hw.machine_arch sysctl variable, e.g. .Em i386 or .Em m68k . .It Em \*[Lt]rel\*[Gt] The target release. .El .Pp All .Sy README files are descriptions of the various files in directories that have .Dq non-standard contents. There may also be a .Sy README file at the top-level, describing who built the snapshot and under what circumstances .Po e.g. whether it's an official .Nx snapshot, or not .Pc . .Pp All .Sy BSDSUM files are historic .Bx checksums for the various files in that directory, in the format produced by the command: .Sy cksum -o 1 \*[Lt]file\*[Gt] . .Pp All .Sy CKSUM files are POSIX checksums for the various files in that directory, in the format produced by the command: .Sy cksum \*[Lt]file\*[Gt] . .Pp All .Sy MD5 files are MD5 digests for the various files in that directory, in the format produced by the command: .Sy cksum -m \*[Lt]file\*[Gt] . .Pp All .Sy SYSVSUM files are historic .At V checksums for the various files in that directory, in the format produced by the command: .Sy cksum -o 2 \*[Lt]file\*[Gt] . .Pp The MD5 digest is the safest checksum, followed by the POSIX checksum. The other two checksums are provided only to ensure that the widest possible range of system can check the integrity of the release files. .Pp Files that end in .Sy .tgz are gzipped tar archives. This is used in lieu of .Sy .tar.gz because the software used to download the sets may incorrectly auto-unpack files ending in .Sy .gz and to accommodate systems which only support 3 character extensions to file names. .Pp All tar archives are relative to the target's .Sy / directory, and .Em do not include the leading .Dq / . .Pp All compression of release files is to be performed with the command: .Sy gzip -9 . .Pp The root of the release hierarchy may be the root directory of a CD-ROM, but in all other cases it should be .Sm off .Xo .Sy .../NetBSD- .Em \*[Lt]rel\*[Gt] .Sy / . .Xc .Sm on .Pp The root of the release hierarchy should contain the following files and subdirectories: .Pp .Bl -tag -width "\*[Lt]machine\*[Gt]" . .It Sy SOURCE_DATE A file containing the date, in UTC, of the source code from which the release or snapshot was built, in the default format produced by the command: .Sy date -u . . .It Sy iso/ CDROM images in ISO 9660 format, usually created with .Dq ./build.sh ... iso-image ... after a .Dq ./build.sh -x ... release ... in .Pa src or created with .Dq ./build.sh ... iso-image-source ... after a .Dq ./build.sh -x ... release sourcesets ... in .Pa src . .Pp Images in this directory, unlike images in the .Sm off .Xo .Sy .../NetBSD- .Em \*[Lt]rel\*[Gt] .Sy / .Em \*[Lt]machine\*[Gt] .Sy /installation/cdrom/ .Xc .Sm on directory, should contain file systems that have an internal layout that corresponds to a complete release for one or more machine types. If built with .Dq iso-image-source , then it will also contain a .Dq source directory. These images are usually bootable. .Bl -tag -width "\*[Lt]machine_arch\*[Gt]cd.iso" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .Sm off .It Xo .Em \*[Lt]machine_arch\*[Gt] .Sy cd.iso .Xc .Sm on .El . .It Sy shared/ Files shared by two or more machine types. .Bl -tag -width "\*[Lt]machine_arch\*[Gt]" .It Em \*[Lt]machine_arch\*[Gt] Ns Pa / Files which may be shared by all systems of the same .Em \*[Lt]machine_arch\*[Gt] will be located in .Sm off .Xo .Sy .../NetBSD- .Em \*[Lt]rel\*[Gt] .Sy /shared/ .Em \*[Lt]machine_arch\*[Gt] .Sy / .Xc .Sm on with symbolic links pointing to these files from the .Em \*[Lt]machine\*[Gt] subdirectory. .It Sy ALL/ Files which are completely machine-independent will be located in .Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /shared/ALL/ with symbolic links pointing to these files from the .Em \*[Lt]machine\*[Gt] subdirectory. .El . .It Sy source/ Source codes of the operating system and patches for it should be put into .Sy .../NetBSD- Ns Em \*[Lt]rel\*[Gt] Ns Sy /source/ using the following layout: .Pp .Bl -tag -width "patches/" .It Sy patches/ This directory contains various patch files appropriate for .Xr patch 1 . Other patches may exist for fixing critical problems. .Bl -tag -width "diff-1.4.1-to-1.4.2.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Xo .Sm off .Sy diff- .Em \*[Lt]lastrel\*[Gt] .Sy - .Em \*[Lt]rel\*[Gt] .Sy .gz .Sm on .Xc Diff against the last release, usually generated by .Ic cvs rdiff . For patch releases, diffs against the last release are included. If the last release was a patch release itself, the diff is against that patch release is included. .El .It Sy sets/ Sources for the various system sets, based on their modules in the CVS server. .\" XXX how are these generated? Separate checkout of each module? .Bl -tag -width "sharesrc.tgz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy gnusrc.tgz Contains sources for all GPLed and possibly other programs that contains restrictions in their licensing that prevent others from using these programs in closed-source environments. .It Sy pkgsrc.tgz Package-sources for third party software ready to compile. See pkgsrc/README for more information. .It Sy sharesrc.tgz Contains machine-independent data files that can be shared across architectures/systems. .It Sy src.tgz The operating system's userland source code, including all programs, tools, toolchain, etc. .It Sy syssrc.tgz Kernel sources for all architectures plus sources of the tools needed to build kernels (like .Xr config 1 ) . .It Sy xsrc.tgz Source code of the X Window System used on all NetBSD architectures. Includes X clients and servers. .El .El . .It Em \*[Lt]machine\*[Gt] Ns Pa / The binary releases in .Sm off .Xo .Sy .../NetBSD- .Em \*[Lt]rel\*[Gt] .Sy / .Em \*[Lt]machine\*[Gt] .Sy / .Xc .Sm on follow the following layout: .Bl -tag -width "installation/" .It Sy INSTALL.txt Installation notes, including complete descriptions of files contained within the release hierarchy .It Sy INSTALL.more pretty version of this, suited for viewing with .Xr more 1 .It Sy INSTALL.html HTML version of this .It Sy INSTALL.ps PostScript version of this .It Sy binary/ system binaries .Bl -tag -width "SYSVSUM/" .It Sy sets/ installation sets .Bl -tag -width "xcontrib.tgz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy SYSVSUM .It Sy base.tgz The base binary distribution. This set contains the base .Nx utilities that are necessary for the system to run and be minimally functional. It includes shared libraries for those architectures that support them. This set excludes all things listed in the sets described below. .It Sy comp.tgz The compiler tools distribution. This set contains the C and C++ compilers, assembler, linker, other toolchain components, and their manual pages. It also includes the system include files .Pq Pa /usr/include , and the static system libraries. .It Sy etc.tgz This set contains the system configuration files that reside in .Pa /etc and in several other places throughout the file system hierarchy. .It Sy games.tgz This set includes the games and their manual pages. .It Sy kern.tgz This set includes a generic kernel. .It Sy man.tgz This set includes all of the manual pages for the binaries and other software contained in the .Sy base set which are not included in the other sets. .It Sy misc.tgz This set includes the system dictionaries (which are rather large), the typesettable document set, and manual pages for other architectures, which happen to be installed from the source tree by default. .It Sy text.tgz This set includes the .Nx text processing tools, including .Xr groff 1 , all related programs, and their manual pages. .It Sy xbase.tgz This set includes the base X11 distribution, including manual pages and shared libraries for those architectures that support them, and excluding everything contained in the other X11 sets. .It Sy xcomp.tgz This set includes the X11 include files and static X11 libraries. .It Sy xcontrib.tgz This set includes binaries and manual pages for programs built from the X11 .Dq contrib sources. .It Sy xfont.tgz This set includes the X11 fonts. .It Sy xserver.tgz This set includes the X servers and manual pages for \*[Lt]machine\*[Gt]. .Em "Note: this set may not be available on some platforms" . .El .It Sy kernel/ suitably named, gzipped kernels .Bl -tag -width "netbsd-GENERIC.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy netbsd-GENERIC.gz A kernel built from the .Sy GENERIC kernel configuration file. This is meant as an example only; different platforms may have differently named kernels. .El .El .It Sy installation/ installation helper items .Bl -tag -width "diskimage/" .It Sy cdrom/ CDROM images in ISO 9660 format, usually created as part of .Dq build.sh ... release ... in .Pa src . .Pp Images in this directory will typically be bootable, and will contain one or more of a kernel, installation tools, and rescue tools. They will not contain installation sets, source sets, or other components of a complete release. .Bl -tag -width "netbsd-ARCH.iso" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Xo .Sm off .Sy netbsd- .Em \*[Lt]machine_arch\*[Gt] .Sy .iso .Sm on .Xc .El .It Sy diskimage/ disk images, for those platforms that provide them .Bl -tag -width "diskimage-rz25.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy diskimage-rz25.gz .El .It Sy floppy/ floppy images, for those platforms that provide them .Bl -tag -width "floppy-144.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy floppy-144.gz .El .It Sy miniroot/ miniroot images, for those platforms that provide them .Bl -tag -width "miniroot.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy miniroot.gz .El .It Sy misc/ miscellaneous installation helper utilities, including boot selectors, floppy writing software, other software that runs under foreign operating systems, etc. .Bl -tag -width "CKSUMS" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy ... .El .It Sy netboot/ network boot programs .Bl -tag -width "netboot.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy netboot.gz .El .It Sy tapeimage/ tape images, for those platforms that provide them .Bl -tag -width "tapeimage-hp9144.gz" .It Sy BSDSUM .It Sy CKSUM .It Sy MD5 .It Sy README .It Sy SYSVSUM .It Sy tapeimage-hp9144.gz .El .El .El .El .Sh SEE ALSO .Xr cksum 1 , .Xr date 1 , .Xr gzip 1 , .Xr split 1 , .Xr tar 1 .Sh HISTORY The .Nm manual page first appeared in .Nx 1.3 .