[BACK]Return to src.7 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / man / man7

Annotation of src/share/man/man7/src.7, Revision 1.10

1.10    ! ozaki-r     1: .\" $NetBSD: src.7,v 1.9 2014/10/27 11:55:08 christos Exp $
1.2       wiz         2: .\"
1.4       jdf         3: .\" Copyright (c) 2012, 2013 Mingzhe Wang and Elvira Khabirova.
1.3       jdf         4: .\"    All rights reserved.
                      5: .\"
                      6: .\" Redistribution and use in source and binary forms, with or without
                      7: .\" modification, are permitted provided that the following conditions
                      8: .\" are met:
                      9: .\" 1. Redistributions of source code must retain the above copyright
                     10: .\"    notice, this list of conditions and the following disclaimer.
                     11: .\" 2. Redistributions in binary form must reproduce the above copyright
                     12: .\"    notice, this list of conditions and the following disclaimer in the
                     13: .\"    documentation and/or other materials provided with the distribution.
                     14: .\"
                     15: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     16: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     17: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     18: .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     19: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     20: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     21: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     22: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     23: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     24: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     25: .\" SUCH DAMAGE.
1.2       wiz        26: .\"
1.10    ! ozaki-r    27: .Dd May 21, 2015
1.1       jdf        28: .Dt SRC 7
                     29: .Os
                     30: .Sh NAME
                     31: .Nm src
                     32: .Nd layout of NetBSD sources
                     33: .Sh DESCRIPTION
                     34: An outline of the
                     35: .Nx
                     36: source code hierarchy.
                     37: .Bl -tag -width "external/"
                     38: .It Pa bin/
                     39: Critical utilities for the system and users.
                     40: .It Pa sbin/
                     41: Critical utilities for the system and the superuser.
                     42: .It Pa usr.bin/
                     43: Not-so critical utilities for the system and users.
                     44: .It Pa usr.sbin/
                     45: Not-so critical utilities for the system and the superuser.
                     46: .It Pa common/
                     47: Sources shared between kernel and userland.
                     48: .Bl -tag -width "include/" -compact
                     49: .It Pa dist/
                     50: Utilities.
                     51: Every utility has its own subdirectory,
                     52: where its source and Makefile are located.
                     53: .It Pa include/
                     54: Include headers.
                     55: Every group of header files has its own
                     56: subdirectory, where it and its
                     57: Makefile are located.
                     58: .It Pa lib/
                     59: Libraries.
1.2       wiz        60: Every library has its own subdirectory,
1.1       jdf        61: where it and its Makefile are located.
                     62: .El
                     63: .It Pa compat/
                     64: A framework to (re)build the libraries
                     65: shipped with
                     66: .Nx
                     67: for different ABI than the default for
                     68: that platform.
                     69: .Bl -tag -width "compat/<arch1>/<arch2>/" -compact
                     70: .It Pa compat/<arch1>/<arch2>/
1.2       wiz        71: Every
1.1       jdf        72: .Pa compat/<arch1>/<arch2>/
                     73: directory contains a Makefile and a makefile
1.2       wiz        74: fragment for building an
1.1       jdf        75: .Pa <arch2>
                     76: compat libraries for
                     77: .Pa <arch1> .
1.2       wiz        78: E. g.,
1.1       jdf        79: .Pa compat/amd64/i386/
                     80: is where the 32-bit compat libraries for the
                     81: amd64 port are being built.
                     82: .It Pa compatsubdir.mk
                     83: The list of subdirectories (the libraries and
                     84: ld.elf_so) to build with this ABI.
                     85: .It Pa archdirs.mk
                     86: The list of subdirectories for each port.
                     87: .It Pa Makefile.compat
                     88: The basic framework to force the right paths for
                     89: library and ld.elf_so linkage.
                     90: .It Pa dirshack/Makefile
                     91: A hack to get objdirs created timely.
                     92: .El
                     93: .It Pa crypto/
                     94: Cryptographic source, which may have import or
                     95: export restrictions.
                     96: .Bl -tag -width "external/" -compact
                     97: .It Pa dist/
                     98: Original sources.
                     99: This is deprecated;
                    100: .Pa crypto/external/
                    101: should be used instead.
                    102: .It Pa external/
                    103: Original sources, grouped by license, and then
                    104: package per license.
                    105: .Pa crypto/external/<license>/<package>/dist/
                    106: contain original sources for given package;
                    107: other directories contain Makefiles and
                    108: given package's config files.
                    109: .El
                    110: .It Pa dist/
                    111: Unmodified sources from third parties.
1.2       wiz       112: This is deprecated;
1.1       jdf       113: .Pa external/
                    114: should be used instead.
                    115: .It Pa distrib/
                    116: Tools and data-files for making distributions.
                    117: .Bl -tag -width "distrib/notes/<arch>/" -compact
                    118: .It Pa <arch>/
                    119: Architecture-specific files, grouped by
                    120: image type.
                    121: E. g.,
                    122: .Pa distrib/<arch>/floppies/
                    123: contains Makefiles for making images for
                    124: various types of floppies;
                    125: .Pa <arch>/ramdisk/
                    126: contains makefiles for making ramdisks etc.
                    127: .It Pa cdrom/
                    128: Was used to create bootable CD images.
                    129: This is deprecated;
                    130: .Pa build.sh
                    131: \'s
                    132: .Pa iso-image
                    133: target should be used instead.
                    134: .It Pa common/
                    135: Common files for images generation.
                    136: .It Pa miniroot/
                    137: Files for miniroot.
                    138: .It Pa notes/<arch>
                    139: Architecture-specific parts of release notes.
                    140: .It Pa sets/
                    141: Scripts for making file sets.
                    142: .It Pa utils/
                    143: Utilities for installation ramdisk.
                    144: .El
                    145: .It Pa doc/
                    146: Development documentation files: changelogs,
                    147: build readmes etc.
                    148: .Pa doc/roadmaps/
                    149: contains roadmaps.
                    150: .It Pa etc/
                    151: Default configuration files to be put into
                    152: .Pa /etc .
                    153: .Bl -tag -width "compat/<arch1>/<arch2>/" -compact
                    154: .It Pa etc/etc.<arch>/
                    155: Architecture-specific config files.
                    156: .El
                    157: .It Pa external/
                    158: Unmodified sources from third parties,
                    159: grouped by license.
                    160: They are built with so-called "reachover"
                    161: Makefiles which can be found in
                    162: .Pa src/*bin/
1.2       wiz       163: hierarchies.
1.1       jdf       164: Every
                    165: .Pa external/<license>/<package>/
                    166: may contain:
                    167: .Bl -tag -width "usr.sbin/" -compact
                    168: .It Pa dist/
                    169: Unmodified third party source for a given package
                    170: .It Pa bin/
                    171: .It Pa usr.bin/
                    172: .It Pa usr.sbin/
1.2       wiz       173: .It etc.
1.1       jdf       174: Such subdirectories contain reachover Makefiles,
                    175: README's and various import helper scripts.
1.2       wiz       176: E. g.,
1.1       jdf       177: .Pa external/public-domain/
                    178: contains
                    179: sources licensed under Public Domain
                    180: license;
                    181: .Pa external/public-domain/sqlite/dist/
                    182: contains original sources;
                    183: .Pa external/public-domain/sqlite/bin/ ,
                    184: .Pa external/public-domain/sqlite/lib/
                    185: and
                    186: .Pa external/public-domain/sqlite/
                    187: itself contain reachover Makefiles.
                    188: .El
                    189: .It Pa extsrc/
                    190: Optional developer-provided sources that are built if
                    191: .Pa MKEXTSRC=yes ,
                    192: as a way to include extra components in the
                    193: build.
                    194: .It Pa games/
1.2       wiz       195: Sources for utilities/files in
1.1       jdf       196: .Pa /usr/games ;
1.7       snj       197: each utility has its own subdirectory, where
1.1       jdf       198: its sources and Makefiles are located.
                    199: .It Pa gnu/
                    200: Sources licensed under GNU GPL.
                    201: This is deprecated;
                    202: .Pa external/gpl2/
                    203: or
                    204: .Pa external/gpl3/
                    205: should be used instead.
                    206: .Pa gnu/dists
                    207: contains the original GNU sources plus changes that
                    208: were submitted to maintainers and that are not
                    209: yet published.
                    210: Other folders contain files that are never expected
                    211: to be submitted to the FSF (reachover Makefiles, etc.)
                    212: .It Pa include/
                    213: Files to be put into
                    214: .Pa /usr/include .
                    215: .It Pa lib/
                    216: Source for libraries in
1.2       wiz       217: .Pa /usr/lib
1.1       jdf       218: and some scripts for them.
                    219: Every directory contains source for given library
                    220: and Makefiles.
                    221: .It Pa libexec/
                    222: Source for utilities in
                    223: .Pa /usr/libexec .
                    224: Every directory contains source for given utility
                    225: and Makefiles.
                    226: .It Pa regress/
                    227: Various regression tests in
                    228: .Pa /usr/tests .
                    229: This is deprecated; most tests are being migrated
                    230: into
                    231: .Pa tests/
1.2       wiz       232: once they are migrated to the
1.1       jdf       233: .Xr atf 7
                    234: test framework.
                    235: .It Pa rescue/
                    236: Makefiles for copying utilities to
                    237: .Pa /rescue .
                    238: .It Pa share/
1.2       wiz       239: Source for utilities/files in
1.1       jdf       240: .Pa /usr/share .
                    241: Every utility has its own subdirectory,
                    242: where its source and Makefile are located.
                    243: .It Pa sys/
                    244: Kernel source.
                    245: .Bl -tag -width "opencrypto/" -compact
                    246: .It Pa altq/
                    247: Network packet alternate queueing.
                    248: .It Pa arch/
                    249: Files to specific hardware platforms.
                    250: .It Pa coda/
                    251: Coda file system driver.
                    252: .It Pa compat/
1.2       wiz       253: Support for older version
                    254: .Nx
                    255: binaries and
                    256: .Pf non- Nx
                    257: binaries.
1.1       jdf       258: .It Pa conf/
                    259: Misc files for building kernel.
                    260: .It Pa crypto/
                    261: Crypt alogorithms used by IPsec.
                    262: .It Pa ddb/
                    263: Client code for local kernel debugger.
                    264: .It Pa dev/
                    265: Device drivers.
                    266: .It Pa dist/
1.2       wiz       267: Parent directory for the
1.1       jdf       268: .Ox
                    269: packet filter
                    270: .Xr pf 4 .
                    271: .It Pa external/
                    272: Sources from third parties, grouped by license.
                    273: .It Pa fs/
                    274: File systems storing data on physical drives.
                    275: .It Pa gdbscripts/
                    276: .Xr gdb 1
                    277: macros.
                    278: .It Pa ipkdb/
                    279: Client code for remote kernel debugger.
                    280: .It Pa kern/
1.2       wiz       281: .Nx Ap s
                    282: Kernel code, such as resource management, signal delivering, etc.
1.1       jdf       283: .It Pa lib/
                    284: Libraries used by the kernel.
                    285: .It Pa miscfs/
                    286: Drivers for file systems used to store layered data for kernel features.
                    287: .It Pa modules/
                    288: Kernel components, including hardware specific drivers and upper-level drivers.
                    289: .It Pa net/
                    290: Lowlevel network: protocol drivers, packet filters and access interfaces for NICs.
                    291: .It Pa net80211/
                    292: Drivers for 802.11 wireless network.
                    293: .It Pa netatalk/
                    294: Appletalk protocol stack
                    295: .Xr atalk 4 .
                    296: .It Pa netbt/
                    297: Bluetooth stack
                    298: .Xr bluetooth 4 .
                    299: .It Pa netinet/
                    300: IPv4 protocol stack
                    301: .Xr ip 4 .
                    302: .It Pa netinet6/
                    303: IPv6 protocol stack.
                    304: .It Pa netipsec/
                    305: IPsec protocol stack
                    306: .Xr ipsec 4 .
                    307: .It Pa netisdn/
                    308: ISDN protocol stack
                    309: .Xr isdn 4 .
                    310: .It Pa netkey/
                    311: Key management for IPsec.
                    312: .It Pa netmpls/
                    313: MPLS protocol stack
                    314: .Xr mpls 4 .
                    315: .It Pa netnatm/
                    316: Native Mode ATM protocol stack.
                    317: .It Pa netsmb/
                    318: SMB network protocol stack.
                    319: .It Pa nfs/
                    320: Network file system driver.
                    321: .It Pa opencrypto/
                    322: Cryptographic hardware framework
                    323: .Xr opencrypto 9 .
                    324: .It Pa rump/
                    325: Rump kernel
                    326: .Xr rump 3 .
                    327: .It Pa secmodel/
                    328: Security model framework
                    329: .Xr secmodel 9 .
                    330: .It Pa stand/
1.2       wiz       331: Source for several standalone programs that aren't used by
                    332: .Nx
                    333: currently.
1.1       jdf       334: .It Pa sys/
                    335: Header files that get installed into
                    336: .Pa /usr/include/sys .
                    337: .It Pa ufs/
                    338: UFS file system driver.
                    339: .It Pa uvm/
                    340: Virtual memory manager.
                    341: .El
                    342: .It Pa tests/
                    343: Source for test programs in
                    344: .Pa /usr/tests .
1.2       wiz       345: These tests use the
1.1       jdf       346: .Xr atf 7
                    347: test framework.
                    348: For library routines, including system calls, the
                    349: directory structure of the tests should follow the
                    350: directory structure of the real source tree.
                    351: For instance, interfaces available via the C
                    352: library should follow:
                    353: .Pa src/lib/libc/gen -> Pa src/tests/lib/libc/gen ,
                    354: .Pa src/lib/libc/sys -> Pa src/tests/lib/libc/sys ,
                    355: etc.
                    356: Equivalently, all tests for userland utilities
                    357: should try to follow their location in the source tree.
                    358: If this can not be satisfied, the tests for
                    359: a utility should be located under the directory to which
1.2       wiz       360: the utility is installed.
                    361: Thus, a test for
1.1       jdf       362: .Xr env 1
                    363: should go to
1.2       wiz       364: .Pa src/tests/usr.bin/env .
1.1       jdf       365: Likewise, a test for
                    366: .Xr tcpdump 8
1.2       wiz       367: should be in
1.1       jdf       368: .Pa src/tests/usr.sbin/tcpdump ,
                    369: even though the source code for the program is located under
                    370: .Pa src/external .
                    371: .It Pa tools/
                    372: Reachover build structure for the host build tools.
                    373: Every utility has its own directory, where its Makefile
                    374: is located.
                    375: .It Pa x11/
1.2       wiz       376: Reachover build structure for X11R7; the source is in
1.1       jdf       377: .Pa X11SRCDIR .
                    378: The directory structure copies the system\'s;
                    379: every directory contains a Makefile.
1.8       wiz       380: .El
1.1       jdf       381: .Sh SEE ALSO
                    382: .Xr hier 7
1.2       wiz       383: .Sh HISTORY
                    384: This file was created as a part of Google Code-in 2012/2013.
                    385: .Sh AUTHORS
                    386: .An -nosplit
1.1       jdf       387: This manpage was written by
1.5       wiz       388: .An Elvira Khabirova Aq Mt skinder0@gmail.com ,
1.1       jdf       389: the
                    390: .Pa sys/
1.2       wiz       391: part by
                    392: .An Mingzhe Wang .

CVSweb <webmaster@jp.NetBSD.org>