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