summaryrefslogtreecommitdiff
path: root/static/netbsd/man7/src.7
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man7/src.7')
-rw-r--r--static/netbsd/man7/src.7362
1 files changed, 362 insertions, 0 deletions
diff --git a/static/netbsd/man7/src.7 b/static/netbsd/man7/src.7
new file mode 100644
index 00000000..ba15b9c9
--- /dev/null
+++ b/static/netbsd/man7/src.7
@@ -0,0 +1,362 @@
+.\" $NetBSD: src.7,v 1.17 2022/08/21 07:10:03 lukem Exp $
+.\"
+.\" Copyright (c) 2012, 2013 Mingzhe Wang and Elvira Khabirova.
+.\" All rights reserved.
+.\"
+.\" 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 REGENTS 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 REGENTS 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 May 14, 2020
+.Dt SRC 7
+.Os
+.Sh NAME
+.Nm src
+.Nd layout of NetBSD sources
+.Sh DESCRIPTION
+An outline of the
+.Nx
+source code hierarchy.
+.Bl -tag -width "external/"
+.It Pa bin/
+Critical utilities for the system and users.
+.It Pa sbin/
+Critical utilities for the system and the superuser.
+.It Pa usr.bin/
+Not-so critical utilities for the system and users.
+.It Pa usr.sbin/
+Not-so critical utilities for the system and the superuser.
+.It Pa common/
+Sources shared between kernel and userland.
+.Bl -tag -width "include/" -compact
+.It Pa dist/
+Utilities.
+Every utility has its own subdirectory,
+where its source and Makefile are located.
+.It Pa include/
+Include headers.
+Every group of header files has its own
+subdirectory, where it and its
+Makefile are located.
+.It Pa lib/
+Libraries.
+Every library has its own subdirectory,
+where it and its Makefile are located.
+.El
+.It Pa compat/
+A framework to (re)build the libraries
+shipped with
+.Nx
+for different ABI than the default for
+that platform.
+.Bl -tag -width "compat/<arch1>/<arch2>/" -compact
+.It Pa compat/<arch1>/<arch2>/
+Every
+.Pa compat/<arch1>/<arch2>/
+directory contains a Makefile and a makefile
+fragment for building an
+.Pa <arch2>
+compat libraries for
+.Pa <arch1> .
+For example,
+.Pa compat/amd64/i386/
+is where the 32-bit compat libraries for the
+amd64 port are being built.
+.It Pa compatsubdir.mk
+The list of subdirectories (the libraries and
+ld.elf_so) to build with this ABI.
+.It Pa archdirs.mk
+The list of subdirectories for each port.
+.It Pa Makefile.compat
+The basic framework to force the right paths for
+library and ld.elf_so linkage.
+.It Pa dirshack/Makefile
+A hack to get objdirs created timely.
+.El
+.It Pa crypto/
+Cryptographic source, which may have import or
+export restrictions.
+.Bl -tag -width "external/" -compact
+.It Pa dist/
+Original sources.
+This is deprecated;
+.Pa crypto/external/
+should be used instead.
+.It Pa external/
+Original sources, grouped by license, and then
+package per license.
+.Pa crypto/external/<license>/<package>/dist/
+contain original sources for given package;
+other directories contain Makefiles and
+given package's config files.
+.El
+.It Pa dist/
+Unmodified sources from third parties.
+This is deprecated;
+.Pa external/
+should be used instead.
+.It Pa distrib/
+Tools and data-files for making distributions.
+.Bl -tag -width "distrib/notes/<arch>/" -compact
+.It Pa <arch>/
+Architecture-specific files, grouped by
+image type.
+For example,
+.Pa distrib/<arch>/floppies/
+contains Makefiles for making images for
+various types of floppies;
+.Pa <arch>/ramdisk/
+contains makefiles for making ramdisks etc.
+.It Pa cdrom/
+Was used to create bootable CD images.
+This is deprecated;
+.Pa build.sh
+\'s
+.Pa iso-image
+target should be used instead.
+.It Pa common/
+Common files for images generation.
+.It Pa miniroot/
+Files for miniroot.
+.It Pa notes/<arch>
+Architecture-specific parts of release notes.
+.It Pa sets/
+Scripts for making file sets.
+.It Pa utils/
+Utilities for installation ramdisk.
+.El
+.It Pa doc/
+Development documentation files: changelogs,
+build readmes etc.
+.Pa doc/roadmaps/
+contains roadmaps.
+.It Pa etc/
+Default configuration files to be put into
+.Pa /etc .
+.Bl -tag -width "compat/<arch1>/<arch2>/" -compact
+.It Pa etc/etc.<arch>/
+Architecture-specific config files.
+.El
+.It Pa external/
+Unmodified sources from third parties,
+grouped by license.
+Every
+.Pa external/<license>/<package>/
+may contain:
+.Bl -tag -width "usr.sbin/" -compact
+.It Pa dist/
+Unmodified third party source for a given package
+.It Pa bin/
+.It Pa usr.bin/
+.It Pa usr.sbin/
+.It etc.
+Such subdirectories contain reachover Makefiles,
+README's and various import helper scripts.
+For example,
+.Pa external/public-domain/
+contains
+sources licensed under Public Domain
+license;
+.Pa external/public-domain/sqlite/dist/
+contains original sources;
+.Pa external/public-domain/sqlite/bin/ ,
+.Pa external/public-domain/sqlite/lib/
+and
+.Pa external/public-domain/sqlite/
+itself contain reachover Makefiles.
+.El
+.It Pa games/
+Sources for utilities/files in
+.Pa /usr/games ;
+each utility has its own subdirectory, where
+its sources and Makefiles are located.
+.It Pa include/
+Files to be put into
+.Pa /usr/include .
+.It Pa lib/
+Source for libraries in
+.Pa /usr/lib
+and some scripts for them.
+Every directory contains source for given library
+and Makefiles.
+.It Pa libexec/
+Source for utilities in
+.Pa /usr/libexec .
+Every directory contains source for given utility
+and Makefiles.
+.It Pa regress/
+Various regression tests in
+.Pa /usr/tests .
+This is deprecated; most tests are being migrated
+into
+.Pa tests/
+once they are migrated to the
+.Xr atf 7
+test framework.
+.It Pa rescue/
+Makefiles for copying utilities to
+.Pa /rescue .
+.It Pa share/
+Source for utilities/files in
+.Pa /usr/share .
+Every utility has its own subdirectory,
+where its source and Makefile are located.
+.It Pa sys/
+Kernel source.
+.Bl -tag -width "opencrypto/" -compact
+.It Pa altq/
+Network packet alternate queueing.
+.It Pa arch/
+Files to specific hardware platforms.
+.It Pa coda/
+Coda file system driver.
+.It Pa compat/
+Support for older version
+.Nx
+binaries and
+.Pf non- Nx
+binaries.
+.It Pa conf/
+Misc files for building kernel.
+.It Pa crypto/
+Crypt algorithms used by IPsec.
+.It Pa ddb/
+Client code for local kernel debugger.
+.It Pa dev/
+Device drivers.
+.It Pa dist/
+Parent directory for the
+.Ox
+packet filter
+.Xr pf 4 .
+.It Pa external/
+Sources from third parties, grouped by license.
+.It Pa fs/
+File systems storing data on physical drives.
+.It Pa gdbscripts/
+.Xr gdb 1
+macros.
+.It Pa kern/
+.Nx Ap s
+Kernel code, such as resource management, signal delivering, etc.
+.It Pa lib/
+Libraries used by the kernel.
+.It Pa miscfs/
+Drivers for file systems used to store layered data for kernel features.
+.It Pa modules/
+Kernel components, including hardware specific drivers and upper-level drivers.
+.It Pa net/
+Lowlevel network: protocol drivers, packet filters and access interfaces for NICs.
+.It Pa net80211/
+Drivers for 802.11 wireless network.
+.It Pa netatalk/
+Appletalk protocol stack
+.Xr atalk 4 .
+.It Pa netbt/
+Bluetooth stack
+.Xr bluetooth 4 .
+.It Pa netcan/
+Controller Area Network stack
+.Xr can 4 .
+.It Pa netinet/
+IPv4 protocol stack
+.Xr ip 4 .
+.It Pa netinet6/
+IPv6 protocol stack.
+.It Pa netipsec/
+IPsec protocol stack
+.Xr ipsec 4 .
+.It Pa netmpls/
+MPLS protocol stack
+.Xr mpls 4 .
+.It Pa nfs/
+Network file system driver.
+.It Pa opencrypto/
+Cryptographic hardware framework
+.Xr opencrypto 9 .
+.It Pa rump/
+Rump kernel
+.Xr rump 3 .
+.It Pa secmodel/
+Security model framework
+.Xr secmodel 9 .
+.It Pa stand/
+Source for several standalone programs that aren't used by
+.Nx
+currently.
+.It Pa sys/
+Header files that get installed into
+.Pa /usr/include/sys .
+.It Pa ufs/
+UFS file system driver.
+.It Pa uvm/
+Virtual memory manager.
+.El
+.It Pa tests/
+Source for test programs in
+.Pa /usr/tests .
+These tests use the
+.Xr atf 7
+test framework.
+For library routines, including system calls, the
+directory structure of the tests should follow the
+directory structure of the real source tree.
+For instance, interfaces available via the C
+library should follow:
+.Pa src/lib/libc/gen -> Pa src/tests/lib/libc/gen ,
+.Pa src/lib/libc/sys -> Pa src/tests/lib/libc/sys ,
+etc.
+Equivalently, all tests for userland utilities
+should try to follow their location in the source tree.
+If this can not be satisfied, the tests for
+a utility should be located under the directory to which
+the utility is installed.
+Thus, a test for
+.Xr env 1
+should go to
+.Pa src/tests/usr.bin/env .
+Likewise, a test for
+.Xr tcpdump 8
+should be in
+.Pa src/tests/usr.sbin/tcpdump ,
+even though the source code for the program is located under
+.Pa src/external .
+.It Pa tools/
+Reachover build structure for the host build tools.
+Every utility has its own directory, where its Makefile
+is located.
+.It Pa x11/
+Reachover build structure for X11R7; the source is in
+.Pa X11SRCDIR .
+The directory structure copies the system\'s;
+every directory contains a Makefile.
+.El
+.Sh SEE ALSO
+.Xr hier 7
+.Sh HISTORY
+This file was created as a part of Google Code-in 2012/2013.
+.Sh AUTHORS
+.An -nosplit
+This manpage was written by
+.An Elvira Khabirova Aq Mt skinder0@gmail.com ,
+the
+.Pa sys/
+part by
+.An Mingzhe Wang .