Upgrading build system to new NetBSD revision

The tested targets are the followgin ones:
 * tools
 * distribution
 * sets
 * release

The remaining NetBSD targets have not been disabled nor tested
*at all*. Try them at your own risk, they may reboot the earth.

For all compliant Makefiles, objects and generated files are put in
MAKEOBJDIR, which means you can now keep objects between two branch
switching. Same for DESTDIR, please refer to build.sh options.

Regarding new or modifications of Makefiles a few things:
 * Read share/mk/bsd.README
 * If you add a subdirectory, add a Makefile in it, and have it called
   by the parent through the SUBDIR variable.
 * Do not add arbitrary inclusion which crosses to another branch of
   the hierarchy; If you can't do without it, put a comment on why.
   If possible, do not use inclusion at all.
 * Use as much as possible the infrastructure, it is here to make
   life easier, do not fight it.

Sets and package are now used to track files.
We have one set called "minix", composed of one package called "minix-sys"
This commit is contained in:
Lionel Sambuc 2012-09-12 09:37:05 +02:00
parent bdb3f57135
commit 9152e1c5a7
609 changed files with 113178 additions and 1553 deletions

615
Makefile
View File

@ -1,123 +1,530 @@
# Master Makefile to compile everything in /usr/src except the system.
# $NetBSD: Makefile,v 1.299 2012/08/17 16:22:27 joerg Exp $
#
# This is the top-level makefile for building NetBSD. For an outline of
# how to build a snapshot or release, as well as other release engineering
# information, see http://www.NetBSD.org/developers/releng/index.html
#
# Not everything you can set or do is documented in this makefile. In
# particular, you should review the files in /usr/share/mk (especially
# bsd.README) for general information on building programs and writing
# Makefiles within this structure, and see the comments in src/etc/Makefile
# for further information on installation and release set options.
#
# Variables listed below can be set on the make command line (highest
# priority), in /etc/mk.conf (middle priority), or in the environment
# (lowest priority).
#
# Variables:
# DESTDIR is the target directory for installation of the compiled
# software. It defaults to /. Note that programs are built against
# libraries installed in DESTDIR.
# MKMAN, if `no', will prevent building of manual pages.
# MKOBJDIRS, if not `no', will build object directories at
# an appropriate point in a build.
# MKSHARE, if `no', will prevent building and installing
# anything in /usr/share.
# MKUPDATE, if not `no', will avoid a `make cleandir' at the start of
# `make build', as well as having the effects listed in
# /usr/share/mk/bsd.README.
# NOCLEANDIR, if defined, will avoid a `make cleandir' at the start
# of the `make build'.
# NOINCLUDES will avoid the `make includes' usually done by `make build'.
#
# See mk.conf(5) for more details.
#
#
# Targets:
# build:
# Builds a full release of NetBSD in DESTDIR, except for the
# /etc configuration files.
# If BUILD_DONE is set, this is an empty target.
# distribution:
# Builds a full release of NetBSD in DESTDIR, including the /etc
# configuration files.
# buildworld:
# As per `make distribution', except that it ensures that DESTDIR
# is not the root directory.
# installworld:
# Install the distribution from DESTDIR to INSTALLWORLDDIR (which
# defaults to the root directory). Ensures that INSTALLWORLDDIR
# is not the root directory if cross compiling.
# release:
# Does a `make distribution', and then tars up the DESTDIR files
# into ${RELEASEDIR}/${RELEASEMACHINEDIR}, in release(7) format.
# (See etc/Makefile for more information on this.)
# regression-tests:
# Runs the regression tests in "regress" on this host.
# sets:
# Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
# from ${DESTDIR}
# sourcesets:
# Populate ${RELEASEDIR}/source/sets from ${NETBSDSRCDIR}
# syspkgs:
# Populate ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
# from ${DESTDIR}
# iso-image:
# Create CD-ROM image in RELEASEDIR/iso.
# RELEASEDIR must already have been populated by `make release'
# or equivalent.
# iso-image-source:
# Create CD-ROM image with source in RELEASEDIR/iso.
# RELEASEDIR must already have been populated by
# `make release sourcesets' or equivalent.
# live-image:
# Create bootable live image for emulators or USB stick etc.
# in RELEASEDIR/liveimage.
# RELEASEDIR must already have been populated by `make release'
# or equivalent.
# install-image:
# Create bootable installation image for USB stick etc.
# in RELEASEDIR/installimage.
# RELEASEDIR must already have been populated by `make release'
# or equivalent.
#
# Targets invoked by `make build,' in order:
# cleandir: cleans the tree.
# do-top-obj: creates the top level object directory.
# do-tools-obj: creates object directories for the host toolchain.
# do-tools: builds host toolchain.
# obj: creates object directories.
# do-distrib-dirs: creates the distribution directories.
# includes: installs include files.
# do-tools-compat: builds the "libnbcompat" library; needed for some
# random host tool programs in the source tree.
# do-lib: builds and installs prerequisites from lib
# if ${MKCOMPAT} != "no".
# do-compat-lib: builds and installs prerequisites from compat/lib
# if ${MKCOMPAT} != "no".
# do-build: builds and installs the entire system.
# do-x11: builds and installs X11 if ${MKX11} != "no"; either
# X11R7 from src/external/mit/xorg if ${X11FLAVOUR} == "Xorg"
# or X11R6 from src/x11
# do-extsrc: builds and installs extsrc if ${MKEXTSRC} != "no".
# do-obsolete: installs the obsolete sets (for the postinstall-* targets).
#
.if ${.MAKEFLAGS:M${.CURDIR}/share/mk} == ""
.MAKEFLAGS: -m ${.CURDIR}/share/mk
.endif
#
# If _SRC_TOP_OBJ_ gets set here, we will end up with a directory that may
# not be the top level objdir, because "make obj" can happen in the *middle*
# of "make build" (long after <bsd.own.mk> is calculated it). So, pre-set
# _SRC_TOP_OBJ_ here so it will not be added to ${.MAKEOVERRIDES}.
#
_SRC_TOP_OBJ_=
.include <bsd.own.mk>
MAKE?=make
#
# Sanity check: make sure that "make build" is not invoked simultaneously
# with a standard recursive target.
#
usage:
@echo ""
@echo "Master Makefile for MINIX commands and utilities."
@echo "Root privileges are required for some actions."
@echo ""
@echo "Usage:"
@echo " make world # Compile everything (libraries & commands)"
@echo " make includes # Install include files from src/"
@echo " make libraries # Compile and install libraries"
@echo " make commands # Compile all, commands, but don't install"
@echo " make install # Compile and install commands"
@echo " make clean # Remove all compiler results"
@echo ""
@echo "Run 'make' in releasetools/ to create a new MINIX configuration."
@echo ""
.if make(build) || make(release) || make(snapshot)
.for targ in ${TARGETS:Nobj:Ncleandir}
.if make(${targ}) && !target(.BEGIN)
.BEGIN:
@echo 'BUILD ABORTED: "make build" and "make ${targ}" are mutually exclusive.'
@false
.endif
.endfor
.endif
# world has to be able to make a new system, even if there
# is no complete old system. it has to install commands, for which
# it has to install libraries, for which it has to install includes,
# for which it has to install /etc (for users and ownerships).
# etcfiles also creates a directory hierarchy in its
# 'make install' target.
#
#
# _SUBDIR is used to set SUBDIR, after removing directories that have
# BUILD_${dir}=no, or that have no ${dir}/Makefile.
#
_SUBDIR= tools lib include gnu external crypto/external bin games
_SUBDIR+= libexec sbin usr.bin
_SUBDIR+= commands man
_SUBDIR+= common drivers kernel servers
_SUBDIR+= usr.sbin share rescue sys etc tests compat .WAIT distrib regress
# etcfiles has to be done first.
distribution: etcfiles includes mkfiles libraries do-libgcc .WAIT dep-all install etcforce
do-libgcc: .PHONY .MAKE
${MAKEDIRTARGET} external/gpl3/gcc/lib/libgcc/libgcc all
${MAKEDIRTARGET} external/gpl3/gcc/lib/libgcc/libgcc install
world: mkfiles etcfiles includes libraries dep-all install etcforce
# subdirs where userland utilities and other executables live
CMDSDIRS=commands bin sbin usr.bin usr.sbin libexec external
# subdirs where system stuff lives
SYSDIRS=sys kernel servers drivers
# combination
CMDSYSDIRS=$(CMDSDIRS) $(SYSDIRS)
etcfiles: .PHONY .MAKE
${MAKEDIRTARGET} etc install
etcforce: .PHONY .MAKE
${MAKEDIRTARGET} etc installforce
mkfiles: .PHONY .MAKE
${MAKEDIRTARGET} share/mk install
includes: .PHONY .MAKE
${MAKEDIRTARGET} include includes
${INSTALL_DIR} ${DESTDIR}/usr/include/g++
${MAKEDIRTARGET} lib includes
${MAKEDIRTARGET} sys includes
${MAKEDIRTARGET} external includes
.for dir in lib lib/csu lib/libc
do-${dir:S/\//-/g}: .PHONY .MAKE
${MAKEDIRTARGET} ${dir} dependall
${MAKEDIRTARGET} ${dir} install
.for dir in ${_SUBDIR}
.if "${dir}" == ".WAIT" \
|| (${BUILD_${dir}:Uyes} != "no" && exists(${dir}/Makefile))
SUBDIR+= ${dir}
.endif
.endfor
# libraries are built by building and installing csu, then libc, then
# the rest
libraries: includes .PHONY .MAKE do-lib-csu .WAIT do-lib-libc .WAIT do-lib
.if exists(regress)
regression-tests: .PHONY .MAKE
@echo Running regression tests...
${MAKEDIRTARGET} regress regress
.endif
commands: includes libraries .PHONY .MAKE
.for dir in $(CMDSDIRS)
${MAKEDIRTARGET} ${dir} dependall
.endfor
.if ${MKUNPRIVED} != "no"
NOPOSTINSTALL= # defined
.endif
dep-all: .PHONY .MAKE
.for dir in $(CMDSYSDIRS)
${MAKEDIRTARGET} ${dir} dependall
.endfor
install: .PHONY .MAKE
.for dir in $(CMDSYSDIRS)
${MAKEDIRTARGET} ${dir} install
.endfor
${MAKEDIRTARGET} man install
afterinstall: .PHONY .MAKE
.if ${MKMAN} != "no"
.if !defined(__MINIX)
${MAKEDIRTARGET} share/man makedb
.else
${MAKEDIRTARGET} man makedb
${MAKEDIRTARGET} share install
${MAKEDIRTARGET} releasetools install
.endif # !defined(__MINIX)
.endif
.if !defined(__MINIX)
.if (${MKUNPRIVED} != "no" && ${MKINFO} != "no")
${MAKEDIRTARGET} gnu/usr.bin/texinfo/install-info infodir-meta
.endif
.endif # !defined(__MINIX)
.if !defined(NOPOSTINSTALL)
${MAKEDIRTARGET} . postinstall-check
.endif
clean: mkfiles .PHONY .MAKE
.for dir in $(CMDSDIRS)
${MAKEDIRTARGET} ${dir} clean
_POSTINSTALL= ${.CURDIR}/usr.sbin/postinstall/postinstall
_POSTINSTALL_ENV= \
AWK=${TOOL_AWK:Q} \
DB=${TOOL_DB:Q} \
HOST_SH=${HOST_SH:Q} \
MAKE=${MAKE:Q} \
PWD_MKDB=${TOOL_PWD_MKDB:Q} \
STAT=${TOOL_STAT:Q}
postinstall-check: .PHONY
@echo " === Post installation checks ==="
${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ check; if [ $$? -gt 1 ]; then exit 1; fi
@echo " ================================"
postinstall-fix: .NOTMAIN .PHONY
@echo " === Post installation fixes ==="
${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix
@echo " ==============================="
postinstall-fix-obsolete: .NOTMAIN .PHONY
@echo " === Removing obsolete files ==="
${_POSTINSTALL_ENV} ${HOST_SH} ${_POSTINSTALL} -s ${.CURDIR} -d ${DESTDIR}/ fix obsolete
@echo " ==============================="
#
# Targets (in order!) called by "make build".
#
.if defined(HAVE_GCC)
.if ${HAVE_GCC} == "4"
LIBGCC_EXT=4
BUILD_CC_LIB_BASEDIR= gnu/lib
BUILD_CC_LIB_BASETARGET= gnu-lib
.else
LIBGCC_EXT=
BUILD_CC_LIB_BASEDIR= external/gpl3/gcc/lib
BUILD_CC_LIB_BASETARGET= external-gpl3-gcc-lib
.endif
.endif
BUILDTARGETS+= check-tools
.if ${MKUPDATE} == "no" && !defined(NOCLEANDIR)
BUILDTARGETS+= cleandir
.endif
.if ${MKOBJDIRS} != "no"
BUILDTARGETS+= do-top-obj
.endif
.if ${USETOOLS} == "yes" # {
.if ${MKOBJDIRS} != "no"
BUILDTARGETS+= do-tools-obj
.endif
BUILDTARGETS+= do-tools
.endif # USETOOLS # }
.if ${MKOBJDIRS} != "no"
BUILDTARGETS+= obj
.endif
BUILDTARGETS+= clean_METALOG
.if !defined(NODISTRIBDIRS)
BUILDTARGETS+= do-distrib-dirs
.endif
.if !defined(NOINCLUDES)
BUILDTARGETS+= includes
.endif
BUILDTARGETS+= do-lib
.if !defined(__MINIX)
# LSC Not used in MINIX3
BUILDTARGETS+= do-compat-lib
.endif # !defiend(__MINIX)
BUILDTARGETS+= do-build
.if ${MKX11} != "no"
BUILDTARGETS+= do-x11
.endif
.if ${MKEXTSRC} != "no"
BUILDTARGETS+= do-extsrc
.endif
BUILDTARGETS+= do-obsolete
#
# Enforce proper ordering of some rules.
#
.ORDER: ${BUILDTARGETS}
includes-lib: .PHONY includes-include includes-sys
includes-gnu: .PHONY includes-lib
#
# Build the system and install into DESTDIR.
#
START_TIME!= date
build: .PHONY .MAKE
.if defined(BUILD_DONE)
@echo "Build already installed into ${DESTDIR}"
.else
@echo "Build started at: ${START_TIME}"
.for tgt in ${BUILDTARGETS}
${MAKEDIRTARGET} . ${tgt}
.endfor
${MAKEDIRTARGET} sys clean
${MAKEDIRTARGET} releasetools clean
${MAKEDIRTARGET} lib clean
${MAKEDIRTARGET} test clean
${MAKEDIRTARGET} etc install-etc-release
@echo "Build started at: ${START_TIME}"
@printf "Build finished at: " && date
.endif
cleandepend: mkfiles .PHONY .MAKE
.for dir in $(CMDSYSDIRS)
${MAKEDIRTARGET} ${dir} cleandepend
#
# Build a full distribution, but not a release (i.e. no sets into
# ${RELEASEDIR}). "buildworld" enforces a build to ${DESTDIR} != /
#
distribution buildworld: .PHONY .MAKE
.if make(buildworld) && \
(!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
@echo "Won't make ${.TARGET} with DESTDIR=/"
@false
.endif
${MAKEDIRTARGET} . build NOPOSTINSTALL=1
${MAKEDIRTARGET} etc distribution INSTALL_DONE=1
.if defined(__MINIX)
${MAKEDIRTARGET} releasetools hdboot
.endif # defined(__MINIX)
.if defined(DESTDIR) && ${DESTDIR} != "" && ${DESTDIR} != "/"
${MAKEDIRTARGET} . postinstall-fix-obsolete
${MAKEDIRTARGET} distrib/sets checkflist
.endif
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Install the distribution from $DESTDIR to $INSTALLWORLDDIR (defaults to `/')
# If installing to /, ensures that the host's operating system is NetBSD and
# the host's `uname -m` == ${MACHINE}.
#
HOST_UNAME_S!= uname -s
.if ${HOST_OSTYPE:C/\-.*//} != "Minix"
HOST_UNAME_M!= uname -m
.else
HOST_UNAME_M:= ${MACHINE}
.endif
installworld: .PHONY .MAKE
.if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
@echo "Can't make ${.TARGET} to DESTDIR=/"
@false
.endif
.if !defined(INSTALLWORLDDIR) || \
${INSTALLWORLDDIR} == "" || ${INSTALLWORLDDIR} == "/"
.if (${HOST_UNAME_S} != "Minix")
@echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to Minix with INSTALLWORLDDIR=/"
@false
.endif
.if (${HOST_UNAME_M} != ${MACHINE})
@echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLWORLDDIR=/"
@false
.endif
.endif
${MAKEDIRTARGET} distrib/sets installsets \
INSTALLDIR=${INSTALLWORLDDIR:U/} INSTALLSETS=${INSTALLSETS:Q}
${MAKEDIRTARGET} . postinstall-check DESTDIR=${INSTALLWORLDDIR}
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Install modules from $DESTDIR to $INSTALLMODULESDIR
#
installmodules: .PHONY .MAKE
.if (!defined(DESTDIR) || ${DESTDIR} == "" || ${DESTDIR} == "/")
@echo "Can't make ${.TARGET} to DESTDIR=/"
@false
.endif
.if !defined(INSTALLMODULESDIR) || \
${INSTALLMODULESDIR} == "" || ${INSTALLMODULESDIR} == "/"
.if (${HOST_UNAME_S} != "NetBSD")
@echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to NetBSD with INSTALLMODULESDIR=/"
@false
.endif
.if (${HOST_UNAME_M} != ${MACHINE})
@echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_M} to ${MACHINE} with INSTALLMODULESDIR=/"
@false
.endif
.endif
${MAKEDIRTARGET} sys/modules install DESTDIR=${INSTALLMODULESDIR:U/}
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Create sets from $DESTDIR or $NETBSDSRCDIR into $RELEASEDIR
#
.for tgt in sets sourcesets syspkgs
${tgt}: .PHONY .MAKE
${MAKEDIRTARGET} distrib/sets ${tgt}
.endfor
${MAKEDIRTARGET} lib cleandepend
# Shorthands
all: .PHONY .MAKE dep-all
${MAKEDIRTARGET} releasetools all
#
# Build a release or snapshot (implies "make distribution"). Note that
# in this case, the set lists will be checked before the tar files
# are made.
#
# Obsolete targets
elf-libraries: .PHONY
echo "That target is just libraries now."
false
release snapshot: .PHONY .MAKE
${MAKEDIRTARGET} . distribution
${MAKEDIRTARGET} etc release DISTRIBUTION_DONE=1
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
gnu-includes: .PHONY
echo "That target is obsolete."
echo "Current MINIX GCC packages don't require it any more."
false
#
# Create a CD-ROM image.
#
iso-image: .PHONY
${MAKEDIRTARGET} distrib iso_image
${MAKEDIRTARGET} etc iso-image
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
iso-image-source: .PHONY
${MAKEDIRTARGET} distrib iso_image CDSOURCE=true
${MAKEDIRTARGET} etc iso-image
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Create bootable live images.
#
live-image: .PHONY
${MAKEDIRTARGET} etc live-image
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Create bootable installation images.
#
install-image: .PHONY
${MAKEDIRTARGET} etc install-image
@echo "make ${.TARGET} started at: ${START_TIME}"
@printf "make ${.TARGET} finished at: " && date
#
# Special components of the "make build" process.
#
check-tools: .PHONY
.if ${TOOLCHAIN_MISSING} != "no" && !defined(EXTERNAL_TOOLCHAIN)
@echo '*** WARNING: Building on MACHINE=${MACHINE} with missing toolchain.'
@echo '*** May result in a failed build or corrupt binaries!'
.elif defined(EXTERNAL_TOOLCHAIN)
@echo '*** Using external toolchain rooted at ${EXTERNAL_TOOLCHAIN}.'
.endif
.if defined(NBUILDJOBS)
@echo '*** WARNING: NBUILDJOBS is obsolete; use -j directly instead!'
.endif
# Delete or sanitise a leftover METALOG from a previous build.
clean_METALOG: .PHONY .MAKE
.if ${MKUPDATE} != "no"
${MAKEDIRTARGET} distrib/sets clean_METALOG
.endif
do-distrib-dirs: .PHONY .MAKE
.if !defined(DESTDIR) || ${DESTDIR} == ""
${MAKEDIRTARGET} etc distrib-dirs DESTDIR=/
.else
${MAKEDIRTARGET} etc distrib-dirs DESTDIR=${DESTDIR}
.endif
.for targ in cleandir obj includes
do-${targ}: .PHONY ${targ}
@true
.endfor
.for dir in tools tools/compat
do-${dir:S/\//-/g}: .PHONY .MAKE
.for targ in dependall install
${MAKEDIRTARGET} ${dir} ${targ}
.endfor
.endfor
do-lib: .PHONY .MAKE
${MAKEDIRTARGET} lib build_install
do-compat-lib: .PHONY .MAKE
${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../lib"
do-top-obj: .PHONY .MAKE
${MAKEDIRTARGET} . obj NOSUBDIR=
do-tools-obj: .PHONY .MAKE
${MAKEDIRTARGET} tools obj
do-build: .PHONY .MAKE
.for targ in dependall install
${MAKEDIRTARGET} . ${targ} BUILD_tools=no BUILD_lib=no
.endfor
do-x11: .PHONY .MAKE
.if ${MKX11} != "no"
.if ${X11FLAVOUR} == "Xorg"
${MAKEDIRTARGET} external/mit/xorg build
.else
${MAKEDIRTARGET} x11 build
.endif
.else
@echo "MKX11 is not enabled"
@false
.endif
do-extsrc: .PHONY .MAKE
.if ${MKEXTSRC} != "no"
${MAKEDIRTARGET} extsrc build
.else
@echo "MKEXTSRC is not enabled"
@false
.endif
do-obsolete: .PHONY .MAKE
${MAKEDIRTARGET} etc install-obsolete-lists
#
# Speedup stubs for some subtrees that don't need to run these rules.
# (Tells <bsd.subdir.mk> not to recurse for them.)
#
.for dir in bin etc distrib games libexec regress sbin usr.bin usr.sbin tools
includes-${dir}: .PHONY
@true
.endfor
.for dir in etc distrib regress
install-${dir}: .PHONY
@true
.endfor
#
# XXX this needs to change when distrib Makefiles are recursion compliant
# XXX many distrib subdirs need "cd etc && make snap_pre snap_kern" first...
#
dependall-distrib depend-distrib all-distrib: .PHONY
@true
.include <bsd.sys.mk>
.include <bsd.obj.mk>
.include <bsd.kernobj.mk>
.include <bsd.subdir.mk>
#
# Display current make(1) parameters
#
params: .PHONY .MAKE
${MAKEDIRTARGET} etc params

View File

@ -1,7 +1,7 @@
# Makefile for bin
# $NetBSD: Makefile,v 1.22 2007/12/31 15:31:24 ad Exp $
# @(#)Makefile 8.1 (Berkeley) 5/31/93
.include <bsd.own.mk>
SUBDIR= cat date ed mkdir pax rm rmdir
SUBDIR= cat date ed \
mkdir pax rm rmdir
.include <bsd.subdir.mk>

View File

@ -1,2 +1,11 @@
BINDIR?=/bin
# $NetBSD: Makefile.inc,v 1.17 2012/03/21 05:47:53 matt Exp $
# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93
.include <bsd.own.mk> # for MKDYNAMICROOT definition
WARNS?= 5
BINDIR?= /bin
.if (${MKDYNAMICROOT} == "no")
LDSTATIC?= -static
.endif

View File

@ -2,6 +2,8 @@
# @(#)Makefile 8.1 (Berkeley) 5/31/93
PROG= mkdir
.ifdef __MINIX
SYMLINKS= $(BINDIR)/$(PROG) /usr/bin/$(PROG)
.endif
.include <bsd.prog.mk>

View File

@ -54,6 +54,11 @@ DPADD+= ${LIBRMT}
.if defined(__MINIX)
CPPFLAGS+= -DHOSTPROG
CPPFLAGS+= -Dlchown=chown -Dlchmod=chmod
MAN+= bsdtar.1
bsdtar.1: tar.1
${INSTALL} ${.ALLSRC} ${.TARGET}
.endif
.include <bsd.prog.mk>

View File

@ -1,5 +1,5 @@
#! /usr/bin/env sh
# $NetBSD: build.sh,v 1.254 2012/02/26 20:32:40 tsutsui Exp $
# $NetBSD: build.sh,v 1.255 2012/08/05 04:39:09 matt Exp $
#
# Copyright (c) 2001-2011 The NetBSD Foundation, Inc.
# All rights reserved.
@ -554,6 +554,14 @@ getarch()
#
case "${MACHINE}" in
evbearm-e[bl])
makewrappermachine=${MACHINE}
# MACHINE_ARCH is "arm" or "armeb", not "armel"
MACHINE_ARCH=earm${MACHINE##*-}
MACHINE_ARCH=${MACHINE_ARCH%el}
MACHINE=evbarm
;;
evbarm-e[bl])
makewrappermachine=${MACHINE}
# MACHINE_ARCH is "arm" or "armeb", not "armel"
@ -658,6 +666,11 @@ getarch()
MACHINE_ARCH=${MACHINE}
;;
i[4-6]86)
MACHINE=i386
MACHINE_ARCH=i386
;;
*)
bomb "Unknown target MACHINE: ${MACHINE}"
;;
@ -671,7 +684,7 @@ validatearch()
#
case "${MACHINE_ARCH}" in
alpha|arm|armeb|hppa|i386|m68000|m68k|mipse[bl]|mips64e[bl]|powerpc|powerpc64|sh3e[bl]|sparc|sparc64|vax|x86_64|ia64)
alpha|arm|armeb|earm|earmeb|hppa|i386|m68000|m68k|mipse[bl]|mips64e[bl]|powerpc|powerpc64|sh3e[bl]|sparc|sparc64|vax|x86_64|ia64)
;;
"")
@ -689,7 +702,11 @@ validatearch()
case "${MACHINE}" in
evbarm)
arches="arm armeb"
arches="arm armeb earm earmeb"
;;
cats|iyonix|netwinder|shark|zaurus)
arches="arm earm"
;;
algor|arc|cobalt|pmax)
@ -1196,8 +1213,7 @@ parseoptions()
[ -z "${BUILDID}" ] || makeenv="${makeenv} BUILDID"
MAKEFLAGS="-de -m ${TOP}/share/mk ${MAKEFLAGS}"
MAKEFLAGS="${MAKEFLAGS} MKOBJDIRS=${MKOBJDIRS-yes}"
BUILDSH=1
export MAKEFLAGS MACHINE MACHINE_ARCH BUILDSH
export MAKEFLAGS MACHINE MACHINE_ARCH
}
# sanitycheck --
@ -1521,7 +1537,7 @@ validatemakeparams()
if [ -z "${DESTDIR}" ] || [ "${DESTDIR}" = "/" ]; then
if ${do_build} || ${do_distribution} || ${do_release}; then
if ! ${do_build} || \
[ "${uname_s}" != "NetBSD" ] || \
[ "${uname_s}" != "Minix" ] || \
[ "${uname_m}" != "${MACHINE}" ]; then
bomb "DESTDIR must != / for cross builds, or ${progname} 'distribution' or 'release'."
fi
@ -1657,7 +1673,7 @@ createmakewrapper()
eval cat <<EOF ${makewrapout}
#! ${HOST_SH}
# Set proper variables to allow easy "make" building of a NetBSD subtree.
# Generated from: \$NetBSD: build.sh,v 1.254 2012/02/26 20:32:40 tsutsui Exp $
# Generated from: \$NetBSD: build.sh,v 1.255 2012/08/05 04:39:09 matt Exp $
# with these arguments: ${_args}
#
@ -1700,10 +1716,10 @@ make_in_dir()
buildtools()
{
# if [ "${MKOBJDIRS}" != "no" ]; then
# ${runcmd} "${makewrapper}" ${parallel} obj-tools ||
# bomb "Failed to make obj-tools"
# fi
if [ "${MKOBJDIRS}" != "no" ]; then
${runcmd} "${makewrapper}" ${parallel} obj-tools ||
bomb "Failed to make obj-tools"
fi
if [ "${MKUPDATE}" = "no" ]; then
make_in_dir tools cleandir
fi
@ -2014,7 +2030,7 @@ main()
installmodules=*)
arg=${op#*=}
if [ "${arg}" = "/" ] && \
( [ "${uname_s}" != "NetBSD" ] || \
( [ "${uname_s}" != "Minix" ] || \
[ "${uname_m}" != "${MACHINE}" ] ); then
bomb "'${op}' must != / for cross builds."
fi
@ -2024,7 +2040,7 @@ main()
install=*)
arg=${op#*=}
if [ "${arg}" = "/" ] && \
( [ "${uname_s}" != "NetBSD" ] || \
( [ "${uname_s}" != "Minix" ] || \
[ "${uname_m}" != "${MACHINE}" ] ); then
bomb "'${op}' must != / for cross builds."
fi

View File

@ -2,29 +2,10 @@
.include <bsd.own.mk>
YHEADER=1
PROG= sh
SHSRCS= alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \
histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
mystring.c options.c output.c parser.c redir.c show.c \
trap.c var.c setmode.c expr.c regexp.c
GENSRCS= builtins.c init.c nodes.c syntax.c operators.c signames.c
GENHDRS= builtins.h nodes.h syntax.h token.h operators.h signames.h
SRCS= ${SHSRCS} ${GENSRCS}
DPSRCS+=${GENHDRS}
BINDIR= /bin
MAN=
DPADD+= ${LIBL} ${LIBEDIT}
LDADD+= -ll -ledit
LFLAGS= -8 # 8-bit lex scanner for arithmetic
YFLAGS= -d
# The .depend file can get references to these temporary files
.OPTIONAL: lex.yy.c y.tab.c
# Enable this line to disable command line editing
#EDIT=-DNO_HISTORY
# Enable this line to use the editline library instead of libedit
@ -37,55 +18,83 @@ EDIT=-DEDITLINE
NO_JOBS=-DJOBS=0
MKB_NO_JOBS=-j
CPPFLAGS+=-DSHELL -I. -I${.CURDIR}
SRCS= alias.c arith.y arith_lex.l cd.c eval.c exec.c expand.c \
histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
mystring.c options.c output.c parser.c redir.c show.c \
trap.c var.c setmode.c
.include "${.CURDIR}/bltin/Makefile.inc"
GENSRCS= builtins.c init.c nodes.c syntax.c operators.c signames.c
GENHDRS= builtins.h nodes.h syntax.h token.h operators.h signames.h
SRCS+= ${GENSRCS}
CLEANFILES+=${GENSRCS} ${GENHDRS}
DPADD+= ${LIBL} ${LIBEDIT}
LDADD+= -ll -ledit
CPPFLAGS+= -DSHELL -D__NBSD_LIBC
CPPFLAGS+=${EDIT} ${NO_PATHS_H} ${NO_JOBS}
.PATH: ${.CURDIR}/bltin
CPPFLAGS+= -I. -I${.CURDIR}
CLEANFILES+= mkinit mkinit.lo mknodes mknodes.lo \
mksyntax mksyntax.lo mksignames mksignames.lo
CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h
# A. Generate C tools used to build ash
.for tool in init nodes signames syntax
${.OBJDIR}/mk${tool}: ${.CURDIR}/mk${tool}.c
${HOST_CC} ${.ALLSRC} -o ${.TARGET}
.endfor
build-tools: mkinit mknodes mksyntax mksignames
# B. Generates C sources from C tools
NODES_ARGS:= ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
INIT_ARGS:= alias.c eval.c exec.c input.c jobs.c options.c parser.c \
redir.c trap.c var.c
.ORDER: builtins.c builtins.h
builtins.c builtins.h: mkbuiltins builtins.def shell.h
cd ${.CURDIR}; sh mkbuiltins ${MKB_NO_JOBS} ${.OBJDIR} shell.h builtins.def
.for tool in nodes signames syntax
${tool}.c ${tool}.h: ${.OBJDIR}/mk${tool}
${.OBJDIR}/mk${tool} ${${tool:tu}_ARGS}
.endfor
init.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
redir.c trap.c var.c
./mkinit ${.ALLSRC:S/^mkinit$//}
init.c: ${.OBJDIR}/mkinit \
alias.c eval.c exec.c input.c jobs.c options.c parser.c \
redir.c trap.c var.c
${.OBJDIR}/mkinit ${.ALLSRC:S/^${.OBJDIR}/mkinit$//}
mkinit: mkinit.lo
${HOST_LINK.c} mkinit.lo -o $@
# C. Generates C sources from shell scripts
token.h:
${.CURDIR}/mktokens.sh
mknodes: mknodes.lo
${HOST_LINK.c} mknodes.lo -o $@
mksyntax: mksyntax.lo
${HOST_LINK.c} mksyntax.lo -o $@
mksignames: mksignames.lo
${HOST_LINK.c} mksignames.lo -o $@
builtins.c builtins.h:
${.CURDIR}/mkbuiltins.sh ${MKB_NO_JOBS} . ${.CURDIR}/shell.h ${.CURDIR}/builtins.def
.ORDER: nodes.c nodes.h
nodes.c nodes.h: mknodes nodetypes nodes.c.pat
./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
operators.c operators.h:
${.CURDIR}/bltin/mkexpr.sh ${.CURDIR}/bltin/unary_op ${.CURDIR}/bltin/binary_op
.ORDER: syntax.c syntax.h
syntax.c syntax.h: mksyntax
./mksyntax
# D. Generates sources from yacc/lex
LFLAGS= -8 # 8-bit lex scanner for arithmetic
token.h: mktokens
sh ${.CURDIR}/mktokens
YFLAGS:= -d
CLEANFILES+= arith.h arith.y.o
.ORDER: signames.c signames.h
signames.c signames.h: mksignames
./mksignames
parser.c: token.h
y.tab.h: arith.y
arith.h: y.tab.h
arith_lex.l: arith.h
.ORDER: operators.c operators.h
operators.c operators.h: mkexpr unary_op binary_op
sh ${.CURDIR}/bltin/mkexpr ${.CURDIR}/bltin/unary_op ${.CURDIR}/bltin/binary_op
# Explicit dependencies to ensure creation when needed
# LSC FIXME Under MINIX, the build system curiously needs more help.
# is it because of the missing order tools?
expand.c: arith.h
trap.c: signames.h
cd.c complete.c eval.c exec.c expand.c jobs.c main.c options.c parser.c redir.c show.c trap.c var.c: nodes.h
eval.c exec.c expand.c input.c input.h jobs.c mystring.c output.c parser.c trap.c var.c: syntax.h
arith.h: arith.c
arith.c: arith.y
# LSC: Seems that this file is implicitly taken into account by NetBSD's make,
# still seems to be ignored / not found currently.
# It's a sad story, as it has default rules to manage yacc / lex files. So for
# a happy ending here it is explicitly included:
.include <sys.mk>
.include <bsd.prog.mk>

0
commands/ash/TOUR Executable file → Normal file
View File

View File

@ -0,0 +1,7 @@
.PATH: ${.CURDIR}/bltin
SRCS+= echo.c error.c expr.c regexp.c
# LSC Again nbmake seems dumber on MINIX...
expr.c: operators.h

0
commands/ash/bltin/binary_op Executable file → Normal file
View File

0
commands/ash/bltin/makefile.not Executable file → Normal file
View File

View File

@ -1,3 +1,4 @@
#!/bin/sh
# Copyright 1989 by Kenneth Almquist. All rights reserved.
#
# This file is part of ash. Ash is distributed under the terms specified

0
commands/ash/bltin/unary_op Executable file → Normal file
View File

0
commands/ash/nodes.c.pat Executable file → Normal file
View File

0
commands/ash/nodetypes Executable file → Normal file
View File

View File

@ -1,3 +1,6 @@
# LSC For nwo
NOGCCERROR:= yes
PROG= backup
MAN=

View File

@ -1,3 +1,5 @@
# LSC For now...
NOGCCERROR:=yes
PROG= cal
MAN=

View File

@ -33,6 +33,9 @@
# malloc() and its relatives (most do).
#
#DEFS = -DUNIX -DMALLOCH
#LSC For now...
NOGCCERROR:= yes
DEFS= -DUNIX -DUSG -DSTDLIB
CPPFLAGS+= ${DEFS}

View File

@ -1,3 +1,5 @@
# LSC For now...
NOGCCERROR:= yes
PROG= chmod
MAN=
BINDIR=/bin

View File

@ -1,3 +1,5 @@
# LSC For Now
NOGCCERROR:= yes
PROG= chown
MAN=

View File

@ -1,3 +1,5 @@
# LSC For now
NOGCCERROR:= yes
PROG= cleantmp
MAN=

View File

@ -1,3 +1,5 @@
# LSC For Now...
NOGCCERROR:= yes
PROG= compress
MAN=

View File

@ -1,3 +1,5 @@
# LSC For Now...
NOGCCERROR:= yes
PROG= cp
BINDIR= /bin
MAN=

View File

@ -1,5 +1,7 @@
# Makefile for cron.
# LSC For Now...
NOGCCERROR:=yes
PROG= cron
SRCS= cron.c tab.c misc.c
MAN=

View File

@ -2,6 +2,9 @@
.include <bsd.own.mk>
# LSC For now...
NOGCCERROR:= yes
PROG= crontab
SRCS= crontab.c tab.c misc.c
CPPFLAGS+= -I${.CURDIR} -I${NETBSDSRCDIR}/commands/cron

View File

@ -1,3 +1,5 @@
# LSC For now
NOGCCERROR:=yes
PROG= dd
MAN=

View File

@ -1,15 +1,20 @@
PROG = devmand
SRCS = main.c lex.yy.c y.tab.c
lex.yy.c: usb_scan.l y.tab.h
${LEX} usb_scan.l
y.tab.c y.tab.h: usb.y
${YACC} -d usb.y
CLEANFILES = y.tab.c y.tab.h *.d lex.yy.c lex.yy.o main.o y.tab.o
MAN =
SRCS = main.c usb_scan.l usb.y
CPPFLAGS+= -I${.CURDIR}
YFLAGS:= -d
CLEANFILES+= y.tab.h
usb_scan.l: usb.y
.include <bsd.prog.mk>
# LSC: Seems that this file is implicitly taken into account by NetBSD's make,
# still seems to be ignored / not found currently.
# It's a sad story, as it has default rules to manage yacc / lex files. So for
# a happy ending here it is explicitly included:
.include <sys.mk>

View File

@ -15,6 +15,9 @@ CPPFLAGS+= -w -DCRUNCH \
-DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_EXTENSIONS \
-DNO_ERRLIST -DNO_FKEY -DNO_VISIBLE -DNO_COLOR -DNO_POPUP
# LSC Force usage of local getline
CPPFLAGS+= -D__NBSD_LIBC
###########################################################################
### The rest of this Makefile contains no user-serviceable parts ###
###########################################################################
@ -25,13 +28,8 @@ SRCS.elvis= blk.c cmd1.c cmd2.c ctype.c curses.c cut.c ex.c input.c \
unix.c vars.c vcmd.c vi.c
BINDIR= /usr/bin
.if !exists(${BINDIR}/vi)
LINKS+= ${BINDIR}/elvis ${BINDIR}/vi
.endif
.if !exists(${BINDIR}/ex)
LINKS+= ${BINDIR}/elvis ${BINDIR}/ex
.endif
MAN.elvis=
MAN.ctags=

View File

@ -1,4 +1,7 @@
PROG= finger
MAN=
# LSC Force finger to use its local fwopen macro
CPPFLAGS.finger.c+=-D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,4 +1,7 @@
PROG= fix
MAN=
# LSC Force fix to use its local definition of getline
CPPFLAGS.fix.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -8,4 +8,7 @@ PROG= ftp
SRCS= ftp.c local.c file.c xfer.c other.c net.c crc.c
CPPFLAGS+= -DCRC_ONLY
# LSC Force ftp.c to use its local definition of getline
CPPFLAGS+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,4 +1,6 @@
PROG=gcov-pull
MAN=
CPPFLAGS.gcov-pull.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,3 +1,5 @@
# LSC For now...
NOGCCERROR:= yes
PROG= getty
BINDIR= /bin
MAN=

View File

@ -1,4 +1,6 @@
PROG= host
MAN=
CPPFLAGS.host.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,5 +1,6 @@
PROG= hostaddr
BINMODE= 4755
MAN=
CPPFLAGS+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,4 +1,5 @@
PROG= logger
MAN=
CPPFLAGS.logger.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -2,4 +2,7 @@ PROG= ls
BINDIR= /bin
MAN=
# LSC Force usage of local mergesort
CPPFLAGS.ls.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,4 +1,6 @@
PROG= nonamed
MAN=
CPPFLAGS+=-D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -12,4 +12,6 @@ SYMLINKS+= ${BINDIR}/reboot /usr/bin/reboot
MAN.shutdown=
MAN.halt=
CPPFLAGS+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -6,6 +6,7 @@
PROG= syslogd
PIDFILE= -DPIDFILE=\"/var/run/syslogd.pid\"
CPPFLAGS+= -Ddebug=0 ${PIDFILE}
CPPFLAGS+= -D__NBSD_LIBC
BINMODE= 700
MAN=

View File

@ -1,5 +1,8 @@
PROG= tcpstat
CPPFLAGS+= -I${NETBSDSRCDIR}/servers -D'ARGS(a)=a'
# LSC Force inet.h to use ioc_net.h
CPPFLAGS+= -D__NBSD_LIBC
MAN=
.include <bsd.prog.mk>

View File

@ -2,4 +2,7 @@ PROG= udpstat
CPPFLAGS+= -I${NETBSDSRCDIR}/servers -D'ARGS(a)=a'
MAN=
# LSC Force inet.h to use sys/ioc_net.h
CPPFLAGS+= -D__NBSD_LIBC
.include <bsd.prog.mk>

View File

@ -1,4 +1,7 @@
PROG= writeisofs
MAN=
# LSC Prevent redefinition ot types
CPPFLAGS.writeisofs.c+= -D__NBSD_LIBC
.include <bsd.prog.mk>

4
common/Makefile Normal file
View File

@ -0,0 +1,4 @@
SUBDIR+= include
.include <bsd.subdir.mk>

8
common/include/Makefile Normal file
View File

@ -0,0 +1,8 @@
INCSDIR= /usr/include/minix
INCS+= termios.h
SUBDIR+= sys
.include <bsd.kinc.mk>

View File

@ -1,6 +0,0 @@
.include <bsd.own.mk>
.PATH: ${NETBSDSRCDIR}/common/include
INCS+= termios.h

View File

@ -1,10 +1,11 @@
.include <bsd.own.mk>
.PATH: ${NETBSDSRCDIR}/common/include/sys
INCSDIR= /usr/include/sys
INCS+= elf64.h elf_common.h elf_generic.h \
INCS+= elf64.h elf_common.h elf_generic.h \
ioc_block.h ioc_fbd.h ioc_file.h ioc_tape.h ioc_disk.h \
ioc_memory.h ioc_sound.h ioc_tty.h \
kbdio.h mtio.h svrctl.h video.h vm.h procfs.h elf_core.h exec_elf.h \
disk.h dkio.h ioccom.h mutex.h iostat.h disklabel.h disklabel_gpt.h \
bootblock.h dkbad.h extattr.h
bootblock.h dkbad.h
.include <bsd.kinc.mk>

View File

@ -1,12 +1,13 @@
# $NetBSD: Makefile.inc,v 1.10 2008/10/26 07:22:50 mrg Exp $
# $NetBSD: Makefile.inc,v 1.12 2012/07/08 01:21:12 rmind Exp $
COMMON_DIR:=${.PARSEDIR}
.if defined(__MINIX)
COMMON_CODEDIRS=atomic gen inet md net quad stdlib string
COMMON_CODEDIRS+=hash/sha1 hash/sha2 hash/rmd160
.else
COMMON_CODEDIRS=atomic gen gmon inet md net quad stdlib string sys
COMMON_CODEDIRS+=hash/sha1 hash/sha2 hash/rmd160 hash/murmurhash
.endif
COMMON_CODEDIRS+=hash/sha1 hash/sha2 hash/rmd160
.if defined(COMMON_MACHINE_ARCH) && !empty(COMMON_MACHINE_ARCH) && \
exists(${COMMON_DIR}/arch/${COMMON_MACHINE_ARCH})
@ -29,6 +30,11 @@ COMMON_ARCHDIR=${COMMON_DIR}/arch/${COMMON_ARCHSUBDIR}
.if exists(${COMMON_ARCHDIR}/${i}/Makefile.inc)
.include "${COMMON_ARCHDIR}/${i}/Makefile.inc"
.endif
.if !empty(CPPFLAGS:M-DLIBKERN_OPTIMISE_SPACE) && \
exists(${COMMON_ARCHDIR}/$i/small)
.PATH.S: ${COMMON_ARCHDIR}/$i/small
.endif
.if exists(${COMMON_ARCHDIR}/$i)
.PATH.c: ${COMMON_ARCHDIR}/$i
.PATH.S: ${COMMON_ARCHDIR}/$i

View File

@ -1,19 +1,40 @@
# $NetBSD: Makefile.inc,v 1.8 2009/01/04 17:54:29 pooka Exp $
# $NetBSD: Makefile.inc,v 1.9 2012/08/16 16:49:10 matt Exp $
ARMV6= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*}
ARMV6+= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*}
ARMV6+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*}
ARMV6+= ${CFLAGS:M-march=armv6*:} ${CFLAGS:M-mcpu=arm11*}
ARMV6+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*}
ARMV6+= ${CPPFLAGS:M-march=armv6*:} ${CPPFLAGS:M-mcpu=arm11*}
.if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \
|| ${LIB} == "rump" || (defined(__MINIX) && ${LIB} == "sys"))
SRCS+= atomic_add_32_cas.c atomic_add_32_nv_cas.c atomic_and_32_cas.c \
atomic_and_32_nv_cas.c atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \
atomic_inc_32_cas.c atomic_inc_32_nv_cas.c atomic_or_32_cas.c \
atomic_or_32_nv_cas.c atomic_swap_32_cas.c membar_ops_nop.c
.if empty(ARMV6)
SRCS.atomic+= atomic_add_32_cas.c atomic_add_32_nv_cas.c \
atomic_and_32_cas.c atomic_and_32_nv_cas.c \
atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \
atomic_inc_32_cas.c atomic_inc_32_nv_cas.c \
atomic_or_32_cas.c atomic_or_32_nv_cas.c \
atomic_swap_32_cas.c membar_ops_nop.c
.else
SRCS.atomic+= atomic_add_32.S atomic_and_32.S atomic_cas_32.S \
atomic_dec_32.S atomic_inc_32.S atomic_or_32.S \
atomic_swap.S membar_ops.S
.endif
.endif
.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread")
SRCS+= atomic_init_testset.c
SRCS+= atomic_cas_up.S
.if empty(ARMV6)
SRCS.atomic+= atomic_init_testset.c
SRCS.atomic+= atomic_cas_up.S
CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP
.else
SRCS.atomic+= atomic_init_cas.c
.endif
.endif
SRCS+= ${SRCS.atomic}

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.8 2008/06/30 20:14:09 matt Exp $
# $NetBSD: Makefile.inc,v 1.9 2012/07/27 09:10:59 pooka Exp $
.PATH: ${.PARSEDIR}
@ -6,4 +6,6 @@ SRCS+= prop_array.c prop_array_util.c prop_bool.c prop_data.c \
prop_dictionary.c prop_dictionary_util.c prop_ingest.c \
prop_kern.c prop_number.c prop_object.c prop_stack.c prop_string.c
#SRCS+= prop_rb.c
.ifdef (PROPLIB_WANT_RB)
SRCS+= prop_rb.c
.endif

26
distrib/Makefile Normal file
View File

@ -0,0 +1,26 @@
# $NetBSD: Makefile,v 1.19 2012/02/14 19:39:37 joerg Exp $
.include <bsd.own.mk>
.if ${MKGROFF} != "no"
SUBDIR= notes .WAIT
.endif
.if !defined(__MINIX)
SUBDIR+= utils
.endif
.if exists(${MACHINE}/miniroot/Makefile.inc)
SUBDIR+= miniroot .WAIT
.endif
.if exists(${RELEASEMACHINE}/Makefile)
SUBDIR+= ${RELEASEMACHINE}
.endif
TARGETS+=release
TARGETS+=iso_image
TARGETS+=live_image
TARGETS+=install_image
.include <bsd.subdir.mk>

7
distrib/Makefile.inc Normal file
View File

@ -0,0 +1,7 @@
# $NetBSD: Makefile.inc,v 1.10 2012/01/22 03:53:32 tsutsui Exp $
.include "../Makefile.inc"
iso_image: .PHONY
live_image: .PHONY
install_image: .PHONY

View File

@ -0,0 +1,22 @@
# Minimal version using shell builtins.
make_resolv_conf()
{
if [ -z "${new_domain_name_servers}" -a \
-z "${new_domain_name}" -a \
-z "${new_domain_search}" ]; then
return 0
fi
if [ -n "${new_domain_search}" ]; then
echo "search ${new_domain_search}" >> /etc/resolv.conf
elif [ -n "${new_domain_name}" ]; then
echo "search ${new_domain_name}" >> /etc/resolv.conf
fi
for x in ${new_domain_name_servers}; do
echo "nameserver ${x}" >> /etc/resolv.conf
done
}
case "${reason}" in
BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT) make_resolv_conf;;
esac

View File

@ -0,0 +1,11 @@
# $NetBSD: 99-print-sysinst,v 1.1 2009/04/07 11:49:17 joerg Exp $
case "${reason}" in
BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT)
cat > /tmp/dhcpcd-lease << EOF
host-name=${new_host_name}
domain-name=${new_domain_name}
EOF
set > /tmp/dhcpcd-lease-all
;;
esac

View File

@ -0,0 +1,227 @@
# $NetBSD: Makefile.bootcd,v 1.20 2012/08/17 16:57:59 riz Exp $
#
# Makefile snipped to create a CD/DVD ISO
#
# XXX TODO:
# 1) merge with src/distrib/cdrom
# 2) teach makefs to add data from more than 1 directory (see below)
#
# Required variables:
# CDBASE Basename of the iso
#
# Optional variables:
# CDRELEASE Set to 'true' to include $RELEASEDIR/$MACHINE on the CD
# CDRELEASE_NOISOS Excludes installation/cdrom directory if set
# CDSOURCE Set to 'true' to include $RELEASEDIR/source on the CD
# CDEXTRA Set to a list of files or directories containing extra
# stuff to put on CD (set by build.sh -C flag)
# CDBUILDEXTRA Set to a list of files or directories containing extra
# stuff to put on CD (use in Makefiles)
# CDEXTRA_SKIP A list of file exclusion paths to exclude when copying
# directories of extra stuff in CDEXTRA AND CDBUILDEXTRA
# BOOT Defaults to $DESTDIR/usr/mdec/boot
# BOOTXX_CD9660 Defaults to $DESTDIR/usr/mdec/bootxx_cd9660
# CDBOOTOPTIONS Options for installboot, eg -o console=com0,speed=9600
# CDMAKEFSOPTIONS Options for makefs, eg bootimage=i386;bootxx,no-emul-boot
# CDROMS_RELEASEDIR Where to install ${CDBASE}.iso
# CDINSTKERNEL instkernel directory (relative to ${.CURDIR})
# CDKERNELS couples of the form:
# source name_on_cd
# CDRUNTIME files/directories to copy from $DESTDIR onto the CD
# source kernels are copied from ${CDINSTKERNEL} (or its obj dir)
# note that as of yet, bootxx_cd9660 can't load kernel names of more than
# 8 chars (though they can be in a sub-directory meaning the pathname is
# longer than 8 chars)
#
BOOT?= ${DESTDIR}/usr/mdec/boot
BOOTXX_CD9660?= ${DESTDIR}/usr/mdec/bootxx_cd9660
CDRELEASE?= false
CDSOURCE?= false
.if ${CDRELEASE} == false
CDROMS_RELEASEDIR?= ${MACHINE}/installation/cdrom
.else
CDROMS_RELEASEDIR?= images
.endif
.if defined(CDRELEASE_NOISOS)
CDRELEASE_EXCLUDE= -s ',./installation/cdrom.*,,gp'
.endif
.if !defined(CDRELEASE_LIVEIMAGE)
CDRELEASE_EXCLUDE+= -s ',./installation/liveimage.*,,gp'
.endif
.if !defined(CDRELEASE_INSTALLIMAGE)
CDRELEASE_EXCLUDE+= -s ',./installation/installimage.*,,gp'
.endif
.include <bsd.sys.mk> # for HOST_SH
.include <bsd.own.mk> # For PRINTOBJDIR
.include <bsd.kernobj.mk> # For KERNSRCDIR
DISTRIBVER!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh
DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s
ISO_VOLID!= echo NETBSD_${DISTRIBREV} | tr a-z A-Z
PUBLISHER?= The_NetBSD_Project
.if defined(CDMAKEFSOPTIONS)
_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER},${CDMAKEFSOPTIONS}
.else
_CDMAKEFSOPTIONS= rockridge,label=${ISO_VOLID},publisher=${PUBLISHER}
.endif
# Stuff that should come from elsewhere - XXX where? - HF
CP?= cp
RM?= rm
MKDIR?= mkdir -p
CHMOD?= chmod
ECHO?= echo
.if ${CDRELEASE} == false
CDIMAGE= ${CDBASE}.iso
.else
CDIMAGE= NetBSD-${DISTRIBVER}-${CDBASE:S/cd$//}.iso
.endif
CLEANFILES+= ${CDIMAGE}
CLEANFILES+= bootxx.${MACHINE}
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
.if defined(CDINSTKERNEL)
_INSTKERNELNOBJDIR!= cd ${.CURDIR}/${CDINSTKERNEL} && ${PRINTOBJDIR}
.endif
.if exists(${DESTDIR}/usr/mdec/bootxx_cd9660)
.if exists(${DESTDIR}/usr/mdec/boot.${MACHINE})
BOOT2=boot.${MACHINE}
.else
BOOT2=boot
.endif
.endif
prepare:
${MKDIR} cdrom
.if defined(CDKERNELS)
.for kernel target in ${CDKERNELS}
${CP} ${_INSTKERNELNOBJDIR}/${kernel} cdrom/${target}
.endfor
.if exists(${DESTDIR}/usr/mdec/bootxx_cd9660)
${RM} -f cdrom/${BOOT2}
${CP} ${DESTDIR}/usr/mdec/${BOOT2} cdrom/${BOOT2}
${RM} -f bootxx.${MACHINE}
${CP} ${DESTDIR}/usr/mdec/bootxx_cd9660 bootxx.${MACHINE}
${CHMOD} +w bootxx.${MACHINE}
.if defined(CDBOOTOPTIONS)
${TOOL_INSTALLBOOT} -m${MACHINE} -e ${CDBOOTOPTIONS} bootxx.${MACHINE}
.endif
.endif
.endif
# Copy $RELEASEDIR/${MACHINE} in the CDROM dir
#
# XXX This could be done a lot easier if makefs(8) could
# XXX include more than one directory on the image - HF
#
copy-releasedir:
${RM} -f ${RELEASEDIR}/${CDROMS_RELEASEDIR}/${CDIMAGE}
if ${CDRELEASE}; then \
if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
echo "Missing ${RELEASEDIR}/${RELEASEMACHINEDIR}, aborting"; \
exit 1; \
fi; \
${MKDIR} cdrom/${MACHINE}; \
curdir=$$(pwd); \
release_destdir=$$(pwd)/cdrom/${MACHINE}; \
cd ${RELEASEDIR}/${RELEASEMACHINEDIR}; \
echo Copying $$(pwd) to $$release_destdir ...; \
${TOOL_PAX} \
-rw -pe -v \
${CDRELEASE_EXCLUDE} \
. $$release_destdir; \
cd $$curdir; \
fi
if ${CDSOURCE}; then \
if [ ! -d ${RELEASEDIR}/source ]; then \
echo "Missing ${RELEASEDIR}/source, aborting"; \
exit 1; \
fi; \
${MKDIR} cdrom/source; \
curdir=$$(pwd); \
release_destdir=$$(pwd)/cdrom/source; \
cd ${RELEASEDIR}/source; \
echo Copying $$(pwd) to $$release_destdir ...; \
${TOOL_PAX} \
-rw -pe -v \
. $$release_destdir; \
cd $$curdir; \
fi
if [ "X${CDRUNTIME}}" != "X" ]; then \
curdir=$$(pwd); \
release_destdir=$${curdir}/cdrom; \
cd $$release_destdir; \
cd ${DESTDIR}; \
for cde in ${CDRUNTIME}; \
do \
${TOOL_PAX} -rw -pp -v $${cde} $$release_destdir;\
done; \
cd $$curdir; \
fi
if [ "X${CDEXTRA}${CDBUILDEXTRA}" != "X" ]; then \
curdir=`pwd`; \
skipflag=""; \
cdextra_skip="${CDEXTRA_SKIP}"; \
if [ "X$${cdextra_skip}" != "X" ]; then \
rm -f cdskip; \
for skip in $${cdextra_skip}; \
do \
echo $${skip} >> cdskip; \
done; \
skipflag="-X $${curdir}/cdskip"; \
fi; \
cdextra="${CDEXTRA}"; \
cdbuildextra="${CDBUILDEXTRA}"; \
for cde in $${cdextra} $${cdbuildextra}; \
do \
release_destdir=$${curdir}/cdrom; \
if [ -f $${cde} ]; then \
echo Copying $${cde} to $$release_destdir ...; \
${CP} $${cde} $${release_destdir}; \
elif [ -d $${cde} ]; then \
cd $${cde}; \
echo Copying $$(pwd) to $$release_destdir ...; \
${TOOL_MTREE} -c $${skipflag} | \
${TOOL_PAX} -rw -pe -v -M \
$$release_destdir; \
else \
echo "Missing $${cde}, aborting"; \
exit 1; \
fi; \
cd $$curdir; \
done; \
fi
image:
${TOOL_MAKEFS} -t cd9660 -o ${_CDMAKEFSOPTIONS:Q} ${CDIMAGE} cdrom
.if ${CDRELEASE} == false
release: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post
${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
iso_image:
.else
release:
iso_image: prepare .WAIT prepare_md_post .WAIT copy-releasedir .WAIT image_md_pre .WAIT image .WAIT image_md_post
${MKDIR} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
${RELEASE_INSTALL} ${CDIMAGE} ${RELEASEDIR}/${CDROMS_RELEASEDIR}
.endif
clean:
${RM} -fr cdrom
prepare_md_post: .PHONY
image_md_post: .PHONY
image_md_pre: .PHONY
.include <bsd.prog.mk>

View File

@ -0,0 +1,77 @@
# $NetBSD: Makefile.crunch,v 1.24 2008/10/19 22:05:19 apb Exp $
#
# Makefile snippet to build a crunchgen(1)ed binary from the provided lists
#
# Required variables:
# NETBSDSRCDIR top level of src tree (set by <bsd.own.mk>)
# CRUNCHBIN name of crunchgen(1)ed binary
# LISTS list file(s) to use
#
# Optional variables:
# SMALLPROG if != 0, add SMALLPROG=1 to CRUNCHENV. [default: 1]
# SMALLPROG_INET6 if != 0 and SMALLPROG != 0, and ${USE_INET6} != "no",
# add SMALLPROG_INET6=1 to CRUNCHENV. [default: 0]
# CRUNCHENV environment to pass to crunchgen(1) and when building
# the crunched program with make(1) (as command line
# variables, to override any user provided environment
# or make(1) cmdline vars).
# CRUNCHGEN_FLAGS extra options to crunchgen(1)
# DESTDIR destination directory
# PARSELISTENV environment variables to set for parselist.awk
#
# Variables modified by this:
# CRUNCHENV may get SMALLPROG=1 or SMALLPROG_INET6=1 added
#
.if !defined(_MAKEFILE_CRUNCH_)
_MAKEFILE_CRUNCH_=1
CRUNCHENV+= AWK=${TOOL_AWK:Q}
SMALLPROG?= 1
SMALLPROG_INET6?= 0
.if ${SMALLPROG} # {
CRUNCHENV+= SMALLPROG=1
.if ${SMALLPROG_INET6} && (${USE_INET6} != "no")
CRUNCHENV+= SMALLPROG_INET6=1
.endif
.endif # }
.include "${DISTRIBDIR}/common/Makefile.parselist"
.PHONY: ${CRUNCHBIN}
${CRUNCHBIN}: ${CRUNCHBIN}.mk ${CRUNCHBIN}.cache ${CRUNCHBIN}.c
${MAKE} ${CRUNCHENV} -f ${CRUNCHBIN}.mk ${CRUNCHBIN}.crunched
${CRUNCHBIN}.c: ${CRUNCHBIN}.mk
[ ! -f ${.TARGET} ] || touch ${.TARGET}
${CRUNCHBIN}.cache: ${CRUNCHBIN}.mk
[ ! -f ${.TARGET} ] || touch ${.TARGET}
CRUNCHGEN != command -v ${TOOL_CRUNCHGEN:[-1]} || echo
${CRUNCHBIN}.mk: ${CRUNCHBIN}.conf ${CRUNCHGEN}
${CRUNCHENV} ${TOOL_CRUNCHGEN} -f -D ${NETBSDSRCDIR} \
-L ${DESTDIR}/usr/lib -q ${CRUNCHGEN_FLAGS} ${CRUNCHBIN}.conf
${CRUNCHBIN}.conf: ${LISTS} ${PARSELISTDEP}
-rm -f ${.TARGET} ${.TARGET}.tmp
${PARSELIST} -v mode=crunch ${LISTS} > ${.TARGET}.tmp \
&& mv ${.TARGET}.tmp ${.TARGET}
CLEANFILES+= ${CRUNCHBIN} ${CRUNCHBIN}.conf ${CRUNCHBIN}.conf.tmp \
${CRUNCHBIN}.cache *.o *.cro *.c
clean cleandir distclean: cleancrunchgen
.PHONY: cleancrunchgen
cleancrunchgen:
if [ -f ${CRUNCHBIN}.mk ]; then \
${MAKE} -f ${CRUNCHBIN}.mk clean; \
fi
rm -f ${CRUNCHBIN}.mk
.endif # _MAKEFILE_CRUNCH_

View File

@ -0,0 +1,8 @@
# $NetBSD: Makefile.dhcpcd,v 1.1 2009/04/07 11:49:17 joerg Exp $
IMAGEDEPENDS+= \
${DESTDIR}/etc/dhcpcd.conf \
${DESTDIR}/libexec/dhcpcd-run-hooks \
${DESTDIR}/libexec/dhcpcd-hooks/30-hostname
LISTS+= ${DISTRIBDIR}/common/list.dhcpcd

View File

@ -0,0 +1,33 @@
# $NetBSD: Makefile.distrib,v 1.9 2012/02/17 00:33:25 riz Exp $
#
# Makefile snippet to setup various make variables variables used in distrib/:
#
# Variables defined:
# DISTRIBDIR Top level of distrib
# DISTRIBREV NetBSD version without dots, as in "59924"
# DISTRIBVER NetBSD version with dots, as in "5.99.24"
# DISTRIBVERDEP Files to depend on for version/revision vars above
#
# Commands defined:
# MAKESUMS runs sets/makesums with the appropriate environment
# RELEASE_INSTALL installs release binaries
#
#
.if !defined(_MAKEFILE_DISTRIB_)
_MAKEFILE_DISTRIB_=1
.include <bsd.sys.mk> # for HOST_SH
DISTRIBDIR= ${NETBSDSRCDIR}/distrib
DISTRIBREV!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh -s
DISTRIBVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh
MODULEVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh -k
DISTRIBVERDEP= ${NETBSDSRCDIR}/sys/sys/param.h \
${NETBSDSRCDIR}/sys/conf/osrelease.sh
MAKESUMS= MAKE=${MAKE:Q} CKSUM=${TOOL_CKSUM:Q} ${HOST_SH} ${DISTRIBDIR}/sets/makesums
RELEASE_INSTALL=${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -m ${NONBINMODE}
.endif # _MAKEFILE_DISTRIB_

View File

@ -0,0 +1,140 @@
# $NetBSD: Makefile.image,v 1.31 2009/04/03 22:36:35 perry Exp $
#
# Makefile snippet to build a tree from the provided lists,
# and make an ffs file system image from that tree
#
# Required variables:
# NETBSDSRCDIR top level of src tree (set by <bsd.own.mk>)
# LISTS list file(s) to use
# IMAGEDEPENDS depends for ${IMAGE}
# IMAGEENDIAN endianness of ${IMAGE}
# IMAGESIZE size of ${IMAGE}
# MTREECONF mtree specfiles to use to build a master specfile
#
# Optional variables:
# IMAGE name of target image
# IMAGEPOSTBUILD operation to run on ${IMAGE} ${.TARGET} after its built
# (if this returns non zero, ${.TARGET} is removed)
# CRUNCHBIN name of crunchgen(1)ed binary
# DESTDIR destination directory
# MAKEFS_FLAGS extra options to ${TOOL_MAKEFS}
# PARSELISTENV environment variables to set for parselist.awk
# WORKDIR directory to build image in to
# IMAGETAR tar.gz file to create containing ${IMAGE}'s contents
#
# IMAGE_RELEASEDIR where to install ${IMAGE}.gz
# IMAGETAR_RELEASEDIR where to install ${IMAGETAR}
#
.if !defined(_MAKEFILE_IMAGE_)
_MAKEFILE_IMAGE_=1
WORKDIR?= work
WORKSPEC?= work.spec
WORKBUILT?= work.built
.include "${DISTRIBDIR}/common/Makefile.parselist"
PARSELISTENV+= TARGETDIR=${.OBJDIR}/${WORKDIR:Q}
.if !target(${WORKBUILT}) # {
${WORKBUILT}: ${IMAGEDEPENDS} ${WORKSPEC} ${PARSELISTDEP} ${LISTS}
# There is a .PHONY ${CRUNCHBIN}, so check if out of date by hand
# Default to `.' if ${CRUNCHBIN} isn't set, to always force a rebuild.
[ "${.OODATE}" = ${CRUNCHBIN:U.} -a -f ${WORKBUILT} -a ${WORKBUILT} -nt ${CRUNCHBIN:U.} ] || { \
${_MKSHMSG} " build " ${.CURDIR:T}/${WORKDIR}; \
rm -rf ${WORKDIR} ${WORKBUILT}; \
mkdir -m 755 ${WORKDIR} && \
${TOOL_MTREE} -def ${WORKSPEC} -p ${WORKDIR}/ -UW && \
${PARSELIST} -v mode=populate ${LISTS} | \
${HOST_SH} -e ${POPULATE_DEBUG} \
&& touch ${WORKBUILT} ; \
}
CLEANFILES+= ${WORKBUILT}
clean cleandir distclean: cleanfsimage
.PHONY: cleanfsimage
cleanfsimage:
-rm -rf ${WORKDIR} ${WORKBUILT}
.endif # ! target (${WORKBUILT}) # }
.if !target(${WORKSPEC}) # {
${WORKSPEC}: ${MTREECONF} ${LISTS} ${PARSELISTDEP}
${_MKTARGET_CREATE}
-rm -f ${.TARGET} ${.TARGET}.tmp
( for i in ${MTREECONF}; do \
echo "# --" ; \
echo "# entries from: $$i" ; \
echo "#" ; \
cat $$i ; \
echo "/unset all" ; \
done ) >> ${.TARGET}.tmp
${PARSELIST} -v mode=mtree ${LISTS} >> ${.TARGET}.tmp \
&& mv ${.TARGET}.tmp ${.TARGET}
CLEANFILES+= ${WORKSPEC} ${WORKSPEC}.tmp
.endif # ! target (${WORKSPEC}) # }
.if defined(IMAGE) # {
${IMAGE}: ${WORKBUILT}
[ "${.OODATE}" = ${WORKBUILT} -a -f ${IMAGE} -a ! ${IMAGE} -ot ${WORKBUILT} ] || { \
${_MKSHMSG_CREATE} ${.CURDIR:T}/${.TARGET}; \
rm -f ${.TARGET} ${.TARGET}.tmp; \
${TOOL_MAKEFS} -t ffs -B ${IMAGEENDIAN} -s ${IMAGESIZE} -F ${WORKSPEC} \
-N ${NETBSDSRCDIR}/etc -o bsize=4096,fsize=512 \
-o optimization=space,minfree=0 \
${MAKEFS_FLAGS} ${.TARGET}.tmp ${WORKDIR} \
&& mv -f ${.TARGET}.tmp ${.TARGET}; \
}
.if defined(IMAGEPOSTBUILD)
${IMAGEPOSTBUILD} || { rm -f ${.TARGET} ; false; }
.endif
.PHONY: fsimage
fsimage: ${IMAGE}
${IMAGE}.gz: ${IMAGE}
${_MKTARGET_CREATE}
-rm -f ${.TARGET}
gzip -9nc ${.ALLSRC} > ${.TARGET}
realall: ${IMAGE}
.if defined(IMAGE_RELEASEDIR)
release:: check_RELEASEDIR .WAIT ${IMAGE}.gz
${RELEASE_INSTALL} ${IMAGE}.gz \
${RELEASEDIR}/${RELEASEMACHINEDIR}/${IMAGE_RELEASEDIR}
.endif
CLEANFILES+= ${IMAGE} ${IMAGE}.gz ${IMAGE}.tmp
.endif # ! defined(IMAGE) # }
.if defined(IMAGETAR) # {
${IMAGETAR}: ${WORKBUILT} ${WORKSPEC} ${IMAGEDEPENDS}
${_MKTARGET_CREATE}
( cd ${WORKDIR}; \
GZIP=-9n ${TOOL_PAX} -ON ${NETBSDSRCDIR}/etc -wdzM <${.OBJDIR}/${WORKSPEC} \
) > ${.TARGET}.tmp \
&& mv ${.TARGET}.tmp ${.TARGET}
realall: ${IMAGETAR}
CLEANFILES+= ${IMAGETAR} ${IMAGETAR}.tmp
.if defined(IMAGETAR_RELEASEDIR)
release:: check_RELEASEDIR .WAIT ${IMAGETAR}
${RELEASE_INSTALL} ${IMAGETAR} \
${RELEASEDIR}/${RELEASEMACHINEDIR}/${IMAGETAR_RELEASEDIR}
.endif
.endif # ! defined(IMAGETAR) # }
.endif # _MAKEFILE_IMAGE_

View File

@ -0,0 +1,71 @@
# $NetBSD: Makefile.makedev,v 1.18 2012/08/10 05:22:22 matt Exp $
#
# Makefile snippet to add ${MAKEDEVTARGETS} devices to the mtree list
# (if set), otherwise copy .OBJDIR-of-etc/MAKEDEV to ./dev
#
# If this is to be used with Makefile.image, then this file should be
# .include-d first.
#
# Required variables:
# NETBSDSRCDIR top level of src tree (set by <bsd.own.mk>)
# MACHINE machine name (set externally by build framework)
#
# Optional variables:
# MAKEDEVTARGETS targets to create with .OBJDIR-of-etc/MAKEDEV
#
# Variables modified by this:
# MAKEDEVSCRIPT path to .OBJDIR-of-etc/MAKEDEV
# MTREECONF may get "devices.spec" added
# LISTS may get "list.makedev" added
# IMAGEDEPENDS may get ${MAKEDEVSCRIPT} added
# PARSELISTENV may get MAKEDEVSCRIPT=... added
#
.if !defined(_MAKEFILE_MAKEDEV_)
_MAKEFILE_MAKEDEV_=1
MAKEDEVSPEC?= devices.spec
_MAKEDEVOBJDIR!=cd ${NETBSDSRCDIR}/etc && ${PRINTOBJDIR}
MAKEDEVSCRIPT= ${_MAKEDEVOBJDIR}/MAKEDEV
CLEANFILES+= ${MAKEDEVSPEC} ${MAKEDEVSPEC}.tmp
.if defined(MAKEDEVTARGETS)
#
# MAKEDEVTARGETS is set; add those devices to the mtree spec that's
# used to build the file system
#
MTREECONF+= ${MAKEDEVSPEC}
${MAKEDEVSPEC}: ${MAKEDEVSCRIPT} Makefile \
${NETBSDSRCDIR}/etc/etc.${MACHINE}/MAKEDEV.conf
${_MKTARGET_CREATE}
rm -f ${.TARGET} ${.TARGET}.tmp
MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
${HOST_SH} ${MAKEDEVSCRIPT} -s ${MAKEDEVTARGETS} \
> ${.TARGET}.tmp
${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' ${.TARGET}.tmp \
| sort -o ${.TARGET}
.else # ! MAKEDEVTARGETS
#
# MAKEDEVTARGETS isn't set; copy in /dev/MAKEDEV and rely upon
# init(8) to mount an mfs /dev and recreate the devices by
# (effectively) running "cd /dev ; ./MAKEDEV all"
#
LISTS+= ${DISTRIBDIR}/common/list.makedev
IMAGEDEPENDS+= ${MAKEDEVSCRIPT}
PARSELISTENV+= MAKEDEVSCRIPT=${MAKEDEVSCRIPT:Q}
${MAKEDEVSPEC}: .PHONY
.endif # ! MAKEDEVTARGETS
.endif # _MAKEFILE_MAKEDEV_

View File

@ -0,0 +1,182 @@
# $NetBSD: Makefile.mdset,v 1.35 2011/01/01 16:56:18 jym Exp $
#
# Makefile snippet to ${TOOL_MDSETIMAGE} file system images into kernels
#
#
# Required variables:
# NETBSDSRCDIR Top level of src tree (set by <bsd.own.mk>)
# MDSETTARGETS List of images to ${TOOL_MDSETIMAGE} into kernels,
# containing one or more tuples of the form:
# KERNEL IMAGE FILENAME
#
# The kernel is ${TOOL_MDSETIMAGE} with ${IMAGE},
# ${STRIP}ped (after the symbols are stored in
# ${FILENAME}.symbols.gz), and gzipped into
# ${FILENAME}.gz.
#
# If KERNEL does not contain a `/', use
# ${KERNOBJDIR}/KERNEL/netbsd as the kernel.
#
# If FILENAME is "-", use "netbsd-${KERNEL}" as
# the target name. This may not be a sensible
# name if KERNEL contains a `/'.
#
# Optional variables:
# MDSET_RELEASEDIR Where to install release kernels.
#
# MDSET_NOGZIP If defined, don't gzip any kernels.
#
# MDSET_NOGZIP.${FILENAME} If defined, don't gzip ${FILENAME}
#
# MDSET_NOIMAGE.${FILENAME} If defined, don't add ${IMAGE} to
# ${FILENAME}
#
# MDSET_NOSTRIP If defined, don't strip any kernels.
#
# MDSET_NOSTRIP.${FILENAME} If defined, don't strip ${FILENAME}
#
# MDSET_NOSYMBOLS If defined, don't generate *.symbols.gz
#
# MDSET_NOSYMBOLS.${FILENAME} If defined, don't generate
# ${FILENAME}.symbols.gz
#
# MDSET_POST For each kernel,
# execute this after ${NM} / ${STRIP}.
# Kernel is available as "${.TARGET}"
#
# MDSET_POST.${FILENAME} For each kernel named ${FILENAME},
# execute this after ${NM} / ${STRIP}.
# Kernel is available as "${.TARGET}"
#
# MDSET_SUFFIXES.${FILENAME} List of extra install kernel suffixes
# and build commands to create from
# ${FILENAME} after its created by
# ${TOOL_MDSETIMAGE} ; ${NM} ; ${STRIP}:
# SUFFIX COMMANDVAR
# "${.TARGET}" is "${FILENAME}.${SUFFIX}"
# COMMANDVAR is the name of the variable
# containing the command to build
# ${.TARGET}.
#
# Variables modified by this:
# KERNELS List of kernel .gz files to build
# KERNELSYMS List of kernel .symbol.gz files to build
#
.if !defined(_MAKEFILE_MDSET_)
_MAKEFILE_MDSET_=1
.include <bsd.kernobj.mk>
.for _K _I _F in ${MDSETTARGETS} # {
_KERNEL:=${_K} # (work around obscure issue in make(1))
.if (${_KERNEL:M*/*} != "")
_KERNNAME.${_K}.${_F}:= ${_K}
.else
_KERNNAME.${_K}.${_F}:= ${KERNOBJDIR}/${_K}/netbsd
.endif
_FILENAME:=${_F} # (work around obscure issue in make(1))
.if ${_FILENAME} == "-"
_KERNEL.${_K}.${_F}:= netbsd-${_K}
_FILENAME:= ${_KERNEL.${_K}.${_F}}
.else
_KERNEL.${_K}.${_F}:= ${_F}
.endif
.for _S _C in ${MDSET_SUFFIXES.${_F}} # {
CLEANFILES+= ${_KERNEL.${_K}.${_F}}.${_S}
${_KERNEL.${_K}.${_F}}.${_S}: ${_KERNEL.${_K}.${_F}}
.if defined(${_C})
${${_C}}
.else
@echo "No such variable \"${_C}\""
false
.endif
.if defined(MDSET_NOGZIP.${_FILENAME}) && defined(MDSET_NOGZIP)
KERNELS+= ${_KERNEL.${_K}.${_F}}.${_S}
.else # {
KERNELS+= ${_KERNEL.${_K}.${_F}}.${_S}.gz
${_KERNEL.${_K}.${_F}}.${_S}.gz: ${_KERNEL.${_K}.${_F}}.${_S}
${_MKTARGET_CREATE}
-rm -f ${.TARGET}
gzip -9nc ${.ALLSRC} > ${.TARGET}
.endif # }
.endfor # }
.if !defined(MDSET_NOSYMBOLS.${_FILENAME}) && !defined(MDSET_NOSYMBOLS)
KERNELSYMS+= ${_KERNEL.${_K}.${_F}}.symbols.gz
.endif
.if defined(MDSET_POST.${_FILENAME})
_POST.${_KERNEL.${_K}.${_F}}:= ${MDSET_POST.${_FILENAME}}
.elif defined(MDSET_POST)
_POST.${_KERNEL.${_K}.${_F}}:= ${MDSET_POST}
.endif
CLEANFILES+= ${_KERNEL.${_K}.${_F}}
.if defined(MDSET_NOIMAGE.${_FILENAME})
${_I}=
.endif
# Darwin requires a special hack - this is documented in
# doc/HACKS, and just works around the problems described more
# fully in http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
OPSYS!= uname -s
.if ${OPSYS} == "Darwin"
MDSETIMAGEFLAGS=
.else
MDSETIMAGEFLAGS=-v
.endif
${_KERNEL.${_K}.${_F}}: .NOTMAIN ${_KERNNAME.${_K}.${_F}} ${_I}
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
@rm -f ${.TARGET} ${.TARGET}.tmp ${.TARGET}.symbols.gz
@cp ${_KERNNAME.${_K}.${_F}} ${.TARGET}.tmp
.if !defined(MDSET_NOIMAGE.${_FILENAME})
${TOOL_MDSETIMAGE} ${MDSETIMAGEFLAGS} ${.TARGET}.tmp ${_I}
.endif
.if !defined(MDSET_NOSYMBOLS.${_FILENAME}) && !defined(MDSET_NOSYMBOLS)
${NM} ${.TARGET}.tmp | gzip -9n > ${.TARGET}.symbols.gz
.endif
.if !defined(MDSET_NOSTRIP.${_FILENAME}) && !defined(MDSET_NOSTRIP)
${STRIP} -R .comment -R .ident ${.TARGET}.tmp
.endif
@mv ${.TARGET}.tmp ${.TARGET}
.if defined(MDSET_POST.${_FILENAME}) || defined(MDSET_POST)
${_POST.${.TARGET}}
.endif
.if defined(MDSET_NOGZIP.${_FILENAME}) || defined(MDSET_NOGZIP)
KERNELS+= ${_KERNEL.${_K}.${_F}}
.else # {
KERNELS+= ${_KERNEL.${_K}.${_F}}.gz
${_KERNEL.${_K}.${_F}}.gz: ${_KERNEL.${_K}.${_F}}
${_MKTARGET_CREATE}
-rm -f ${.TARGET}
gzip -9nc ${.ALLSRC} > ${.TARGET}
.endif # }
.endfor # }
CLEANFILES+= ${KERNELS} ${KERNELSYMS}
realall: ${KERNELS}
.if defined(MDSET_RELEASEDIR)
release:: check_RELEASEDIR .WAIT ${KERNELS}
${RELEASE_INSTALL} ${KERNELS} ${KERNELSYMS} \
${RELEASEDIR}/${RELEASEMACHINEDIR}/${MDSET_RELEASEDIR}
.endif
.endif # _MAKEFILE_MDSET_

View File

@ -0,0 +1,28 @@
# $NetBSD: Makefile.parselist,v 1.6 2008/10/19 22:05:20 apb Exp $
#
# Makefile snippet to setup parselist.awk related variables:
# PARSELISTENV environment variables to pass to parselist.awk
# (may be appended to by caller)
# PARSELISTDEP dependency on parselist.awk
# PARSELIST run ${PARSELISTENV} awk -f ${PARSELISTDEP}
#
.if !defined(_MAKEFILE_PARSELIST_)
_MAKEFILE_PARSELIST_=1
PARSELISTENV+= NETBSDSRCDIR=${NETBSDSRCDIR:Q} \
CRUNCHBIN=${CRUNCHBIN:Q} \
CURDIR=${.CURDIR:Q} \
DESTDIR=${DESTDIR:Q} \
DISTRIBDIR=${DISTRIBDIR:Q} \
MACHINE=${MACHINE:Q} \
MACHINE_ARCH=${MACHINE_ARCH:Q} \
MAKE=${MAKE:Q} \
OBJDIR=${.OBJDIR:Q}
PARSELISTDEP= ${DISTRIBDIR}/common/parselist.awk
PARSELIST= ${PARSELISTENV} ${TOOL_AWK} -f ${PARSELISTDEP}
.endif # _MAKEFILE_PARSELIST_

View File

@ -0,0 +1,104 @@
# $NetBSD: Makefile.tarfloppy,v 1.16 2009/04/03 22:36:35 perry Exp $
#
# Makefile snippet to create a set of ustar floppies.
# Each floppy has an 8KB header, followed by part or all of the ustar archive.
#
# Required variables:
# NETBSDSRCDIR Top level of src tree (set by <bsd.own.mk>)
# FLOPPYBASE Basename of floppies. Floppy number ${n} will
# be generated as ${FLOPPYBASE}${n}${FLOPPYSUFFIX}
# FLOPPYSIZE Size of floppy in 512 byte blocks.
# FLOPPYFILES Files to write to floppy.
# Usually set to "boot ${FLOPPYMETAFILE} netbsd"
#
# Optional variables:
# FLOPPY_BOOT Bootstrap to use as "boot".
# FLOPPY_BOOT_STRIP If yes, strip "boot" before use.
# FLOPPY_NETBSD Kernel to to use as "netbsd".
# FLOPPYINSTBOOT Installboot program to use.
# USTAR image file is in @IMAGE@.
# FLOPPYMAX Maximum number of floppies to build.
# If 1, the final image is installed as
# ${FLOPPYBASE}${FLOPPYSUFFIX} instead of
# ${FLOPPYBASE}1${FLOPPYSUFFIX}
# FLOPPYMETAFILE USTAR metafile(s) (optional)
# FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE}
# FLOPPYSUFFIX Suffix of created floppies.
# FLOPPY_RELEASEDIR Where to install release floppies.
#
.if !defined(_MAKEFILE_TARFLOPPY_)
_MAKEFILE_TARFLOPPY_=1
.if defined(FLOPPY_BOOT) # {
CLEANFILES+= boot
boot: ${FLOPPY_BOOT}
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
@rm -f boot
@cp ${.ALLSRC} boot
.if defined(FLOPPY_BOOT_STRIP)
@${STRIP} boot
.endif
.endif # FLOPPY_BOOT # }
.if defined(FLOPPY_BOOT_CFG)
CLEANFILES+= boot.cfg
boot.cfg: ${FLOPPY_BOOT_CFG}
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
@rm -f ${.TARGET}
@cp ${.ALLSRC} ${.TARGET}
.endif # FLOPPY_BOOT_CFG
.if defined(FLOPPY_NETBSD) # {
CLEANFILES+= netbsd netbsd.tmp
.if ${FLOPPY_NETBSD:E}=="gz"
COPY_CMD= gunzip -c ${.ALLSRC} > ${.TARGET}.tmp
COMPRESS_CMD= gzip -9nc ${.TARGET}.tmp > ${.TARGET}; rm -f ${.TARGET}.tmp
.else
COPY_CMD= cp ${.ALLSRC} ${.TARGET}.tmp
COMPRESS_CMD= mv -f ${.TARGET}.tmp ${.TARGET}
.endif
netbsd: ${FLOPPY_NETBSD}
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
${COPY_CMD}
${STRIP} -R .comment -R .ident ${.TARGET}.tmp
${COMPRESS_CMD}
.endif # FLOPPY_NETBSD # }
.if defined(FLOPPYMETAFILE) # {
CLEANFILES+= ${FLOPPYMETAFILE}
${FLOPPYMETAFILE}:
${_MKTARGET_CREATE}
@rm -f ${FLOPPYMETAFILE}
@touch ${FLOPPYMETAFILE}
.endif # FLOPPYMETAFILE # }
${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})"
PAX=${TOOL_PAX:Q} ${HOST_SH} ${DISTRIBDIR}/common/buildfloppies.sh \
${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \
-N ${DESTDIR}/etc \
${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
CLEANFILES+= ${FLOPPYBASE}?${FLOPPYSUFFIX}
realall: ${FLOPPYBASE}1${FLOPPYSUFFIX}
.if defined(FLOPPY_RELEASEDIR)
release:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX}
if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \
${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \
${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}; \
else \
${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \
${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \
fi
.endif
.endif # _MAKEFILE_TARFLOPPY_

View File

@ -0,0 +1,407 @@
# $NetBSD: Makefile.bootimage,v 1.6 2012/04/22 07:23:42 tsutsui Exp $
#
# Copyright (c) 2009, 2010, 2011 Izumi Tsutsui. 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 AUTHOR ``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 AUTHOR 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.
#
# Makefile to create a bootable FS image for USB flash or emulators
#
#
# Required variables:
# RELEASEDIR
# Should be defined in nbmake-${MACHINE}
# IMGBASE
# Basename of the image
#
# Optional variables:
# BOOTDISK
# device name of target bootable disk specified in /etc/fstab
# (default: sd0)
# USE_MBR
# set yes if target disk image requires MBR partition
# (default: no)
# MBR_BOOTCODE
# optional MBR bootcode which should be installed by fdisk(8)
# (default: empty)
# - specified MBR_BOOTCODE must exist in ${DESTDIR}/usr/mdec
# - if MBR_BOOTCODE is not specified,
# MBR_DEFAULT_BOOTCODE (default: mbr) will be used
# if the target ${MACHINE} has the one in /usr/mdec
# USE_SUNLABEL
# set yes if target disk image requires Sun's label
# (default: no)
# INSTALLBOOT_AFTER_DISKLABEL (untested)
# set yes if the target ${MACHINE} requires disklabel
# to run installboot(8), like hp300
# (default: empty)
# IMAGEMB
# target image size in MB
# (default: 2048)
# SWAPMB
# swap size in target image in MB
# (default: 128)
# KERN_SET
# kernel set name which should be extracted into image
# (default: kern-GENERIC)
# SETS
# binary sets that should be extracted into image
# (default: modules base etc comp games man misc tests text
# xbase xcomp xetc xfont xserver)
# SETS_DIR
# directory path where binary sets are stored
# (default: ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets)
# IMGFILE_EXTRA
# list of additional files to be copied into images,
# containing one or more tuples of the form:
# FILE TARGETPATH
# for installation image etc.
# (default: empty)
# IMGDIR_EXTRA
# list of additional directories to be copied into images,
# containing one or more tuples of the form:
# DIR TARGETPATH
# for installation image etc.
# (default: empty)
# XXX: currently permissions in IMGDIR_EXTRA are not handled
# IMGDIR_EXCLUDE
# pax(1) options to exclude files which should not copied
# into TARGETPATH in IMGDIR_EXTRA
# (default: empty)
# FSTAB_IN
# template file of /etc/fstab
# (default: ${DISTRIBDIR}/common/bootimage/fstab.in)
# SPEC_IN
# default files of spec file for makefs(8)
# (default: ${DISTRIBDIR}/common/bootimage/spec.in)
# SPEC_EXTRA
# additional files of spec file for makefs(8)
# (default: empty)
# IMGMAKEFSOPTIONS
# options passed to makefs(8) to create root file system
# (default: -o bsize=16384,fsize=2048,density=8192)
# INSTALLBOOTOPTIONS
# options passed to installboot(8), e.g., -o console=com0
# (default: empty)
# PRIMARY_BOOT
# primary boot loader that should be installed into
# the target image via installboot(8)
# (default: empty)
# SECONDARY_BOOT
# secondary bootloader that should be put into the target image
# (default: empty)
# SECONDARY_BOOT_ARG
# extra arguments that should be passed to installboot(8)
# to specify the secondary bootloader
# (default: empty)
# DISKPROTO_IN
# template file of disklabel -R
# (default: ${DISTRIBDIR}/common/bootimage/diskproto.in
# or ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in)
# OMIT_SWAPIMG
# no need to put swap partition into image (for USB stick)
# (default: no)
#
.include <bsd.sys.mk> # for HOST_SH
.include <bsd.own.mk> #
.include <bsd.endian.mk> # for TARGET_ENDIANNESS
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
.if empty(IMGBASE)
.BEGIN:
@echo "Error: IMGBASE is not set"
@false
.endif
# should be defined elsewhere?
CAT?= cat
CHMOD?= chmod
CP?= cp
DD?= dd
MKDIR?= mkdir -p
RM?= rm
#
# common definitions for image
#
BOOTDISK?= sd0
USE_MBR?= no
USE_SUNLABEL?= no
INSTALLBOOT_AFTER_DISKLABEL?= no
#
# size parameters for image
#
IMAGEMB?= 2048 # 2048MB
SWAPMB?= 128 # 128MB
# XXX: SWAPMB could be zero and expr(1) returns exit status 1 in that case
IMAGESECTORS!= expr ${IMAGEMB} \* 1024 \* 1024 / 512
SWAPSECTORS!= expr ${SWAPMB} \* 1024 \* 1024 / 512 || true
.if ${USE_MBR} == "no"
LABELSECTORS?= 0
.else
#LABELSECTORS?= 63 # historical
#LABELSECTORS?= 32 # 16KB aligned
LABELSECTORS?= 2048 # 1MB aligned for modern flash devices
.endif
FSSECTORS!= expr ${IMAGESECTORS} - ${SWAPSECTORS} - ${LABELSECTORS}
FSSIZE!= expr ${FSSECTORS} \* 512
# parameters for disklabel and MBR
HEADS= 64
SECTORS= 32
CYLINDERS!= expr ${IMAGESECTORS} / \( ${HEADS} \* ${SECTORS} \)
SECPERCYLINDERS!= expr ${HEADS} \* ${SECTORS}
MBRHEADS= 255
MBRSECTORS= 63
MBRCYLINDERS!= expr ${IMAGESECTORS} / \( ${MBRHEADS} \* ${MBRSECTORS} \)
MBRNETBSD= 169
BSDPARTSECTORS!= expr ${IMAGESECTORS} - ${LABELSECTORS}
FSOFFSET= ${LABELSECTORS}
SWAPOFFSET!= expr ${LABELSECTORS} + ${FSSECTORS}
# parameters for sunlabel
FSCYLINDERS!= expr ${FSSECTORS} / \( ${HEADS} \* ${SECTORS} \)
SWAPCYLINDERS!= expr ${SWAPSECTORS} / \( ${HEADS} \* ${SECTORS} \) || true
#
# definitions to create root fs
#
SETS_DEFAULT= modules base etc comp games man misc tests text
.if ${MKX11} != "no"
SETS_DEFAULT+= xbase xcomp xetc xfont xserver
.endif
KERN_SET?= kern-GENERIC
SETS?= ${SETS_DEFAULT}
IMG_SETS= ${KERN_SET} ${SETS}
SETS_DIR?= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
FSTAB_IN?= ${DISTRIBDIR}/common/bootimage/fstab.in
SPEC_IN?= ${DISTRIBDIR}/common/bootimage/spec.in
IMGMAKEFSOPTIONS?= -o bsize=16384,fsize=2048,density=8192
WORKDIR?= work
WORKSPEC?= work.spec
WORKFSTAB?= work.fstab
WORKRCCONF?= work.rc.conf
WORKFS?= work.rootfs
TARGETFS?= imgroot.fs
CLEANFILES+= ${WORKSPEC} ${WORKFSTAB} ${WORKRCCONF} ${WORKFS}
CLEANFILES+= ${TARGETFS}
#
# create root file system for the image
#
${TARGETFS}: prepare_md_post
@if [ ! -d ${RELEASEDIR}/${RELEASEMACHINEDIR} ]; then \
echo "Missing ${RELEASEDIR}/${RELEASEMACHINEDIR}, aborting"; \
false; \
fi;
@${MKDIR} ${WORKDIR}
.for set in ${IMG_SETS}
@if [ ! -f ${SETS_DIR}/${set}.tgz ]; then \
echo "Missing ${SETS_DIR}/${set}.tgz, aborting"; \
false; \
fi
@echo Extracting ${set}.tgz ...
@(cd ${WORKDIR}; ${TOOL_PAX} -rnz -f ${SETS_DIR}/${set}.tgz .)
.endfor
.if defined(SECONDARY_BOOT)
@echo Copying secondary boot...
${CP} -f ${WORKDIR}/usr/mdec/${SECONDARY_BOOT} ${WORKDIR}
.endif
@echo Preparing /etc/fstab ...
${TOOL_SED} "s/@@BOOTDISK@@/${BOOTDISK}/" < ${FSTAB_IN} > ${WORKFSTAB}
${CP} ${WORKFSTAB} ${WORKDIR}/etc/fstab
@echo Setting rc_configured=YES in /etc/rc.conf ...
${TOOL_SED} "s/rc_configured=NO/rc_configured=YES/" \
< ${WORKDIR}/etc/rc.conf > ${WORKRCCONF}
${CP} ${WORKRCCONF} ${WORKDIR}/etc/rc.conf
.if defined(IMGDIR_EXTRA)
@echo Copying extra dirs...
.for _SRCDIR _TARGET in ${IMGDIR_EXTRA}
@if [ ! -d ${_SRCDIR} ]; then \
echo "${_SRCDIR} is not directory, aborting"; \
false; \
fi
${MKDIR} ${WORKDIR}/${_TARGET}
(cd ${_SRCDIR} ; \
${TOOL_PAX} -rw -pe -v \
${IMGDIR_EXCLUDE} \
. ${.OBJDIR}/${WORKDIR}/${_TARGET} )
.endfor
.endif
.if defined(IMGFILE_EXTRA)
@echo Copying extra files...
.for _SRC _TARGET in ${IMGFILE_EXTRA}
@if [ ! -f ${_SRC} ]; then \
echo "${_SRC} in IMGFILE_EXTRA not found, aborting"; \
false; \
fi
@if [ -f ${_SRC} ]; then \
echo ${CP} ${_SRC} ${WORKDIR}/${_TARGET}; \
${CP} ${_SRC} ${WORKDIR}/${_TARGET}; \
fi
.endfor
.endif
@echo Preparing spec files for makefs...
${RM} -f ${WORKSPEC}
cat ${WORKDIR}/etc/mtree/* | \
${TOOL_SED} -e 's/ size=[0-9]*//' > ${WORKSPEC}
${HOST_SH} ${WORKDIR}/dev/MAKEDEV -s all | \
${TOOL_SED} -e '/^\. type=dir/d' -e 's,^\.,./dev,' >> ${WORKSPEC}
cat ${SPEC_IN} >> ${WORKSPEC}
.if defined(SECONDARY_BOOT)
echo "./${SECONDARY_BOOT} type=file uname=root gname=operator mode=0444" \
>> ${WORKSPEC}
.endif
.if defined(SPEC_EXTRA)
cat ${SPEC_EXTRA} >> ${WORKSPEC}
.endif
@echo Creating rootfs...
# XXX /var/spool/ftp/hidden is unreadable
${CHMOD} +r ${WORKDIR}/var/spool/ftp/hidden
${TOOL_MAKEFS} -M ${FSSIZE} -m ${FSSIZE} \
-B ${TARGET_ENDIANNESS} \
-F ${WORKSPEC} -N ${WORKDIR}/etc \
${IMGMAKEFSOPTIONS} \
${WORKFS} ${WORKDIR}
.if !empty(PRIMARY_BOOT) && ${INSTALLBOOT_AFTER_DISKLABEL} == "no"
${TOOL_INSTALLBOOT} -v -m ${MACHINE} ${INSTALLBOOTOPTIONS} ${WORKFS} \
${WORKDIR}/usr/mdec/${PRIMARY_BOOT} ${SECONDARY_BOOT_ARG}
.endif
@echo done.
mv ${WORKFS} ${.TARGET}
#
# definitions to create image
#
.if ${USE_MBR} != "no"
DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.mbr.in
.else
DISKPROTO_IN?= ${DISTRIBDIR}/common/bootimage/diskproto.in
.endif
MBR_DEFAULT_BOOTCODE?= mbr
OMIT_SWAPIMG?= no
WORKMBR?= work.mbr
WORKSWAP?= work.swap
WORKLABEL?= work.diskproto
WORKIMG?= work.img
CLEANFILES+= ${WORKMBR} ${WORKSWAP}
CLEANFILES+= ${WORKLABEL}.tmp ${WORKLABEL}
CLEANFILES+= ${WORKIMG} ${IMGBASE}.img
${WORKLABEL}:
${TOOL_SED} \
-e "s/@@SECTORS@@/${SECTORS}/" \
-e "s/@@HEADS@@/${HEADS}/" \
-e "s/@@SECPERCYLINDERS@@/${SECPERCYLINDERS}/" \
-e "s/@@CYLINDERS@@/${CYLINDERS}/" \
-e "s/@@IMAGESECTORS@@/${IMAGESECTORS}/" \
-e "s/@@FSSECTORS@@/${FSSECTORS}/" \
-e "s/@@FSOFFSET@@/${FSOFFSET}/" \
-e "s/@@SWAPSECTORS@@/${SWAPSECTORS}/" \
-e "s/@@SWAPOFFSET@@/${SWAPOFFSET}/" \
-e "s/@@BSDPARTSECTORS@@/${BSDPARTSECTORS}/" \
< ${DISKPROTO_IN} > ${WORKLABEL}.tmp
mv ${WORKLABEL}.tmp ${WORKLABEL}
${IMGBASE}.img: ${TARGETFS} ${WORKLABEL}
.if ${USE_MBR} != "no"
@echo creating MBR labels...
${DD} if=/dev/zero of=${WORKMBR} seek=$$((${IMAGESECTORS} - 1)) count=1
${TOOL_FDISK} -f -i -u \
-b ${MBRCYLINDERS}/${MBRHEADS}/${MBRSECTORS} \
-0 -a -s ${MBRNETBSD}/${FSOFFSET}/${BSDPARTSECTORS} \
-F ${WORKMBR}
.if empty(MBR_BOOTCODE)
@if [ -f ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} ]; then \
echo ${TOOL_FDISK} -f \
-i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
-F ${WORKMBR}; \
${TOOL_FDISK} -f \
-i -c ${WORKDIR}/usr/mdec/${MBR_DEFAULT_BOOTCODE} \
-F ${WORKMBR}; \
fi
.else
@if [ ! -f ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} ]; then \
echo "${MBR_BOOTCODE} is not found in DESTDIR/usr/mdec, aborting"; \
false; \
fi
${TOOL_FDISK} -f -i -c ${WORKDIR}/usr/mdec/${MBR_BOOTCODE} \
-F ${WORKMBR}
.endif
${DD} if=${WORKMBR} count=${LABELSECTORS} | \
${CAT} - ${TARGETFS} > ${WORKIMG}
.else
${CP} ${TARGETFS} ${WORKIMG}
.endif
.if ${OMIT_SWAPIMG} == "no"
${DD} if=/dev/zero of=${WORKSWAP} seek=$$((${SWAPSECTORS} - 1)) count=1
${CAT} ${WORKSWAP} >> ${WORKIMG}
.endif
.if ${USE_SUNLABEL} != "no"
@echo Creating sun disklabel...
printf 'V ncyl %d\nV nhead %d\nV nsect %d\na %d %d/0/0\nb %d %d/0/0\nW\n' \
${CYLINDERS} ${HEADS} ${SECTORS} \
${FSOFFSET} ${FSCYLINDERS} ${FSCYLINDERS} ${SWAPCYLINDERS} | \
${TOOL_SUNLABEL} -nq ${WORKIMG}
.endif
${TOOL_DISKLABEL} -R -F ${WORKIMG} ${WORKLABEL}
.if !empty(PRIMARY_BOOT) && ${INSTALLBOOT_AFTER_DISKLABEL} != "no"
${TOOL_INSTALLBOOT} -v -m ${MACHINE} ${INSTALLBOOTOPTOINS} ${WORKIMG} \
${WORKDIR}/usr/mdec/${PRIMARY_BOOT}
.endif
mv ${WORKIMG} ${.TARGET}
CLEANFILES+= ${IMGBASE}.img.gz ${IMGBASE}.img.gz.tmp
${IMGBASE}.img.gz: ${IMGBASE}.img
${TOOL_GZIP} -9c ${IMGBASE}.img > ${.TARGET}.tmp
mv ${.TARGET}.tmp ${.TARGET}
clean:
@if [ -d ${WORKDIR}/var/spool/ftp/hidden ]; then \
${CHMOD} +r ${WORKDIR}/var/spool/ftp/hidden; \
fi # XXX
${RM} -fr ${WORKDIR}
prepare_md_post: .PHONY
image_md_post: .PHONY
image_md_pre: .PHONY
.include <bsd.prog.mk>

View File

@ -0,0 +1,62 @@
# $NetBSD: Makefile.installimage,v 1.3 2012/04/22 07:23:42 tsutsui Exp $
#
# Common Makefile to create a bootable installation image for USB flash etc.
#
#
# Required variables:
# INSTIMGBASE
# Basename of the liveimage
#
# See Makefile.bootimage for other variables.
#
.if !target(check_INSTIMGBASE)
check_INSTIMGBASE: .PHONY .NOTMAIN
.if !defined(INSTIMGBASE)
@echo "Error: INSTIMGBASE is not set"
@false
.else
@true
.endif
.endif
SWAPMB= 0 # no swap
OMIT_SWAPIMG= yes # nothing to write
KERN_SET?= kern-GENERIC
SETS?= modules base etc
FSTAB_IN?= ${NETBSDSRCDIR}/distrib/common/bootimage/fstab.install.in
.if ${USE_MBR} != "no"
DISKPROTO_IN?= ${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.mbr.in
.else
DISKPROTO_IN?= ${NETBSDSRCDIR}/distrib/common/bootimage/diskproto.noswap.in
.endif
# XXX: no permission info for makefs(8)
IMGDIR_EXTRA= ${RELEASEDIR}/${RELEASEMACHINEDIR} ${RELEASEMACHINEDIR}
IMGDIR_EXCLUDE= -s ',./installation/cdrom.*,,gp'
IMGDIR_EXCLUDE+= -s ',./installation/liveimage.*,,gp'
IMGDIR_EXCLUDE+= -s ',./installation/installimage.*,,gp'
IMGBASE= ${INSTIMGBASE}
.include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"
# INSTIMG_RELEASEDIR specifies where to install ${INSTIMGBASE}.img.gz.
# This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
# but also set default here for manual builds.
INSTIMG_RELEASEDIR?= ${RELEASEMACHINEDIR}/installation/installimage
# should be defined elsewhere?
MKDIR?= mkdir -p
install_image: check_INSTIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
${MKDIR} ${INSTIMG_RELEASEDIR}
${RELEASE_INSTALL} ${IMGBASE}.img.gz ${INSTIMG_RELEASEDIR}
# note ${MAKESUM} will be calculated in src/etc/Makefile
release:

View File

@ -0,0 +1,42 @@
# $NetBSD: Makefile.liveimage,v 1.2 2012/01/22 16:50:00 tsutsui Exp $
#
# Common Makefile to create a bootable FS image for USB flash or emulators
#
#
# Required variables:
# LIVEIMGBASE
# Basename of the liveimage
#
# See Makefile.bootimage for other variables.
#
.if !target(check_LIVEIMGBASE)
check_LIVEIMGBASE: .PHONY .NOTMAIN
.if !defined(LIVEIMGBASE)
@echo "Error: LIVEIMGBASE is not set"
@false
.else
@true
.endif
.endif
IMGBASE= ${LIVEIMGBASE}
.include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage"
# LIVEIMG_RELEASEDIR specifies where to install ${LIVEIMGBASE}.img.gz.
# This should be passed from etc/Makefile or etc/etc.${MACHINE}/Makefile.inc
# but also set default here for manual builds.
LIVEIMG_RELEASEDIR?= ${RELEASEMACHINEDIR}/installation/liveimage
# should be defined elsewhere?
MKDIR?= mkdir -p
live_image: check_LIVEIMGBASE check_RELEASEDIR ${IMGBASE}.img.gz
${MKDIR} ${LIVEIMG_RELEASEDIR}
${RELEASE_INSTALL} ${IMGBASE}.img.gz ${LIVEIMG_RELEASEDIR}
# note ${MAKESUM} will be calculated in src/etc/Makefile
release:

View File

@ -0,0 +1,24 @@
# $NetBSD: diskproto.in,v 1.1 2012/01/22 03:53:30 tsutsui Exp $
type: ESDI
disk: image
label:
flags:
bytes/sector: 512
sectors/track: @@SECTORS@@
tracks/cylinder: @@HEADS@@
sectors/cylinder: @@SECPERCYLINDERS@@
cylinders: @@CYLINDERS@@
total sectors: @@IMAGESECTORS@@
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: @@FSSECTORS@@ @@FSOFFSET@@ 4.2BSD 1024 8192 16
b: @@SWAPSECTORS@@ @@SWAPOFFSET@@ swap
c: @@IMAGESECTORS@@ 0 unused 0 0

View File

@ -0,0 +1,25 @@
# $NetBSD: diskproto.mbr.in,v 1.1 2012/01/22 03:53:30 tsutsui Exp $
type: ESDI
disk: image
label:
flags:
bytes/sector: 512
sectors/track: @@SECTORS@@
tracks/cylinder: @@HEADS@@
sectors/cylinder: @@SECPERCYLINDERS@@
cylinders: @@CYLINDERS@@
total sectors: @@IMAGESECTORS@@
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: @@FSSECTORS@@ @@FSOFFSET@@ 4.2BSD 1024 8192 16
b: @@SWAPSECTORS@@ @@SWAPOFFSET@@ swap
c: @@BSDPARTSECTORS@@ @@FSOFFSET@@ unused 0 0
d: @@IMAGESECTORS@@ 0 unused 0 0

View File

@ -0,0 +1,23 @@
# $NetBSD: diskproto.noswap.in,v 1.1 2012/01/22 03:53:30 tsutsui Exp $
type: ESDI
disk: image
label:
flags:
bytes/sector: 512
sectors/track: @@SECTORS@@
tracks/cylinder: @@HEADS@@
sectors/cylinder: @@SECPERCYLINDERS@@
cylinders: @@CYLINDERS@@
total sectors: @@IMAGESECTORS@@
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: @@FSSECTORS@@ @@FSOFFSET@@ 4.2BSD 1024 8192 16
c: @@IMAGESECTORS@@ 0 unused 0 0

View File

@ -0,0 +1,24 @@
# $NetBSD: diskproto.noswap.mbr.in,v 1.1 2012/01/22 03:53:30 tsutsui Exp $
type: ESDI
disk: image
label:
flags:
bytes/sector: 512
sectors/track: @@SECTORS@@
tracks/cylinder: @@HEADS@@
sectors/cylinder: @@SECPERCYLINDERS@@
cylinders: @@CYLINDERS@@
total sectors: @@IMAGESECTORS@@
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: @@FSSECTORS@@ @@FSOFFSET@@ 4.2BSD 1024 8192 16
c: @@BSDPARTSECTORS@@ @@FSOFFSET@@ unused 0 0
d: @@IMAGESECTORS@@ 0 unused 0 0

View File

@ -0,0 +1,5 @@
/dev/@@BOOTDISK@@a / ffs rw,log 1 1
/dev/@@BOOTDISK@@b none none sw 0 0
ptyfs /dev/pts ptyfs rw 0 0
kernfs /kern kernfs rw,noauto 0 0
procfs /proc procfs rw,noauto 0 0

View File

@ -0,0 +1,2 @@
/dev/@@BOOTDISK@@a / ffs rw,log 1 1
tmpfs /tmp tmpfs rw 0 0

View File

@ -0,0 +1,5 @@
# $NetBSD: spec.in,v 1.1 2012/01/22 03:53:30 tsutsui Exp $
./netbsd type=file mode=0755 uname=root gname=operator
./kern type=dir mode=0755 uname=root gname=operator
./proc type=dir mode=0755 uname=root gname=operator
./tmp type=dir mode=1777 uname=root gname=operator

View File

@ -0,0 +1,213 @@
#!/bin/sh
#
# $NetBSD: buildfloppies.sh,v 1.17 2008/11/12 14:22:16 apb Exp $
#
# Copyright (c) 2002-2003 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Luke Mewburn of Wasabi Systems.
#
# 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.
#
# set defaults
#
: ${PAX=pax}
prog=${0##*/}
etcdir=/etc
usage()
{
cat 1>&2 << _USAGE_
Usage: ${prog} [options] base size file [...]
-i instboot eval instboot as a shell command to install a
bootstrap. @IMAGE@ is replaced with with the
file name of the floppy image.
-m max maximum number of floppies to build
-N etcdir directory in which to find passwd and group files.
-p pad last floppy to floppy size
-s suffix suffix for floppies
base basename of generated floppies
size size of a floppy in 512 byte blocks
file [...] file(s) to store in the floppies
_USAGE_
exit 1
}
plural()
{
[ $1 -ne 1 ] && echo "s"
}
roundup()
{
echo $(( ( $1 + $2 - 1 ) / ( $2 ) ))
}
# parse and check arguments
#
while getopts i:m:N:ps: opt; do
case ${opt} in
i)
instboot=${OPTARG} ;;
m)
maxdisks=${OPTARG} ;;
N)
etcdir=${OPTARG} ;;
p)
pad=1 ;;
s)
suffix=${OPTARG} ;;
\?|*)
usage
;;
esac
done
shift $(( ${OPTIND} - 1 ))
[ $# -lt 3 ] && usage
floppybase=$1
floppysize=$2
shift 2
files=$*
# setup temp file, remove existing images
#
floppy=floppy.$$.tar
trap "rm -f ${floppy}" 0 1 2 3 # EXIT HUP INT QUIT
rm -f ${floppybase}?${suffix} # XXX breaks if maxdisks > 9
# create tar file
#
dd if=/dev/zero of=${floppy} bs=8k count=1 2>/dev/null
(
echo ". type=dir optional"
for f in ${files}; do
echo "./$f type=file uname=root gname=operator mode=0444"
done
) | \
${PAX} -O -w -b8k -M -N "${etcdir}" -s,^./,, >> ${floppy} || exit 1
# install bootstrap before the image is split into multiple disks
#
if [ -n "$instboot" ]; then
instboot=$( echo $instboot | sed -e s/@IMAGE@/${floppy}/ )
echo "Running instboot: ${instboot}"
eval ${instboot} || exit 1
fi
# check size against available number of disks
#
set -- $(ls -ln $floppy)
bytes=$5
blocks=$(roundup ${bytes} 512)
# when calculating numdisks, take into account:
# a) the image already has an 8K tar header prepended
# b) each floppy needs an 8K tar volume header
numdisks=$(roundup ${blocks}-16 ${floppysize}-16)
if [ -z "${maxdisks}" ]; then
maxdisks=${numdisks}
fi
# Try to accurately summarise free space
#
msg=
# First floppy has 8k boot code, the rest an 8k 'multivolume header'.
# Each file has a 512 byte header and is rounded to a multiple of 512.
# The archive ends with two 512 byte blocks of zeros.
# The output file is then rounded up to a multiple of 8k.
# floppysize is in units of 512-byte blocks; free_space is in bytes.
free_space=$(($maxdisks * ($floppysize - 16) * 512 - 512 * 2))
for file in $files; do
set -- $(ls -ln $file)
file_bytes=$5
pad_bytes=$(($(roundup $file_bytes 512) * 512 - $file_bytes))
[ "$file_bytes" != 0 -o "$file" = "${file#USTAR.volsize.}" ] &&
msg="$msg $file $pad_bytes,"
free_space=$(($free_space - 512 - $file_bytes - $pad_bytes))
done
echo "Free space in last tar block:$msg"
if [ ${numdisks} -gt ${maxdisks} ]; then
# Add in the size of the last item (we really want the kernel) ...
excess=$(( 0 - $free_space + $pad_bytes))
echo 1>&2 \
"$prog: Image is ${excess} bytes ($(( ${excess} / 1024 )) KB)"\
"too big to fit on ${maxdisks} disk"$(plural ${maxdisks})
exit 1
fi
padto=$(( ${floppysize} * ${maxdisks} ))
if [ -n "${pad}" ]; then
echo \
"Writing $(( ${padto} * 512 )) bytes ($(( ${padto} / 2 )) KB)" \
"on ${numdisks} disk"$(plural ${numdisks})"," \
"padded by ${free_space} bytes" \
"($(( ${free_space} / 1024 )) KB)"
else
echo "Writing ${bytes} bytes ($(( ${blocks} / 2 )) KB)"\
"on ${numdisks} disk"$(plural ${numdisks})"," \
"free space ${free_space} bytes" \
"($(( ${free_space} / 1024 )) KB)"
fi
# write disks
#
curdisk=1
image=
seek=0
skip=0
floppysize8k=$(( ${floppysize} / 16 ))
while [ ${curdisk} -le ${numdisks} ]; do
image="${floppybase}${curdisk}${suffix}"
echo "Creating disk ${curdisk} to ${image}"
if [ ${curdisk} -eq 1 ]; then
: > ${image}
else
echo USTARFS ${curdisk} > ${image}
fi
count=$(( ${floppysize8k} - ${seek} ))
dd bs=8k conv=sync seek=${seek} skip=${skip} count=${count} \
if=${floppy} of=${image} 2>/dev/null
curdisk=$(( ${curdisk} + 1 ))
skip=$(( $skip + $count ))
seek=1
done
# pad last disk if necessary
#
if [ -n "${pad}" ]; then
dd if=$image of=$image conv=notrunc conv=sync bs=${floppysize}b count=1
fi
# final status
#
echo "Final result:"
ls -l ${floppybase}?${suffix} # XXX breaks if maxdisks > 9
exit 0

View File

@ -0,0 +1,14 @@
# $NetBSD: list.dhcpcd,v 1.2 2011/05/31 06:19:11 christos Exp $
#
# list file (c.f. parselist.awk) for DHCP-enabled install media.
#
PROG sbin/dhcpcd
SPECIAL dhcpcd srcdir external/bsd/dhcpcd/sbin/dhcpcd
COPY ${DESTDIR}/etc/dhcpcd.conf etc/dhcpcd.conf
COPY ${DESTDIR}/libexec/dhcpcd-run-hooks libexec/dhcpcd-run-hooks 555
COPY ${NETBSDSRCDIR}/distrib/common/10-resolv.conf libexec/dhcpcd-hooks/10-resolv.conf
COPY ${DESTDIR}/libexec/dhcpcd-hooks/30-hostname libexec/dhcpcd-hooks/30-hostname
COPY ${NETBSDSRCDIR}/distrib/common/99-print-sysinst libexec/dhcpcd-hooks/99-print-sysinst

View File

@ -0,0 +1,6 @@
# $NetBSD: list.inet6,v 1.1 2009/09/20 22:50:50 abs Exp $
PROG sbin/ping6
PROG sbin/rtsol
SPECIAL ping6 srcdir distrib/utils/x_ping6

View File

@ -0,0 +1,3 @@
# $NetBSD: list.makedev,v 1.7 2007/03/03 06:40:06 apb Exp $
COPY ${MAKEDEVSCRIPT} dev/MAKEDEV 555

View File

@ -0,0 +1,17 @@
# $NetBSD: list.sysinst,v 1.12 2005/08/27 15:42:56 xtraeme Exp $
#
# list file (c.f. parselist.awk) for sysinst-using install media.
#
# NOTE: sysinst needs at least 4 free inodes and a few KB of free disk space.
#
PROG sysinst
PROG usr/bin/progress
SPECIAL sysinst srcdir distrib/utils/sysinst/arch/${MACHINE}
# Foreign texts for sysinst
COPY ${OBJDIR}/sysinst/sysinstmsgs.fr sysinstmsgs.fr
COPY ${OBJDIR}/sysinst/sysinstmsgs.de sysinstmsgs.de
COPY ${OBJDIR}/sysinst/sysinstmsgs.pl sysinstmsgs.pl
COPY ${OBJDIR}/sysinst/sysinstmsgs.es sysinstmsgs.es

View File

@ -0,0 +1,11 @@
# $NetBSD: list.sysinst.en,v 1.1 2004/04/18 20:04:26 dsl Exp $
#
# list file (c.f. parselist.awk) for sysinst-using install media.
#
# NOTE: sysinst needs at least 4 free inodes and a few KB of free disk space.
#
PROG sysinst
PROG usr/bin/progress
SPECIAL sysinst srcdir distrib/utils/sysinst/arch/${MACHINE}

View File

@ -0,0 +1,55 @@
# $NetBSD: list2sh.awk,v 1.1 2009/09/18 09:24:59 abs Exp $
BEGIN {
printf("cd ${CURDIR}\n");
printf("\n");
}
/^$/ || /^#/ {
print $0;
next;
}
$1 == "COPY" {
printf("echo '%s'\n", $0);
printf("rm -f ${TARGDIR}/%s\n", $3);
printf("cp %s ${TARGDIR}/%s\n", $2, $3);
next;
}
$1 == "LINK" {
printf("echo '%s'\n", $0);
printf("rm -f ${TARGDIR}/%s\n", $3);
printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3);
next;
}
$1 == "SYMLINK" {
printf("echo '%s'\n", $0);
printf("rm -f ${TARGDIR}/%s\n", $3);
printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3);
next;
}
$1 == "COPYDIR" {
printf("echo '%s'\n", $0);
printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n",
$3);
printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2,
$3);
next;
}
$1 == "SPECIAL" {
printf("echo '%s'\n", $0);
printf("(cd ${TARGDIR};");
for (i = 2; i <= NF; i++)
printf(" %s", $i);
printf(")\n");
next;
}
{
printf("echo '%s'\n", $0);
printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR);
printf("exit 1\n");
exit 1;
}
END {
printf("\n");
printf("exit 0\n");
exit 0;
}

7
distrib/common/mkprotocols Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
# $NetBSD: mkprotocols,v 1.1 2008/05/01 22:01:16 garbled Exp $
# Generate a shaved down protocols file for install media.
#
echo "# \$NetBSD\$" > protocols
echo "# Shaved down /etc/protocols for installation media" >> protocols
/usr/bin/sed -e 's/#.*//' -e '/^$/d' -e 's/ *$//' -e 's/ */ /' ../../etc/protocols >> protocols

View File

@ -0,0 +1,28 @@
# $NetBSD: mtree.common,v 1.9 2009/04/07 11:49:17 joerg Exp $
/set type=dir uname=root gname=operator mode=0755
.
./bin
./dev
./etc
./libexec
./libexec/dhcpcd-hooks
./mnt
./mnt2
./kern
./sbin
./targetroot
./tmp mode=01777
./usr
./usr/bin
./usr/mdec
./usr/sbin
./usr/share
./usr/share/misc
./var
./var/db
./var/run
./var/log
./var/spool
./var/spool/lock

3
distrib/common/mtree.dot Normal file
View File

@ -0,0 +1,3 @@
# $NetBSD: mtree.dot,v 1.1 2002/05/03 14:20:54 lukem Exp $
. type=dir uname=root gname=operator mode=0755

View File

@ -0,0 +1,359 @@
# $NetBSD: parselist.awk,v 1.16 2009/04/10 16:16:12 apb Exp $
#
# Copyright (c) 2002 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Luke Mewburn of Wasabi Systems.
#
# 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.
#
#
# awk -f parselist.awk -v mode=MODE [var=val ...] file1 [...]
#
# Parse list files file1 [...], generating different output,
# depending upon the value of MODE:
#
# crunch crunchgen(1) config
#
# install make(1) Makefile to install commands into ${TARGETDIR},
# with an `install' target.
# The following environment variables need to be set:
# TARGETDIR Directory to populate
#
# mtree mtree(8) specfile
#
# populate sh(1) commands to populate ${TARGETDIR} from ${CURDIR}
# The following environment variables need to be set:
# CURDIR Source directory; make(1)'s ${.CURDIR}
# TARGETDIR Directory to populate
#
# The following environment variables need to be set for all modes:
# CRUNCHBIN Name of crunchgen(1) target binary
# OBJDIR Object directory; make(1)'s ${.OBJDIR}
#
# Each line of the input is either a comment (starts with `#'),
# or contains one of the following keywords and arguments.
#
# Before each line is parsed for a keyword, words surrounded by
# "${" and "}", and containing only letters, numbers, and `_'
# will be replaced by the value of the environment variable of
# the same name. I.e., "${MACHINE_ARCH}" will be replaced with the
# value of ENVIRON["MACHINE_ARCH"].
#
# mode key operation
# -------- ---------
# C crunch
# I install
# M mtree
# P populate
#
# mode keyword arg1 [...] description
# ---- ------------------ -----------
#
# C ARGVLN prog link as per crunchgen(1) `ln'
#
# P CMD arg1 [...] run CMD as a shell command
#
# IMP COPY src dest [perm] copy src to dest. perm defaults to 0444
#
# IMP COPYDIR src dest recursively copy files under src to
# dest. for M, dest is listed first,
# followed by the subdirectories in src.
# copied directories have mode 0755.
# copied files have mode 0444.
#
# C LIBS libspec ... as per crunchgen(1) `libs'
#
# IMP LINK src d1 [d2 ...] hard link src to d1, d2, ...
#
# M MTREE arg1 [...] output arguments `as-is' to specfile
#
# CIMP PROG prog [links...] program(s) to crunch/mtree/populate.
# for I, M & P, the first prog listed
# is copied from ${OBJDIR}/${CRUNCHBIN}
# and then used as the name to link
# all other PROG entries to.
#
# C SPECIAL prog cmd ... as per crunchgen(1) `special'
#
# C SRCDIRS dirname ... as per crunchgen(1) `srcdirs'
#
# IMP SYMLINK src dest [...] symlink src to dest, [...]
#
BEGIN \
{
crunchprog = "";
if (mode != "crunch" && mode != "install" &&
mode != "mtree" && mode != "populate")
errx("Unknown parselist mode '" mode "'");
needvars["CRUNCHBIN"]++
needvars["OBJDIR"]++
if (mode == "install") {
needvars["TARGETDIR"]++
}
else if (mode == "populate") {
needvars["CURDIR"]++
}
for (nv in needvars) {
if (! (nv in ENVIRON))
errx("Environment variable " nv " not defined");
}
print "#";
print "# This file is automatically generated by";
print "#\tparselist mode=" mode;
print "#";
print "";
if (mode == "install") {
print ".include <bsd.own.mk>"
print "install:"
} else if (mode == "mtree") {
print "/unset\tall";
print "/set\ttype=file uname=root gname=operator";
print;
} else if (mode == "populate") {
print "cd " ENVIRON["CURDIR"];
print;
}
}
/^$/ || /^#/ \
{
print;
next;
}
# replace ${FOO} with ENVIRON["FOO"]
#
/\$\{[A-Za-z0-9_]+\}/ \
{
while (match($0, /\$\{[A-Za-z0-9_]+\}/) > 0) {
v = substr($0, RSTART + 2, RLENGTH - 3);
if (! (v in ENVIRON))
err("Variable " v " is not in the environment");
else
sub(/\$\{[A-Za-z0-9_]+\}/, ENVIRON[v]);
}
}
$1 == "COPY" \
{
if (NF < 3 || NF > 4)
err("Usage: COPY src dest [perm]");
if (mode == "install" || mode == "mtree" || mode == "populate")
copy($2, $3, $4);
next;
}
$1 == "COPYDIR" \
{
if (NF != 3)
err("Usage: COPYDIR src dest");
srcdir=$2;
destdir=$3;
if (mode == "mtree") {
printf("./%s type=dir mode=755\n", destdir);
command="cd " srcdir " && find . -type d -print"
while (command | getline dir) {
gsub(/^\.\//, "", dir);
if (dir == ".")
continue;
printf("./%s/%s type=dir mode=755\n", destdir, dir);
}
close(command);
}
if (mode == "install" || mode == "mtree" || mode == "populate") {
command="cd " srcdir " && find . -type f -print"
while (command | getline srcfile) {
gsub(/^\.\//, "", srcfile);
copy(srcdir "/" srcfile, destdir "/" srcfile, "");
}
close(command);
}
next;
}
$1 == "LIBS" || $1 == "SPECIAL" || $1 == "SRCDIRS" \
{
if (NF < 2)
err("Usage: " $1 " args...");
if (mode == "crunch") {
$1 = tolower($1);
print;
}
next;
}
$1 == "PROG" \
{
if (NF < 2)
err("Usage: PROG prog [link ...]");
if (mode == "crunch") {
prog = basename($2);
print "progs " prog;
for (i = 3; i <= NF; i++)
print "ln " prog " " basename($i);
} else {
for (i = 2; i <= NF; i++) {
if (crunchprog == "") {
crunchprog = $i;
copy(ENVIRON["OBJDIR"] "/" ENVIRON["CRUNCHBIN"],
crunchprog, 555);
continue;
}
link(crunchprog, $i, 555);
}
}
next;
}
$1 == "ARGVLN" \
{
if (NF != 3)
err("Usage: ARGVLN prog link");
if (mode == "crunch") {
$1 = "ln";
print;
}
next;
}
$1 == "LINK" \
{
if (NF < 3)
err("Usage: LINK prog link [...]");
if (mode == "install" || mode == "mtree" || mode == "populate") {
for (i = 3; i <= NF; i++)
link($2, $i, 444);
}
next;
}
$1 == "SYMLINK" \
{
if (NF < 3)
err("Usage: SYMLINK prog link [...]");
if (mode == "install" || mode == "mtree" || mode == "populate") {
for (i = 3; i <= NF; i++)
symlink($2, $i);
}
next;
}
$1 == "CMD" \
{
if (NF < 2)
err("Usage: CMD ...");
if (mode == "populate") {
printf("(cd %s;", ENVIRON["TARGETDIR"]);
for (i = 2; i <= NF; i++)
printf(" %s", $i);
print ") || exit 1";
}
next;
}
$1 == "MTREE" \
{
if (NF < 2)
err("Usage: MTREE ...");
if (mode == "mtree") {
sub(/^[^ \t]+[ \t]+/, ""); # strip first word ("MTREE")
print;
}
next;
}
{
err("Unknown keyword '" $1 "'");
}
function basename (file) \
{
gsub(/[^\/]+\//, "", file);
return file;
}
function copy (src, dest, perm) \
{
if (perm == "")
perm = 444;
if (mode == "install") {
printf("\t${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP}" \
" -m %s %s %s/%s\n",
perm, src, ENVIRON["TARGETDIR"], dest)
} else if (mode == "mtree") {
printf("./%s mode=%s\n", dest, perm);
} else {
printf("rm -rf %s/%s\n", ENVIRON["TARGETDIR"], dest);
printf("cp %s %s/%s\n", src, ENVIRON["TARGETDIR"], dest);
printf("chmod %s %s/%s\n", perm, ENVIRON["TARGETDIR"], dest);
}
}
function link (src, dest, perm) \
{
if (mode == "install") {
printf("\t${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP}" \
" -m %s %s/%s %s/%s\n",
perm, ENVIRON["TARGETDIR"], src, ENVIRON["TARGETDIR"], dest)
} else if (mode == "mtree") {
printf("./%s mode=%s\n", dest, perm);
} else {
printf("rm -rf %s/%s\n", ENVIRON["TARGETDIR"], dest);
printf("(cd %s; ln %s %s) || exit 1\n",
ENVIRON["TARGETDIR"], src, dest);
}
}
function symlink (src, dest) \
{
if (mode == "install") {
printf("\t${INSTALL_SYMLINK} %s/%s %s/%s\n",
ENVIRON["TARGETDIR"], src, ENVIRON["TARGETDIR"], dest)
} else if (mode == "mtree") {
printf("./%s type=link link=%s\n", dest, src);
} else {
printf("rm -rf %s/%s\n", ENVIRON["TARGETDIR"], dest);
printf("(cd %s; ln -s %s %s) || exit 1\n",
ENVIRON["TARGETDIR"], src, dest);
}
}
function err(msg) \
{
printf("parselist: %s at line %d of input.\n", msg, NR) >"/dev/stderr";
exit 1;
}
function errx(msg) \
{
printf("parselist: %s.\n", msg) >"/dev/stderr";
exit 1;
}

137
distrib/common/protocols Normal file
View File

@ -0,0 +1,137 @@
# $NetBSD: protocols,v 1.1 2008/05/01 22:02:54 garbled Exp $
# Shaved down /etc/protocols for installation media
hopopt 0 HOPOPT
icmp 1 ICMP
igmp 2 IGMP
ggp 3 GGP
ip 4 IP
st 5 ST
tcp 6 TCP
cbt 7 CBT
egp 8 EGP
igp 9 IGP
bbn-rcc-mon 10 BBN-RCC-MON
nvp-ii 11 NVP-II
pup 12 PUP
argus 13 ARGUS
emcon 14 EMCON
xnet 15 XNET
chaos 16 CHAOS
udp 17 UDP
mux 18 MUX
dcn-meas 19 DCN-MEAS
hmp 20 HMP
prm 21 PRM
xns-idp 22 XNS-IDP
trunk-1 23 TRUNK-1
trunk-2 24 TRUNK-2
leaf-1 25 LEAF-1
leaf-2 26 LEAF-2
rdp 27 RDP
irtp 28 IRTP
iso-tp4 29 ISO-TP4
netblt 30 NETBLT
mfe-nsp 31 MFE-NSP
merit-inp 32 MERIT-INP
dccp 33 DCCP
3pc 34 3PC
idpr 35 IDPR
xtp 36 XTP
ddp 37 DDP
idpr-cmtp 38 IDPR-CMTP
tp++ 39 TP++
il 40 IL
ipv6 41 IPv6
sdrp 42 SDRP
ipv6-route 43 IPv6-Route
ipv6-frag 44 IPv6-Frag
idrp 45 IDRP
rsvp 46 RSVP
gre 47 GRE
dsr 48 DSR
bna 49 BNA
esp 50 ESP
ah 51 AH
i-nlsp 52 I-NLSP
swipe 53 SWIPE
narp 54 NARP
mobile 55 MOBILE
tlsp 56 TLSP
skip 57 SKIP
ipv6-icmp 58 IPv6-ICMP
ipv6-nonxt 59 IPv6-NoNxt
ipv6-opts 60 IPv6-Opts
cftp 62 CFTP
sat-expak 64 SAT-EXPAK
kryptolan 65 KRYPTOLAN
rvd 66 RVD
ippc 67 IPPC
sat-mon 69 SAT-MON
visa 70 VISA
ipcv 71 IPCV
cpnx 72 CPNX
cphb 73 CPHB
wsn 74 WSN
pvp 75 PVP
br-sat-mon 76 BR-SAT-MON
sun-nd 77 SUN-ND
wb-mon 78 WB-MON
wb-expak 79 WB-EXPAK
iso-ip 80 ISO-IP
vmtp 81 VMTP
secure-vmtp 82 SECURE-VMTP
vines 83 VINES
ttp 84 TTP
nsfnet-igp 85 NSFNET-IGP
dgp 86 DGP
tcf 87 TCF
eigrp 88 EIGRP
ospfigp 89 OSPFIGP
sprite-rpc 90 Sprite-RPC
larp 91 LARP
mtp 92 MTP
ax.25 93 AX.25
ipip 94 IPIP
micp 95 MICP
scc-sp 96 SCC-SP
etherip 97 ETHERIP
encap 98 ENCAP
gmtp 100 GMTP
ifmp 101 IFMP
pnni 102 PNNI
pim 103 PIM
aris 104 ARIS
scps 105 SCPS
qnx 106 QNX
a/n 107 A/N
ipcomp 108 IPComp
snp 109 SNP
compaq-peer 110 Compaq-Peer
ipx-in-ip 111 IPX-in-IP
vrrp 112 VRRP
pgm 113 PGM
l2tp 115 L2TP
ddx 116 DDX
iatp 117 IATP
stp 118 STP
srp 119 SRP
uti 120 UTI
smp 121 SMP
sm 122 SM
ptp 123 PTP
isis 124 ISIS
fire 125 FIRE
crtp 126 CRTP
crudp 127 CRUDP
sscopmce 128 SSCOPMCE
iplt 129 IPLT
sps 130 SPS
pipe 131 PIPE
sctp 132 SCTP
fc 133 FC
rsvp-e2e-ignore 134 RSVP-E2E-IGNORE
mobility 135 Mobility
udplite 136 UDPLite
mpls-in-ip 137 MPLS-in-IP
use 253 Use
use 254 Use

13
distrib/common/runlist.sh Normal file
View File

@ -0,0 +1,13 @@
# $NetBSD: runlist.sh,v 1.1 2009/09/18 09:24:59 abs Exp $
if [ "X$1" = "X-d" ]; then
SHELLCMD=cat
shift
else
SHELLCMD="sh -e"
fi
( while [ "X$1" != "X" ]; do
cat $1
shift
done ) | awk -f ${NETBSDSRCDIR}/distrib/common/list2sh.awk | ${SHELLCMD}

47
distrib/common/services Normal file
View File

@ -0,0 +1,47 @@
# $NetBSD: services,v 1.4 2009/09/20 19:41:35 abs Exp $
# Minimal /etc/services file for install
ftp-data 20/tcp
ftp-data 20/udp
ftp 21/tcp
ftp 21/udp
bootps 67/tcp
bootps 67/udp
bootpc 68/tcp
bootpc 68/udp
tftp 69/tcp
tftp 69/udp
http 80/tcp
sunrpc 111/tcp
sunrpc 111/udp
sftp 115/tcp
sftp 115/udp
mftp 349/tcp
mftp 349/udp
shell 514/tcp
kshell 544/tcp
kshell 544/udp
dhcpv6-client 546/tcp
dhcpv6-client 546/udp
dhcpv6-server 547/tcp
dhcpv6-server 547/udp
ftp-agent 574/tcp
ftp-agent 574/udp
dhcp-failover 647/tcp
dhcp-failover 647/udp
ftps-data 989/tcp
ftps-data 989/udp
ftps 990/tcp
ftps 990/udp
tftp-mcast 1758/tcp
tftp-mcast 1758/udp
nfs 2049/tcp
nfs 2049/udp
tftps 3713/tcp
tftps 3713/udp
kftp-data 6620/tcp
kftp-data 6620/udp
kftp 6621/tcp
kftp 6621/udp
mcftp 6622/tcp
mcftp 6622/udp

134
distrib/common/sunbootcd.sh Executable file
View File

@ -0,0 +1,134 @@
#! /bin/sh
#
# $NetBSD: sunbootcd.sh,v 1.6 2012/02/22 16:12:34 martin Exp $
#
# Copyright (c) 2003 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Luke Mewburn.
#
# 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.
#
: ${SUNLABEL:=sunlabel} # sunlabel(8)
: ${CYLSIZE:=640} # Cylinder size, in 512byte blocks
PROGNAME=${0##*/}
FORMAT="%-8s offset %4d, size %4d, file %s\n"
usage()
{
cat 1>&2 << _USAGE_
Usage: ${PROGNAME} fsimage sun4 [sun4c [sun4m [sun3|sun4d [sun3x|sun4u]]]]
Combine file system partitions for Sun Microsystems, Inc. computers
into a CD-ROM file system image suitable for booting on the
following platforms:
NetBSD/sun3: sun3, sun3x
NetBSD/sparc: sun4, sun4c, sun4d, sun4m
NetBSD/sparc64: sun4u
The architecture arguments must be bootable file system image
for that architecture, or \`-' if no entry is desired.
\`fsimage' is typically an iso9660 file system image, although
any type of file system can be used as long as the first 512
bytes of the image are not used. \`fsimage' is modified, and
the additional partitions are added in order. If the same
filename is used more than once for different architectures,
it will only be copied once.
_USAGE_
exit 1
}
if [ $# -lt 2 -o $# -gt 6 ]; then
usage
fi
for curfile in $*; do
[ "$curfile" = "-" ] && continue
if [ ! -f "$curfile" ]; then
echo 1>&2 "${PROGNAME}: ${curfile}: No such file."
exit 1
fi
done
ISOIMAGE="$1"; shift
ISOSIZE=$( ls -l "${ISOIMAGE}" | awk '{print $5}' )
ISOBLKS=$(( (${ISOSIZE} + 511) / 512 ))
ISOCYLS=$(( (${ISOBLKS} + (${CYLSIZE} - 1)) / ${CYLSIZE} ))
printf "${FORMAT}" "fsimage:" 0 ${ISOCYLS} "${ISOIMAGE}"
ENDCYL=${ISOCYLS}
curpart=0
for curfile in $*; do
curpart=$(( ${curpart} + 1 ))
[ "$curfile" = "-" ] && continue
tpart=1
curoff=${ENDCYL}
while [ ${tpart} -lt ${curpart} ]; do
tfile=$(eval echo \$PART${tpart}FILE)
if [ "${curfile}" = "${tfile}" ]; then
curoff=$(eval echo \$PART${tpart}OFF)
break
fi
tpart=$(( ${tpart} + 1 ))
done
cursize=$( ls -l "${curfile}" | awk '{print $5}' )
curblks=$(( (${cursize} + 511) / 512 ))
curcyls=$(( (${curblks} + (${CYLSIZE} - 1)) / ${CYLSIZE} ))
printf "${FORMAT}" "Image ${curpart}:" ${curoff} ${curcyls} "${curfile}"
eval PART${curpart}SIZE=${cursize} \
PART${curpart}BLKS=${curblks} \
PART${curpart}CYLS=${curcyls} \
PART${curpart}OFF=${curoff} \
PART${curpart}FILE="${curfile}"
if [ $curoff -eq $ENDCYL ]; then # append ${curfile}
echo " (appending ${curfile} to ${ISOIMAGE})"
dd if="${curfile}" of="${ISOIMAGE}" bs=${CYLSIZE}b \
seek=${ENDCYL} conv=notrunc,sync 2>/dev/null
ENDCYL=$(( $ENDCYL + $curcyls ))
fi
done
printf "${FORMAT}" "Final:" 0 ${ENDCYL} "${ISOIMAGE}"
${SUNLABEL} -nq "${ISOIMAGE}" << _partinfo_
V nsect ${CYLSIZE}
V nhead 1
V rpm 300
V pcyl ${ENDCYL}
V ncyl ${ENDCYL}
a 0 $(( ${ISOCYLS} * ${CYLSIZE} ))
b ${PART1OFF:-0} $(( ${PART1CYLS:-0} * ${CYLSIZE} ))
c ${PART2OFF:-0} $(( ${PART2CYLS:-0} * ${CYLSIZE} ))
d ${PART3OFF:-0} $(( ${PART3CYLS:-0} * ${CYLSIZE} ))
e ${PART4OFF:-0} $(( ${PART4CYLS:-0} * ${CYLSIZE} ))
f ${PART5OFF:-0} $(( ${PART5CYLS:-0} * ${CYLSIZE} ))
W
_partinfo_

315
distrib/sets/Makefile Normal file
View File

@ -0,0 +1,315 @@
# $NetBSD: Makefile,v 1.84 2011/08/09 15:02:30 jmcneill Exp $
# Experimental RCS METALOG versioning
# (Needs host's rcs(1) commands)
#
# TODO:
# - In 'build.sh distribution', print diff to previous
#RCSMETALOG=1
# The `all' target must appear before bsd.own.mk is pulled in.
all:
@echo "Please understand what you are doing, first."
@false
.include <bsd.own.mk>
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
.if ${USE_PIGZGZIP} != "no"
COMPRESS_PROGRAM=${TOOL_PIGZ:Q}
.else
COMPRESS_PROGRAM=gzip
.endif
SETSENV= DESTDIR=${DESTDIR:Q} \
MACHINE=${MACHINE:Q} \
MACHINE_ARCH=${MACHINE_ARCH:Q} \
AWK=${TOOL_AWK:Q} \
CKSUM=${TOOL_CKSUM:Q} \
DB=${TOOL_DB:Q} \
HOST_SH=${HOST_SH:Q} \
MAKE=${MAKE:Q} \
MKTEMP=${TOOL_MKTEMP:Q} \
MTREE=${TOOL_MTREE:Q} \
PAX=${TOOL_PAX:Q} \
COMPRESS_PROGRAM=${COMPRESS_PROGRAM:Q} \
PKG_CREATE=${TOOL_PKG_CREATE:Q} \
SED=${TOOL_SED:Q} \
TSORT=${TSORT:Q}
SETSCMD= cd ${.CURDIR} && \
${SETSENV} \
${HOST_SH}
MAKETARS_FLAGS=
.if ${MKX11} != "no"
MAKESRCTARS_X11_FLAGS= -x ${X11SRCDIR}
.endif
.if ${MKEXTSRC} != "no"
MAKESRCTARS_EXTSRC_FLAGS= -y ${EXTSRCSRCDIR}
.endif
.if ${MKX11} != "no"
MAKEFLIST_X11_FLAGS= ,x
.endif
.if ${MKEXTSRC} != "no"
MAKEFLIST_EXTSRC_FLAGS= ,ext
.endif
MAKEFLIST_FLAGS= -L base${MAKEFLIST_X11_FLAGS}${MAKEFLIST_EXTSRC_FLAGS}
MAKESRCTARS_FLAGS= -N ${NETBSDSRCDIR}/etc
.if ${MAKEVERBOSE} < 2
MAKETARS_FLAGS+= -q
MAKESRCTARS_FLAGS+= -q
.endif
.if !defined(MAKETARSETS)
MAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
.endif
print_have_gcc: .PHONY
@echo ${HAVE_GCC}
print_machine: .PHONY
@echo ${MACHINE}
print_machine_arch: .PHONY
@echo ${MACHINE_ARCH}
print_machine_cpu: .PHONY
@echo ${MACHINE_CPU}
print_object_fmt: .PHONY
@echo ${OBJECT_FMT}
print_toolchain_missing: .PHONY
@echo "${TOOLCHAIN_MISSING}"
print_mkvars \
print_set_lists_base print_set_lists_x print_set_lists_ext \
list_set_lists_base list_set_lists_x list_set_lists_ext \
list_set_files_base list_set_files_x list_set_files_ext \
: .PHONY
@${SETSENV}; rundir="${.CURDIR}"; . ./sets.subr; ${.TARGET}
#
# METALOG MANIPULATION TARGETS
#
# METALOG is the name of a metadata log file, and is set in <bsd.own.mk>
# if MKUNPRIVED is not "no".
#
# METALOG.unpriv is a command line option passed to various scripts;
# it is either blank or "-M ${METALOG}.sanitised", depending on the
# MKUNPRIVED flag.
#
# The sanitise_METALOG target creates METALOG.sanitised from METALOG,
# without modifying METALOG itself. METALOG.sanitised is sorted, and
# has duplicates merged. This is used near the end of a build, after
# build products have been installed in DESTDIR and corresponding lines
# have been added to METALOG, but before METALOG.sanitised is used in
# the creation of sets in RELEASEDIR.
#
# The clean_METALOG either deletes METALOG or replaces METALOG with
# a sanitised version of itself, depending on the MKUPDATE flag, and
# deletes old METALOG.* files. This is intended to be used at the start
# of a build, to ensure that repeated MKUPDATE builds do not cause
# unbounded growth of METALOG.
#
.if ${MKUNPRIVED} == "no"
METALOG.unpriv=
sanitise_METALOG: .PHONY
@true
clean_METALOG: .PHONY
@true
.else # MKUNPRIVED
METALOG.unpriv= -M ${METALOG}.sanitised
sanitise_METALOG: .PHONY ${METALOG}.sanitised
${METALOG}.sanitised: ${METALOG}
sort ${METALOG} | \
${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \
>${METALOG}.new
mv ${METALOG}.new ${METALOG}.sanitised
.if defined(RCSMETALOG)
. ./metalog.subr; \
xrcs_descr="build distribution METALOG"; \
xrcs_msg="$$(date)"; \
xrcs_cur=${METALOG}.sanitised; \
xrcs update
.endif
.if ${MKUPDATE} == "no" || !exists(${METALOG})
clean_METALOG: .PHONY
rm -f ${METALOG} ${METALOG}.*
.else # MKUPDATE
clean_METALOG: .PHONY ${METALOG}.sanitised
mv ${METALOG}.sanitised ${METALOG}
.if defined(RCSMETALOG)
[ -f ${METALOG}.sanitised,v ] && mv ${METALOG}.sanitised,v ${METALOG},v
.endif
rm -f ${METALOG}.*
.if defined(RCSMETALOG)
[ -f ${METALOG},v ] && mv ${METALOG},v ${METALOG}.sanitised,v
.endif
.endif # MKUPDATE
.endif # MKUNPRIVED
#
# FILE LIST TARGETS
#
# This target has debugging value only, really.
makeflist: .PHONY .PRECIOUS check_DESTDIR
${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
checkflist: .PRECIOUS .PHONY check_DESTDIR sanitise_METALOG
${SETSCMD} ${.CURDIR}/checkflist \
${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
checkflist-x11: .PHONY check_DESTDIR
${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
checkflist-extsrc: .PHONY check_DESTDIR
${SETSCMD} ./checkflist -y ${CHECKFLIST_FLAGS}
.if defined(DESTDIR) && ${DESTDIR} != ""
checkflist_if_DESTDIR: checkflist
.else
checkflist_if_DESTDIR:
.endif
#
# SET BUILDING TARGETS
#
TARDIR= ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
SOURCETARDIR= ${RELEASEDIR}/source/sets
# If MAKETARS_SERIAL is set to "YES" or "yes", then the tar sets will be
# made in series, even if make's "-j" flag requests multiple parallel
# jobs. This is useful on systems that exhibit poor performance when
# running multiple parallel disk-intensive operations. The default is
# MAKETARS_SERIAL=NO, which will obey the "-j" flag passed to the make
# command.
#
MAKETARS_SERIAL?= NO
.if empty(MAKETARS_SERIAL:M[Yy][Ee][Ss])
_MAKETARS_WAIT= # empty
.else
_MAKETARS_WAIT= .WAIT
.endif
maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR \
sanitise_METALOG checkflist_if_DESTDIR .WAIT \
maketarsetup .WAIT \
${MAKETARSETS:@.TARS.@${_MAKETARS_WAIT} do-${.TARS.}@}
@true
maketarsetup: .EXEC
.if defined(DESTDIR) && ${DESTDIR} != ""
${_MKMSG} "execute checkflist"
${MAKE} checkflist
.endif
mkdir -p ${TARDIR}
for i in MD5 SHA512; do \
rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
done
makesetfiles: .PHONY sanitise_METALOG
${_MKMSG_CREATE} "set lists"
${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
${METALOG.unpriv} \
-N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} -t ${TARDIR}
.for tar in ${MAKETARSETS}
do-${tar}: .PHONY sanitise_METALOG
${_MKMSG_CREATE} "${tar}.tgz"
${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
${METALOG.unpriv} \
-N ${NETBSDSRCDIR}/etc -t ${TARDIR} ${tar} \
|| { rm -f ${TARDIR}/${tar}.tgz; false; }
.endfor
makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
${_MKMSG_CREATE} "source tar files"
mkdir -p ${SOURCETARDIR}
${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
${MAKESRCTARS_X11_FLAGS} ${MAKESRCTARS_EXTSRC_FLAGS} \
${NETBSDSRCDIR} ${SOURCETARDIR}
makesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
for i in MD5 SHA512; do \
mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
done
.for tar in ${MAKETARSETS}
do-sum-${tar}: .PHONY do-${tar}
${_MKMSG_CREATE} "${tar} checksums"
${MAKESUMS} -t ${TARDIR} ${tar}.tgz
for i in MD5 SHA512; do \
${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
done
.endfor
.ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
installsets: .PHONY check_DESTDIR sanitise_METALOG
.if !defined(INSTALLDIR)
@echo "setenv INSTALLDIR before doing that!"
@false
.endif
${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
${METALOG.unpriv} -N ${NETBSDSRCDIR}/etc \
${MAKEFLIST_FLAGS} -i ${INSTALLDIR} ${INSTALLSETS}
# Should we ignore errors like extra or missing files in the flists?
SLOPPY_FLIST?= NO
.if !empty(SLOPPY_FLIST:M[Yy][Ee][Ss])
CHECKFLIST_FLAGS+= -e -m
REGPKG.sloppy= -m
.endif
.if ${MAKEVERBOSE} == 0
REGPKG.verbose?= -q
.elif ${MAKEVERBOSE} == 1
REGPKG.verbose?=
.else # MAKEVERBOSE >= 2
REGPKG.verbose?= -v
.endif
REGPKG.force?= # -f, or empty
REGPKG.cache?= -c # -c, or empty
REGPKG.update:= ${MKUPDATE:tl:Nno:C/..*/-u/}
SYSPKGSETS?= all
makesyspkgs: .PHONY check_DESTDIR check_RELEASEDIR \
sanitise_METALOG checkflist_if_DESTDIR
mkdir -p ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
${SETSCMD} ${.CURDIR}/regpkgset \
${REGPKG.verbose} ${REGPKG.force} ${REGPKG.sloppy} \
${REGPKG.cache} ${REGPKG.update} \
-d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
-N ${NETBSDSRCDIR}/etc \
-t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs ${SYSPKGSETS}
makesyspkgsums: .PHONY check_RELEASEDIR
${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/syspkgs
# Update the "deps" file.
# XXX: Why is "deps" checked in to the source tree, instead of
# just being created as necessary?
makedeps: .PHONY
${SETSCMD} ./syspkgdeps all >${.CURDIR}/deps
#
# MAIN ENTRY POINTS
#
syspkgs: .PHONY makesyspkgs .WAIT makesyspkgsums
@true
sets: .PHONY maketars .WAIT makesums
@true
sourcesets: .PHONY makesrctars
@true
.include <bsd.sys.mk>

79
distrib/sets/README Normal file
View File

@ -0,0 +1,79 @@
# $NetBSD: README,v 1.11 2009/09/12 09:24:32 jnemeth Exp $
the scripts should be run from the directory where they reside.
makeflist: output the list of files that should be in a
distribution, according to the contents of the
'lists' directory.
checkflist: check the file list (as internally generated
by makeflist) against the tree living in $DESTDIR.
(that tree should be made with 'make distribution'.)
maketars: make tarballs of the various sets in the distribution,
based on the contents of the lists, the tree in
$DESTDIR, and put the tarballs in $RELEASEDIR.
Note that this script _doesn't_ create the 'secr'
distribution, because (for now) it requires
manual intervention to get the binaries right...
(i'll add another script to create that dist, later.)
what's in 'lists':
lists describing file sets. There are two sets of lists per file
set: machine dependent and machine-independent files. (there's
also another file in the 'man' dir, which is used by the 'man'
and 'misc' sets, but that's explained later.)
There is one machine-independent file, named "mi". There are
N machine-dependent files (one per architecture), named "md.${ARCH}".
the sets are as follows:
base: the base binary set. excludes everything described
below.
comp: compiler tools. All of the tools relating to C, C++,
and FORTRAN (yes, there are two!) that are in the
tree. This includes includes, the linker, tool chain,
and the .a versions of the libraries. (obviously,
base includes ldd, ld.so, and the shared versions.
base also includes 'cpp', because that's used by X11.)
includes the man pages for all the binaries contained
within. Also, includes all library and system call
manual pages.
etc: /etc, and associated files (/var/cron/tabs, /root,
etc.). things that shouldn't be blindly reinstalled
on an upgrade.
games: the games and their man pages.
man: all of the man pages for the system, except those
listed elsewhere (e.g. in comp, games, misc, text).
Includes machine-dependent man pages for this CPU.
misc: share/dict, share/doc, and the machine-dependent
man pages for other CPUs which happen to always
be installed.
modules: stand/${MACHINE}/${OSRELEASE}/modules kernel modules
tests: unit, regression, integration and stress tests for the
whole system.
text: text processing tools. groff and all of its friends.
includes man pages for all bins contained within.
as noted, in addition to the "standard" files in each dir, there's
a file called 'md_share' in lists/man. it's the list of man pages
that are installed from /usr/src/share, which are machine-dependent.
(note that ones that are installed from elsewhere, and thus are
installed on only one architecture, are listed in the md.${ARCH}
file.) basically, it's grepped through, to see which of the
machine-dependent man pages that are always installed should go
in the 'man' set, and which should go into the 'misc' set.
Each set must contain "./etc/mtree/set.<set name>" within the mi
list. Failure to add this will break unprivileged builds.

19
distrib/sets/TODO Normal file
View File

@ -0,0 +1,19 @@
TODO list for system packages
=============================
+ commit Alan Barrett's mods from PR 22514 for system package building
from build.sh
+ decide whether to keep a separate system package database of
metadata, and, if so, where to keep it
+ if using separate database, add a flag to support this to pkg_*
+ add syspkg support to sysinst
+ add pkg_install utilities (and necessary sub-utilities) to
the crunched install tools
+ fix sysinst to use them
+ need a tool to create meta-packages
+ base-bind meta-pkg created from base-bind-root,
base-bind-bin and base-bind-example
+ base meta-pkg created from base-* meta-pkgs
+ bundle packages into tar files (`pkgsets'per src/distrib/syspkg/notes)
+ meta-pkg content entirely derivable from pkg names (base-*, base-bind-*)
+ add system packages to the release ISOs

11
distrib/sets/attrs Normal file
View File

@ -0,0 +1,11 @@
minix-sys preserve
base-sys-root preserve
base-sys-share preserve
base-sys-shlib preserve
base-sys-usr preserve
base-sysutil-bin preserve
base-sysutil-root preserve
base-sysutil-share preserve
base-util-bin preserve
base-util-root preserve
base-util-share preserve

296
distrib/sets/checkflist Normal file
View File

@ -0,0 +1,296 @@
#! /bin/sh --
#
# $NetBSD: checkflist,v 1.42 2009/12/11 11:48:41 uebayasi Exp $
#
# Verify output of makeflist against contents of ${DESTDIR} and ${metalog}.
if [ -z "${DESTDIR}" ]; then
echo "DESTDIR must be set"
exit 1
fi
prog="${0##*/}"
rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
. "${rundir}/sets.subr"
#
# * ${SETS_DLIST}: files present in DESTDIR.
# * ${SETS_FLIST}: files mentioned in flist;
# * ${SETS_MLIST}: files mentioned in metalog;
#
SETS_DLIST="${DESTDIR}/SETS.dlist"
SETS_FLIST="${DESTDIR}/SETS.flist"
SETS_MLIST="${DESTDIR}/SETS.mlist"
#
# * ${SETS_METALOG_EXTRA}: Files in METALOG but missing from DESTDIR."
# * ${SETS_METALOG_MISSING}: Files in DESTDIR but missing from METALOG."
# * ${SETS_DESTDIR_EXTRA}: Files in DESTDIR but missing from setlist."
# * ${SETS_DESTDIR_MISSING}: Files in setlist but missing from DESTDIR."
#
SETS_METALOG_EXTRA="${DESTDIR}/SETS.metalog.extra"
SETS_METALOG_MISSING="${DESTDIR}/SETS.metalog.missing"
SETS_DESTDIR_EXTRA="${DESTDIR}/SETS.destdir.extra"
SETS_DESTDIR_MISSING="${DESTDIR}/SETS.destdir.missing"
es=0
cleanup()
{
if [ ${es} -gt 255 ]; then
es=255
fi
exit ${es}
}
trap cleanup 0 2 3 13 # EXIT INT QUIT PIPE
origin=.
xargs=""
dargs=""
metalog=
allowextra=false
allowmissing=false
# handle args
while getopts xybL:M:em ch; do
case ${ch} in
x)
xargs="-x"
origin="./etc/X11 ./etc/fonts ./usr/X11R6"
;;
y)
xargs="-y"
origin="./etc/ext ./usr/ext"
;;
# backward compat
b)
xargs="-b"
;;
L)
xargs="-L ${OPTARG}"
;;
M)
metalog="${OPTARG}"
;;
e)
allowextra=true
;;
m)
allowmissing=true
;;
*)
cat 1>&2 <<USAGE
Usage: ${prog} [-x|-y|-b|-L lists] [-M metalog] [-e] [-m]
-x check only x11 lists
-y check only extsrc lists
-b check netbsd + x11 lists
-L base,x,ext check specified lists
-M metalog metalog file
-e extra files are not considered an error
-m missing files are not considered an error
USAGE
exit 1
;;
esac
done
shift $((${OPTIND} - 1))
#
# Exceptions to flist checking (all begin with "./"):
#
# * ignore var/db/syspkg and its contents
# * ignore METALOG and METALOG.*
# * ignore etc/mtree/set.*
#
ignore_exceptions()
{
IGNORE_REGEXP_SYSPKG="^\./var/db/syspkg(\$|/)"
IGNORE_REGEXP_METALOG="^\./METALOG(\..*)?\$"
IGNORE_REGEXP_SETS="^\./SETS\..*\$"
IGNORE_REGEXP_MTREE="^\./etc/mtree/set\.[a-z]*\$"
${EGREP} -v \
-e "${IGNORE_REGEXP_SYSPKG}" \
-e "${IGNORE_REGEXP_METALOG}" \
-e "${IGNORE_REGEXP_SETS}" \
-e "${IGNORE_REGEXP_MTREE}"
}
#
# Here would be a good place to add custom exceptions to flist checking.
#
#
# Make three lists:
#
# All three lists are filtered against ${IGNORE_REGEXP}.
#
generate_dlist()
{
( cd "${DESTDIR}" && ${FIND} ${origin} \
\( -type d -o -type f -o -type l \) -print ) \
| ${SORT} -u | ignore_exceptions >"${SETS_DLIST}"
}
generate_flist()
{
${HOST_SH} "${rundir}/makeflist" ${xargs} ${dargs} \
| ${SORT} -u | ignore_exceptions >"${SETS_FLIST}"
}
generate_mlist()
{
if [ -n "${metalog}" ]; then
${AWK} '{print $1}' <"${metalog}" \
| ${SORT} -u | ignore_exceptions >"${SETS_MLIST}"
fi
}
generate_mlist_missing()
{
${COMM} -23 "${SETS_DLIST}" "${SETS_MLIST}" > "${SETS_METALOG_MISSING}"
}
generate_mlist_extra()
{
${COMM} -13 "${SETS_DLIST}" "${SETS_MLIST}" > "${SETS_METALOG_EXTRA}"
}
generate_dlist_missing()
{
${COMM} -23 "${SETS_FLIST}" "${SETS_DLIST}" > "${SETS_DESTDIR_MISSING}"
}
generate_dlist_extra()
{
${COMM} -13 "${SETS_FLIST}" "${SETS_DLIST}" > "${SETS_DESTDIR_EXTRA}"
}
exist_case_insensitive()
{
while read f; do
[ -f "${DESTDIR}/${f}" ] || \
[ -d "${DESTDIR}/${f}" ] || \
[ -L "${DESTDIR}/${f}" ] || \
echo "$f"
done
}
#
# compare DESTDIR with METALOG, and report on differences.
#
compare_metalog()
{
# Handle case insensitive filesystems
mv -f "${SETS_METALOG_EXTRA}" "${SETS_METALOG_EXTRA}.all"
exist_case_insensitive < "${SETS_METALOG_EXTRA}.all" > "${SETS_METALOG_EXTRA}"
rm -f "${SETS_METALOG_EXTRA}.all"
check_metalog_extra
check_metalog_missing
}
check_metalog_extra()
{
if [ -s "${SETS_METALOG_EXTRA}" ]; then
count="$(${AWK} 'END {print NR}' "${SETS_METALOG_EXTRA}")"
echo ""
echo "======= ${count} extra files in METALOG ========="
echo "Files in METALOG but missing from DESTDIR."
echo "File was deleted after installation ?"
echo "------------------------------------------"
cat "${SETS_METALOG_EXTRA}"
echo "========= end of ${count} extra files ==========="
echo ""
es=1 # this is fatal even if ${allowextra} is true
fi
}
check_metalog_missing()
{
if [ -s "${SETS_METALOG_MISSING}" ]; then
count="$(${AWK} 'END {print NR}' "${SETS_METALOG_MISSING}")"
echo ""
echo "====== ${count} missing files in METALOG ========"
echo "Files in DESTDIR but missing from METALOG."
echo "File installed but not registered in METALOG ?"
echo "------------------------------------------"
cat "${SETS_METALOG_MISSING}"
echo "======== end of ${count} missing files =========="
echo ""
es=1 # this is fatal even if ${allowmissing} is true
fi
}
#
# compare flist with DESTDIR, and report on differences.
#
compare_destdir()
{
# Handle case insensitive filesystems
mv -f "${SETS_DESTDIR_MISSING}" "${SETS_DESTDIR_MISSING}.all"
exist_case_insensitive < "${SETS_DESTDIR_MISSING}.all" > "${SETS_DESTDIR_MISSING}"
rm -f "${SETS_DESTDIR_MISSING}.all"
check_destdir_extra
check_destdir_missing
}
check_destdir_extra()
{
if [ -s "${SETS_DESTDIR_EXTRA}" ]; then
count="$(${AWK} 'END {print NR}' "${SETS_DESTDIR_EXTRA}")"
echo ""
echo "======= ${count} extra files in DESTDIR ========="
echo "Files in DESTDIR but missing from flist."
echo "File is obsolete or flist is out of date ?"
if ${allowextra}; then
echo "This is non-fatal, due to '-e' option."
else
es=1
fi
echo "------------------------------------------"
cat "${SETS_DESTDIR_EXTRA}"
echo "========= end of ${count} extra files ==========="
echo ""
fi
}
check_destdir_missing()
{
if [ -s "${SETS_DESTDIR_MISSING}" ]; then
count="$(${AWK} 'END {print NR}' "${SETS_DESTDIR_MISSING}")"
echo ""
echo "====== ${count} missing files in DESTDIR ========"
echo "Files in flist but missing from DESTDIR."
echo "File wasn't installed ?"
if ${allowmissing}; then
echo "This is non-fatal, due to '-m' option."
else
es=1
fi
echo "------------------------------------------"
cat "${SETS_DESTDIR_MISSING}"
echo "======== end of ${count} missing files =========="
echo ""
fi
}
generate_dlist
generate_flist
generate_mlist
generate_mlist_missing
generate_mlist_extra
generate_dlist_missing
generate_dlist_extra
if false && [ -n "${metalog}" ]; then
# XXX: Temporarily disabled due to problems with obsolete files in metalog
compare_metalog
else
compare_destdir
fi
exit 0 # cleanup will exit with ${es}

470
distrib/sets/comments Normal file
View File

@ -0,0 +1,470 @@
minix-sys Minix Complete system
base-adosfs-root Root file system support for Amiga DOS file system support
base-amd-bin auto-mounter daemon
base-amd-examples example configuration files for the auto-mounter daemon and utilities
base-amd-shlib auto-mounter daemon shared library
base-audio-bin utilities for playing and recording audio
base-bind-bin the BIND DNS server
base-bind-examples example configuration files for BIND
base-bind-root root file system directories required by BIND
base-bootserver-bin software for booting diskless systems
base-c-bin utilities for the C programming language
base-c-usr /usr file system directories required by C programming language utilities
base-calendar-bin calendar(1) displays lines from the calendar database matching certain dates
base-calendar-share database of important dates for calendar(1)
base-cron-bin the cron daemon and related utilities
base-cron-root root file system directories required by the cron daemon
base-crypto-bin cryptographic utilities
base-crypto-examples example configuration files for cryptographic utilities
base-crypto-root root file system directories required by cryptographic utilities
base-crypto-shlib shared library providing cryptographic routines
base-cxx-usr /usr file system directories required by C++ programming language utilities
base-debug-bin debugging utilities
base-dhclient-root root file system support for DHCP client software
base-dhcpd-bin DHCP server
base-dhcpd-examples example configuration files for DHCP server
base-efs-root root file system support for efs file system
base-ext2fs-root root file system support for ext2fs file system
base-filecorefs-root root file system support for the Acorn FILECORE file system
base-fstab-examples various example file system tables
base-games-root root file system support for games
base-games-share shared data files for games
base-games-usr directories for the games subsystem
base-gnats-bin the GNATS bug reporting utility
base-gnats-share shared data files for the GNATS bug reporting utility
base-groff-font fonts for the groff family of text formatters
base-groff-share shared data files for the groff family of text formatters
base-hesiod-bin utilities for the HESIOD network information system
base-htmldoc-share HTML documentation
base-i18n-root directories for internationalisation support
base-i18n-shlib shared library modules for internationalisation support
base-ipf-bin IPfilter utilities
base-ipf-root directories for IPfilter
base-isdn-bin utilities and daemons for ISDN network connectivity
base-isdn-examples directories for the ISDN example files
base-kernel-modules loadable kernel modules
base-krb5-bin commands and utilities for the Kerberos V network authentication system
base-krb5-examples example configuration files for the Kerberos V network authentication system
base-krb5-root root file system support for the Kerberos V network authentication system
base-krb5-shlib root file system support for the Kerberos V network authentication system
base-libsaslc-examples example configuration files for the SASL C library
base-locale-Pig igPey atinLey ocaleley upportsey (Pig-Latin locale support)
base-locale-bin utilities for working with locales
base-locale-ca Catalan language locale support
base-locale-cs Czech language locale support
base-locale-da Danish language locale support
base-locale-de German language locale support
base-locale-el Greek language locale support
base-locale-en English language locale support
base-locale-eo Esperanto language locale support
base-locale-es Spanish language locale support
base-locale-et Estonian language locale support
base-locale-fi Finnish language locale support
base-locale-fr French language locale support
base-locale-gl Galician language locale support
base-locale-he Hebrew language locale support
base-locale-hr Croatian language locale support
base-locale-hu Hungarian language locale support
base-locale-id Indonesian language locale support
base-locale-is Icelandic language locale support
base-locale-it Italian language locale support
base-locale-ja Japanese language locale support
base-locale-ko Korean language locale support
base-locale-lt Lithuanian language locale support
base-locale-nl Dutch language locale support
base-locale-no Norwegian language locale support
base-locale-pl Polish language locale support
base-locale-pt Portuguese language locale support
base-locale-ru Russian language locale support
base-locale-share /usr/share file system support for all locales
base-locale-sk Slovak language locale support
base-locale-sl Slovenian language locale support
base-locale-sv Swedish language locale support
base-locale-tr Turkish language locale support
base-locale-uk Ukrainian language locale support
base-locale-zh Chinese language locale support
base-lpr-bin utilities for printing support
base-lpr-root root file system support for printing utilities
base-lpr-usr /usr file system support for printing
base-magic-share shared files for the file(1) utility
base-mail-bin mail utilities
base-mail-root root file system support for mail utilities
base-mailwrapper-bin the mailwrapper(8) program for multiple mailer support
base-man-bin utilities for reading online manual pages
base-man-share shared data files for the online manual pages
base-miscfs-examples example configuration files for miscellaneous file systems
base-miscfs-root root file system support for miscellaneous file systems
base-net-shlib shared libraries for network programming
base-netutil-bin networking utilities
base-netutil-examples example configuration files for networking programs
base-netutil-root root file system support for networking utilities
base-nfsclient-bin network file system client utilities
base-nfsclient-root root file system support for network file system client utilities
base-nfsserver-bin network file system server program
base-nis-bin progams and utilities for the NIS network information system
base-nis-root root file system support for the NIS network information system
base-ntfs-root root file system support for the Windows NT file system
base-ntp-bin utilities for network time protocol support
base-ntp-root basic directories for network time protocol support
base-objc-usr /usr file system support for the Objective C programming language
base-pf-bin utilities for the PF packet filter
base-pf-root directories for the PF packet filter
base-pkgutil-bin package system utilities
base-postfix-bin the Postfix mailer
base-postfix-examples example configuration files for the Postfix mailer
base-postfix-root root file system support for the Postfix mailer
base-postfix-usr /usr file system support for the Postfix mailer
base-ppp-bin utilities for the PPP point-to-point remote access protocol
base-psd-share directory structure for the Programmer's Supplementary Documentation
base-rcs-bin utilities for the RCS Revision Control System
base-reference-share directory structure for miscellaneous reference documents
base-rescue-root statically-linked binaries which can be used in extremis
base-router-bin network routing utilities
base-router-examples base directories for network routing utilities
base-router-root root file system support for network routing utilities
base-secsh-bin secure shell SSH client and server
base-sendmail-bin the sendmail(8) mailer
base-sendmail-root root file system support for the sendmail(8) mailer
base-sendmail-share shared data files for the sendmail(8) mailer
base-sendmail-usr /usr file system support for the sendmail(8) mailer
base-slip-bin the SLIP serial line internet protocol
base-slip-root root file system support for the SLIP remote access protocol
base-smbfs-root root file system support for the smbfs client SMB filesystem support
base-smm-share directory structure for the System Manager's Manual
base-sup-bin utilities for the SUP software update protocol
base-sup-examples example configuration files for the SUP software update protocol
base-sys-devlinks device node symbolic links
base-sys-examples example configuration files for kernel functionality
base-sys-root required root file system structure
base-sys-share required /usr/share file system structure
base-sys-shlib shared libraries for basic system functionality
base-sys-usr required /usr file system structure
base-sysutil-bin system utilities
base-sysutil-examples example configuration files for miscellaneous system utilities
base-sysutil-root root file system support for system utilities
base-sysutil-share shared data files for system utilities
base-sysutil_locale-share shared locale support for system utilities
base-termcap-share shared files for terminal capability database
base-texinfo-bin the GNU texinfo software
base-texinfo-share shared data files for the GNU texinfo software
base-texinfo_locale-cs Czech language support for the GNU texinfo software
base-texinfo_locale-da Danish language support for the GNU texinfo software
base-texinfo_locale-de German language support for the GNU texinfo software
base-texinfo_locale-eo Esperanto language support for the GNU texinfo software
base-texinfo_locale-fr French language support for the GNU texinfo software
base-texinfo_locale-he Hebrew language support for the GNU texinfo software
base-texinfo_locale-hr Croatian language support for the GNU texinfo software
base-texinfo_locale-ja Japanese language support for the GNU texinfo software
base-texinfo_locale-nl Dutch language support for the GNU texinfo software
base-texinfo_locale-no Norwegian language support for the GNU texinfo software
base-texinfo_locale-ru Russian language support for the GNU texinfo software
base-texinfo_locale-sv Swedish language support for the GNU texinfo software
base-texinfo_locale-tr Turkish language support for the GNU texinfo software
base-texinfo_locale-zh Chinese language support for the GNU texinfo software
base-timed-bin utilities for the timed(8) network time daemon
base-tn3270-bin utilities for connecting to IBM VM/CMS systems
base-usd-share directory structure for the User's Supplementary Documentation
base-util-bin standard utilities for use by users
base-util-root root file system support for standard user utilities
base-util-share shared data files for standard user utilities
base-util_locale-cs Czech language support for standard utilities
base-util_locale-de German language support for standard utilities
base-util_locale-el Greek language support for standard utilities
base-util_locale-eo Esperanto language support for standard utilities
base-util_locale-es Spanish language support for standard utilities
base-util_locale-et Estonian language support for standard utilities
base-util_locale-fr French language support for standard utilities
base-util_locale-gl Galician language support for standard utilities
base-util_locale-hr Croatian language support for standard utilities
base-util_locale-id Indonesian language support for standard utilities
base-util_locale-it Italian language support for standard utilities
base-util_locale-ja Japanese language support for standard utilities
base-util_locale-sv Swedish language support for standard utilities
comp-c-bin compilers and tools for the C programming language
comp-c-catman formatted manual pages
comp-c-include header files for the C programming language
comp-c-lib static libraries and shared library links for the C programming language
comp-c-lintlib data files for the lint(1) syntax checker
comp-c-man manual pages source
comp-c-piclib PIC libraries for C language shared library generation
comp-c-proflib profiling libraries for the C programming language
comp-c-root root file system symlinks for software development
comp-c-share reference files for C language programmers
comp-c-shlib shared libraries for binary file utilities and machine opcodes
comp-c_locale-da Danish language locale support for development utilities
comp-c_locale-de German language locale support for development utilities
comp-c_locale-es Spanish language locale support for development utilities
comp-c_locale-fr French language locale support for development utilities
comp-c_locale-ko Korean language locale support for development utilities
comp-c_locale-nl Dutch language locale support for development utilities
comp-c_locale-no Norwegian language locale support for development utilities
comp-c_locale-pl Polish language locale support for development utilities
comp-c_locale-pt Portuguese language locale support for development utilities
comp-c_locale-sl Slovenian language locale support for development utilities
comp-c_locale-sv Swedish language locale support for development utilities
comp-cvs-bin utilities for CVS (Concurrent Version System)
comp-cvs-catman formatted manual pages for the CVS version control system
comp-cvs-man manual page source for the CVS version control system
comp-cxx-bin compilers and tools for the C++ programming language
comp-cxx-catman formatted manual pages for the C++ programming language
comp-cxx-include header files for the C++ programming language
comp-cxx-lib static libraries and shared library links for the C++ programming language
comp-cxx-man manual pages source for the C++ programming language
comp-cxx-piclib PIC libraries for C++ language shared library generation
comp-cxx-proflib profiling libraries for the C++ programming language
comp-debug-bin utilities for source code debugging
comp-debug-catman formatted manual pages for debugging utilities
comp-debug-man manual pages source for debugging utilities
comp-debug-sbin utilities for kernel debugging
comp-fortran-bin compilers and tools for the FORTRAN programming language
comp-fortran-catman formatted manual pages for the FORTRAN programming language
comp-fortran-lib static libraries and shared library links for the FORTRAN programming language
comp-fortran-man manual pages source for the FORTRAN programming language
comp-fortran-piclib PIC libraries for the FORTRAN language shared library generation
comp-fortran-proflib profiling libraries for the FOTRAN programming language
comp-fortran-shlib shared libraries for the FORTRAN programming language
comp-i18n-lib static libraries and shared library links for compiling applications with internationalisation support
comp-ipf-include header files for the IPfilter C API
comp-krb5-catman formatted manual pages for Kerberos V support
comp-krb5-include header files for Kerberos V support
comp-krb5-lib libraries to support Kerberos V compilation
comp-krb5-man source manual pages for Kerberos V support
comp-krb5-proflib profiling libraries for Kerberos V support
comp-krb5c-catman pre-formatted manual pages for Kerberos V C support
comp-objc-bin compilers and tools for the Objective C programming language
comp-objc-lib static libraries and shared library links for the Objective C programming language
comp-objc-piclib PIC libraries for Objective C language shared library generation
comp-objc-proflib profiling libraries for the Objective C programming language
comp-sys-catman formatted manual pages for kernel programming
comp-sys-man manual pages source for kernel programming
comp-sys-shlib shared library support for basic i386 math and utility libs
comp-sysutil-catman formatted manual pages for system utilities
comp-sysutil-man manual pages source for system utilities
comp-sysutil-root manual pages source for system utilities
comp-sysutil-sbin system utilities
comp-util-bin programming utilities
comp-util-catman formatted manual pages for programming utilities
comp-util-man manual pages source for programming utilities
comp-util-sbin system development utilities
comp-util-share reference files for programming utilities
etc-amd-rc startup script for auto-mounter daemon
etc-audio-rc startup script for audio mixer control utility
etc-bind-etc configuration files for BIND DNS server
etc-bind-rc startup script for BIND DNS server
etc-bootserver-etc configuration files for diskless boot server utilities
etc-bootserver-rc startup script for diskless boot server utilities
etc-cron-log empty log file for cron(8)
etc-cron-rc startup script for cron(8) command scheduler
etc-cron-root root file system support for cron(8) command scheduler
etc-dhclient-etc configuration files for DHCP dyanamic host configuration protocol client utilities
etc-dhclient-rc startup script for DHCP dynamic host configuration protocol client
etc-dhcpd-rc startup script for DHCP dynamic host configuration protocol daemon
etc-extsrc-rc startup scripts for externally added programs
etc-games-etc configuration file for games
etc-games-scores empty score files for games
etc-ipf-rc startup scripts for IP filter
etc-isdn-rc startup script for ISDN (Integrated Services Digital Network) network connectivity utilities
etc-krb5-rc startup script for the Kerberos V authentication service
etc-libsaslc-etc configuration file for the SASL C library
etc-libsaslc-postfix configuration file for postfix SASL
etc-lpr-etc configuration file for printing services
etc-lpr-log empty log file for printing services
etc-lpr-rc startup script for printing services
etc-mail-etc configuration file for mail utilities
etc-mailwrapper-etc configuration files for the mailwrapper(8) program for multiple mailer support
etc-man-etc configuration files for the online manual pages
etc-net-etc configuration files for networking
etc-net-rc startup files for networking
etc-netutil-etc configuration files for network utilities
etc-netutil-log empty log files for networking utilities
etc-nfsserver-rc startup script for NFS network file system server utilities
etc-nis-rc startup script for the NIS network information system
etc-nis-root root file system support for the NIS network file system
etc-ntp-etc configuration files for the ntpd(8) Network Time Protocol server
etc-ntp-rc startup script for the ntpd(8) Network Time Protocol server
etc-pf-defaults default configuration files for the PF packet filter
etc-pf-etc configuration files for the PF packet filter
etc-postfix-etc configuration file for the postfix mailer program
etc-postfix-rc startup script for the postfix mailer program
etc-ppp-rc startup script for the PPP point-to-point connection protocol
etc-root-root login configuration files for the user root
etc-router-etc configuration files for network routing
etc-router-rc startup scripts for routing services
etc-secsh-etc configuration file for SSH secure remote shell utility
etc-secsh-rc startup script for SSH secure remote shell utility
etc-sendmail-etc configuration files for the sendmail(8) mailer
etc-sendmail-log empty log files for the sendmail(8) mailer
etc-sendmail-rc startup script for the sendmail(8) mailer
etc-sys-defaults default system startup configuration files
etc-sys-etc system software configuration files
etc-sys-log empty system log files
etc-sys-rc standard system startup scripts
etc-sys-root required root file system structure for system software
etc-sysutil-etc configuration files for miscellaneous system utilities
etc-sysutil-log empty log files for miscellaneous system utilities
etc-sysutil-rc startup scripts for miscellaneous system utilities
etc-timed-rc startup script for the timed(8) network time daemon
etc-util-etc configuration file for standard system utilities
etc-x11-rc startup scripts for the X11 X Window System
games-games-bin command line games
games-games-catman formatted manual pages for command-line games
games-games-man manual pages source for command-line games
games-games-root data and score files for command line games
games-games-share shared data files for command-line games
games-utils-bin miscellaneous utilities from /usr/games
games-utils-catman formatted manual pages for miscellaneous utilities from /usr/games
games-utils-man manual pages source for miscellaneous utilities from /usr/games
games-utils-share shared data files for miscellaneous utilities from /usr/games
man-adosfs-catman formatted manual pages for AmigaDOS file system support
man-adosfs-man manual pages source for AmigaDOS file system support
man-amd-catman formatted manual pages for the amd(8) auto-mounting daemon
man-amd-info texinfo documentation for the amd(8) auto-mounting daemon
man-amd-man manual pages source for the amd(8) auto-mounting daemon
man-audio-catman formatted manual pages for utilities for playing and recording audio
man-audio-man manual pages source for utilities for playing and recording audio
man-bind-catman formatted manual pages for the bind(8) domain name server daemon
man-bind-man manual pages source for the bind(8) domain name server daemon
man-bootserver-catman formatted manual pages for utilities to support remote booting of diskless workstations
man-bootserver-man manual pages source for utilities to support remote booting of diskless workstations
man-c-catman formatted manual pages for the C programming language
man-c-info the GNU texinfo software
man-c-man manual pages source for the C programming language
man-computil-info texinfo documentation for compiler utilities
man-cron-catman formatted manual pages for the cron(8) command scheduler
man-cron-man manual pages source for the cron(8) command scheduler
man-crypto-catman formatted manual pages for cryptographic utilities
man-crypto-man manual pages source for cryptographic utilities
man-cvs-info texinfo documentation for the CVS version control system
man-cxx-info texinfo documentation for the C++ programming language
man-debug-catman formatted manual pages for debugging utilities
man-debug-info texinfo documentation for debugging utilities
man-debug-man manual pages source for debugging utilities
man-dhclient-catman formatted manual pages for DHCP (dynamic host configuration protocol) client utilities
man-dhclient-man manual pages source for DHCP (dynamic host configuration protocol) client utilities
man-dhcpd-catman formatted manual pages for DHCP (dynamic host configuration protocol) server utilities
man-dhcpd-man manual pages source for DHCP (dynamic host configuration protocol) server utilities
man-efs-catman formatted manual pages for the Silicon Graphics efs file system support
man-efs-man manual pages source for the Silicon Graphics efs file system support
man-ext2fs-catman formatted manual pages for the Linux ext2fx file system support
man-ext2fs-man manual pages source for the Linux ext2fx file system support
man-filecorefs-catman formatted manual pages Acorn FileCore file system support
man-filecorefs-man manual pages source Acorn FileCore file system support
man-fortran-info texinfo documentation for the FORTRAN programming language
man-games-catman formatted man pages for games
man-games-man manual pages source for games
man-gnats-catman formatted manual pages for the GNATS bug reported system
man-gnats-info texinfo documentation for the GNATS bug reported system
man-gnats-man manual pages source for the GNATS bug reported system
man-groff-catman formatted manual pages for the groff documentation formatting utility
man-groff-man manual pages source for the groff documentation formatting utility
man-hesiod-catman formatted manual pages for the HESIOD network information system
man-hesiod-man manual pages source for the HESIOD network information system
man-info-share required file system structure for GNU texinfo documentation
man-ipf-catman formatted manual pages for the IPfilter packet filtering software
man-ipf-man manual pages source for the IPfilter packet filtering software
man-isdn-catman formatted manual pages for ISDN (Integrated Services Data Networking) support
man-isdn-man manual pages source for ISDN (Integrated Services Data Networking) support
man-krb5-catman formatted manual pages for the Kerberos V network authentication system
man-krb5-info the GNU texinfo software
man-krb5-man manual pages source for the Kerberos V network authentication system
man-locale-catman formatted manual pages for locale support utilities
man-locale-man manual pages source for locale support utilities
man-lpr-catman formatted manual pages for printing support
man-lpr-man manual pages source for printing support
man-mail-catman formatted manual pages for mail utilities
man-mail-man manual pages source for mail utilities
man-mailwrapper-catman formatted manual pages for the mailwrapper(8) program for multiple mailer support
man-mailwrapper-man manual pages source for the mailwrapper(8) program for multiple mailer support
man-man-catman formatted manual pages for the utilities for viewing the online manual
man-man-man manual pages source for the utilities for viewing the online manual
man-miscfs-catman the GNU texinfo software
man-miscfs-man manual pages sources for miscellaneous file system support
man-net-catman formatted manual pages for networking support
man-net-man manual pages source for networking support
man-netutil-catman formatted manual pages for networking utilities
man-netutil-man manual pages source for networking utilities
man-nfsclient-catman formatted manual pages for NFS (network file system) client utilities
man-nfsclient-man manual pages source for NFS (network file system) client utilities
man-nfsserver-catman formatted manual pages for NFS (network file system) server utilities
man-nfsserver-man manual pages source for NFS (network file system) server utilities
man-nis-catman formatted manual pages for the NIS network information system utilities
man-nis-man manual pages source for the NIS network information system utilities
man-ntfs-catman formatted manual pages for the Windows NT file system support
man-ntfs-man manual pages source for the Windows NT file system support
man-ntp-catman formatted manual pages for the network time protocol utilities
man-ntp-man manual pages source for the network time protocol utilities
man-pf-catman formatted manual pages for the PF packet filter
man-pf-man manual page source for the PF packet filter
man-pkgutil-catman formatted manual pages for the package system utilities
man-pkgutil-man manual pages source for the package system utilities
man-postfix-catman formatted manual pages for the postfix mailer
man-postfix-man manual pages source for the postfix mailer
man-ppp-catman formatted manual pages for the ppp point-to-point connection protocol
man-ppp-man manual pages source for the ppp point-to-point connection protocol
man-rc-catman formatted manual pages for system startup scripts
man-rc-man manual pages source for system startup scripts
man-rcs-catman formatted manual pages for the rcs(1) revision control system
man-rcs-man manual pages source for the rcs(1) revision control system
man-reference-catman formatted manual pages for miscellaneous system- and non-system-related reference documents
man-reference-man manual pages source for miscellaneous system- and non-system-related reference documents
man-router-catman formatted manual pages for routing utilities
man-router-man manual pages source for routing utilities
man-secsh-catman formatted manual pages for the ssh(1) remote secure shell connection utility
man-secsh-man manual pages source for the ssh(1) remote secure shell connection utility
man-sendmail-catman formatted manual pages for the sendmail(8) mailer
man-sendmail-man manual pages source for the sendmail(8) mailer
man-shlib-catman formatted manual pages for shared library support
man-shlib-man manual pages source for shared library support
man-slip-catman formatted manual pages for SLIP (serial line IP) remote access protocol
man-slip-man manual pages source for SLIP (serial line IP) remote access protocol
man-smbfs-catman formatted manual pages for SMB filesystem
man-smbfs-man source manual pages for SMB filesystem
man-sup-catman formatted manual pages for the sup(8) software update protocol
man-sup-man manual pages source for the sup(8) software update protocol
man-sys-catman formatted manual pages for base operating system functionality
man-sys-info the GNU texinfo software
man-sys-man manual pages source for base operating system functionality
man-sysutil-catman formatted manual pages for system utilities
man-sysutil-man manual pages source for system utilities
man-texinfo-catman formatted manual pages for texinfo utilities
man-texinfo-info texinfo documentation for texinfo utilities
man-texinfo-man source manual pages for texinfo utilities
man-timed-catman formatted manual pages for the timed(8) network time daemon
man-timed-man manual pages source for the timed(8) network time daemon
man-tn3270-catman formatted manual pages for utilities for connecting to IBM VM/CMS systems
man-tn3270-man manual pages source for utilities for connecting to IBM VM/CMS systems
man-util-catman formatted manual pages for basic user utilities
man-util-info the GNU texinfo software
man-util-man manual pages source for basic user utilities
misc-amd-examples example configuration files for automatically mount file systems
misc-bind-examples example configuration files for bind
misc-bind-htmldoc HTML documentation for bind
misc-crypto-examples example configuration files for cryptographic software
misc-dhcpd-examples example configuration files for dhcpd(8)
misc-fstab-examples example configuration files for file system tables
misc-ipf-examples example configuration files for IPfilter
misc-isdn-examples example configuration files for isdn
misc-krb5-examples example configuration files for Kerberos5
misc-libsaslc-examples example configuration files for libsaslc
misc-netutil-examples example configuration files for network software
misc-ntp-htmldoc HTML documentation for ntp(8) software
misc-pf-examples
misc-postfix-examples example configuration files for postfix
misc-postfix-htmldoc HTML documentation for postfix
misc-psd-doc the Programmer's Supplementary Documentation for BSD
misc-reference-share miscellaneous reference documents
misc-router-examples example configuration files for routing daemons
misc-sendmail-share m4 templates for sendmail configuration
misc-smm-doc the System Manager's Manual for BSD
misc-sup-examples example configuration files for sup(8)
misc-sys-examples example configuration files for kernel functionality
misc-sysutil-examples example configuration files for system utilities
misc-usd-doc the User's Supplementary Documents for BSD
misc-util-htmldoc HTML documentation for miscellaneous utilities
text-groff-bin the groff family of text formatters (nroff, troff, groff, and related utilities)
text-groff-catman formatted manual pages for the groff family of text formatters
text-groff-font fonts for the groff family of text formatters
text-groff-man manual page source for the groff family of text formatters
text-groff-share macros and data files for the groff family of text formatters
text-texinfo-bin the GNU texinfo software
text-texinfo-share shared files for the GNU texinfo software

84
distrib/sets/culldeps Executable file
View File

@ -0,0 +1,84 @@
#!/bin/sh
#
# culldeps
#
# Filter redundant dependencies.
#
# Each line of input and output contains two syspkg names,
# where the first syspkg depends on the second syspkg.
#
# Emit all the dependencies on the standard input to the standard
# output EXCEPT the dependencies which can be derived from other
# dependencies by the transitive rule. For example, omit both A C
# and A D from
#
# A B
# B C
# C D
# A C
# A D
#
# because A C can be derived from A B and B C by transitivity,
# and A D can be derived from A B, B C, C D by transitivity.
#
prog="${0##*/}"
rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
. "${rundir}/sets.subr"
SCRATCH="$(${MKTEMP} -d "/var/tmp/${prog}.XXXXXX")"
NEXTLEFTOVERS="${SCRATCH}/leftovers0"
LASTJOIN="${SCRATCH}/join0"
NEXTJOIN="${SCRATCH}/join1"
TAB=" "
${SORT} -k 1 > "${LASTJOIN}"
LEFTOVERS="${LASTJOIN}"
while [ "$(${WC} -l "${LASTJOIN}" | ${AWK} '{ print $1; }')" -ne 0 ]; do
#
# From dependencies X-requires-Y in ${LEFTOVERS} and Y-requires-Z in
# ${LASTJOIN}, produce dependencies X-requires-Z and write them to
# ${NEXTJOIN}.
#
${SORT} -k 2 < "${LEFTOVERS}" | \
${JOIN} -1 2 -2 1 -o '1.1 2.2' - "${LASTJOIN}" | \
${SORT} -u > "${NEXTJOIN}"
if [ ${DEBUG:-0} -gt 0 ]; then
echo >&2 "${prog}: ### begin filtered results ###"
${JOIN} -t "${TAB}" "${NEXTJOIN}" "${LEFTOVERS}" | ${SORT} 1>&2
echo >&2 "${prog}: ### end filtered results ###"
fi
#
# Filter out of ${LEFTOVERS} all of the dependencies X-requires-Z, which
# were produced in the previous step. Write the new leftovers to
# ${NEXTLEFTOVERS}.
#
${JOIN} -v 2 -t "${TAB}" "${NEXTJOIN}" "${LEFTOVERS}" | \
${SORT} -u > "${NEXTLEFTOVERS}"
#
# Swap output files before repeating.
#
LASTJOIN="${NEXTJOIN}"
if [ "$(basename "${NEXTJOIN}")" = join0 ]; then
NEXTJOIN="${SCRATCH}/join1"
else
NEXTJOIN="${SCRATCH}/join0"
fi
LEFTOVERS="${NEXTLEFTOVERS}"
if [ "$(basename "${NEXTLEFTOVERS}")" = leftovers0 ]; then
NEXTLEFTOVERS="${SCRATCH}/leftovers1"
else
NEXTLEFTOVERS="${SCRATCH}/leftovers0"
fi
done
#
# Output all of the dependencies that were not culled and clean up.
#
cat "${LEFTOVERS}"
rm -r "${SCRATCH}"

496
distrib/sets/deps Normal file
View File

@ -0,0 +1,496 @@
base-adosfs-root base-sys-root
base-amd-bin base-sys-usr
base-amd-examples base-sys-share
base-amd-shlib base-sys-usr
base-audio-bin base-sys-usr
base-bind-bin base-sys-usr
base-bind-root base-sys-root
base-bootserver-bin base-sys-usr
base-c-bin base-sys-usr
base-c-usr base-sys-usr
base-calendar-bin base-sys-usr
base-calendar-share base-sys-share
base-cron-bin base-sys-usr
base-cron-root base-sys-root
base-crypto-bin base-sys-usr
base-crypto-examples base-sys-share
base-crypto-root base-sys-root
base-crypto-shlib base-sys-usr
base-cxx-usr base-c-usr
base-debug-bin base-sys-usr
base-dhclient-root base-sys-root
base-dhcpd-bin base-sys-share
base-dhcpd-bin base-sys-usr
base-dhcpd-examples base-sys-share
base-efs-root base-sys-root
base-ext2fs-root base-sys-root
base-filecorefs-root base-sys-root
base-fstab-examples base-sys-share
base-games-root base-sys-root
base-games-share base-sys-share
base-games-usr base-sys-usr
base-gnats-bin base-sys-usr
base-gnats-share base-sys-share
base-groff-font base-sys-share
base-groff-share base-termcap-share
base-hesiod-bin base-sys-usr
base-htmldoc-share base-sys-share
base-i18n-root base-sys-usr
base-i18n-shlib base-i18n-root
base-isdn-bin base-sys-usr
base-isdn-examples base-sys-share
base-krb5-bin base-sys-usr
base-krb5-examples base-sys-share
base-krb5-root base-sys-root
base-krb5-shlib base-sys-usr
base-libsaslc-examples base-sys-share
base-locale-Pig base-locale-share
base-locale-bg base-locale-share
base-locale-bin base-sys-usr
base-locale-ca base-locale-share
base-locale-cs base-locale-share
base-locale-da base-locale-share
base-locale-de base-locale-share
base-locale-el base-locale-share
base-locale-en base-locale-share
base-locale-eo base-locale-share
base-locale-es base-locale-share
base-locale-et base-locale-share
base-locale-fi base-locale-share
base-locale-fr base-locale-share
base-locale-gl base-locale-share
base-locale-he base-locale-share
base-locale-hr base-locale-share
base-locale-hu base-locale-share
base-locale-hy base-locale-share
base-locale-id base-locale-share
base-locale-is base-locale-share
base-locale-it base-locale-share
base-locale-ja base-locale-share
base-locale-ko base-locale-share
base-locale-lt base-locale-share
base-locale-nb base-locale-share
base-locale-nl base-locale-share
base-locale-no base-locale-share
base-locale-pl base-locale-share
base-locale-pt base-locale-share
base-locale-ro base-locale-share
base-locale-ru base-locale-share
base-locale-share base-sys-share
base-locale-sk base-locale-share
base-locale-sl base-locale-share
base-locale-sv base-locale-share
base-locale-tr base-locale-share
base-locale-uk base-locale-share
base-locale-zh base-locale-share
base-lpr-bin base-lpr-usr
base-lpr-root base-sys-root
base-lpr-usr base-sys-usr
base-magic-share base-termcap-share
base-mail-bin base-sys-usr
base-mail-root base-sys-root
base-mailwrapper-bin base-sys-usr
base-man-bin base-sys-usr
base-man-share base-sys-share
base-miscfs-examples base-sys-share
base-miscfs-root base-sys-root
base-net-shlib base-sys-usr
base-netutil-bin base-sys-usr
base-netutil-examples base-sys-share
base-netutil-root base-sys-usr
base-nfsclient-bin base-sys-usr
base-nfsclient-root base-sys-root
base-nfsserver-bin base-sys-usr
base-nis-bin base-sys-usr
base-nis-root base-sys-root
base-ntfs-root base-sys-root
base-ntp-bin base-sys-usr
base-ntp-root base-sys-root
base-objc-usr base-c-usr
base-pkgutil-bin base-sys-usr
base-postfix-bin base-postfix-usr
base-postfix-examples base-sys-share
base-postfix-root base-sys-root
base-postfix-usr base-sys-usr
base-ppp-bin base-sys-usr
base-psd-share base-sys-share
base-rcs-bin base-sys-usr
base-reference-share base-termcap-share
base-rescue-root base-sys-root
base-router-bin base-sys-usr
base-router-examples base-sys-share
base-router-root base-sys-root
base-rpcbind-bin base-sys-usr
base-rpcserver-bin base-sys-usr
base-rpcutil-bin base-sys-usr
base-secsh-bin base-sys-usr
base-secsh-shlib base-sys-usr
base-sendmail-bin base-sys-usr
base-sendmail-root base-sys-root
base-sendmail-share base-sys-share
base-sendmail-usr base-c-usr
base-slip-bin base-sys-usr
base-slip-root base-sys-root
base-smbfs-root base-sys-root
base-smm-share base-sys-share
base-sup-bin base-sys-usr
base-sup-examples base-sys-share
base-sys-examples base-sys-share
base-sys-share base-sys-root
base-sys-shlib base-sys-usr
base-sys-usr base-sys-root
base-sysutil-bin base-sys-usr
base-sysutil-examples base-sys-share
base-sysutil-root base-sys-usr
base-sysutil-share base-sys-share
base-termcap-share base-sys-share
base-texinfo-bin base-sys-usr
base-texinfo-share base-sys-share
base-texinfo_locale-cs base-locale-cs
base-texinfo_locale-da base-locale-da
base-texinfo_locale-de base-locale-de
base-texinfo_locale-eo base-locale-eo
base-texinfo_locale-fr base-locale-fr
base-texinfo_locale-he base-locale-he
base-texinfo_locale-hr base-locale-hr
base-texinfo_locale-ja base-locale-ja
base-texinfo_locale-nb base-locale-nb
base-texinfo_locale-nl base-locale-nl
base-texinfo_locale-no base-locale-no
base-texinfo_locale-pl base-locale-pl
base-texinfo_locale-ro base-locale-ro
base-texinfo_locale-ru base-locale-ru
base-texinfo_locale-sv base-locale-sv
base-texinfo_locale-tr base-locale-tr
base-texinfo_locale-zh base-locale-zh
base-timed-bin base-sys-usr
base-tn3270-bin base-sys-usr
base-usd-share base-sys-share
base-util-bin base-sys-usr
base-util-root base-sys-root
base-util-share base-sys-share
base-util_locale-cs base-locale-cs
base-util_locale-de base-locale-de
base-util_locale-el base-locale-el
base-util_locale-eo base-locale-eo
base-util_locale-es base-locale-es
base-util_locale-et base-locale-et
base-util_locale-fr base-locale-fr
base-util_locale-gl base-locale-gl
base-util_locale-hr base-locale-hr
base-util_locale-id base-locale-id
base-util_locale-it base-locale-it
base-util_locale-ja base-locale-ja
base-util_locale-sv base-locale-sv
base-x11-root base-sys-root
comp-c-bin base-sys-usr
comp-c-catman base-man-share
comp-c-include base-objc-usr
comp-c-lib base-sys-usr
comp-c-lintlib base-c-usr
comp-c-man base-man-share
comp-c-piclib base-sys-usr
comp-c-proflib base-sys-usr
comp-c-root base-sys-root
comp-c-share base-termcap-share
comp-c-shlib base-sys-usr
comp-c_locale-be base-locale-share
comp-c_locale-ca base-locale-ca
comp-c_locale-cs base-locale-cs
comp-c_locale-da base-locale-da
comp-c_locale-de base-locale-de
comp-c_locale-el base-locale-el
comp-c_locale-en@boldquot base-locale-share
comp-c_locale-en@quot base-locale-share
comp-c_locale-es base-locale-es
comp-c_locale-et base-locale-et
comp-c_locale-fi base-locale-share
comp-c_locale-fr base-locale-fr
comp-c_locale-gl base-locale-gl
comp-c_locale-id base-locale-id
comp-c_locale-it base-locale-it
comp-c_locale-ja base-locale-ja
comp-c_locale-ko base-locale-ko
comp-c_locale-nl base-locale-nl
comp-c_locale-nn base-locale-share
comp-c_locale-no base-locale-no
comp-c_locale-pl base-locale-pl
comp-c_locale-pr base-locale-pt
comp-c_locale-pt_BR base-locale-pt
comp-c_locale-ro base-locale-ro
comp-c_locale-ru base-locale-ru
comp-c_locale-sk base-locale-sk
comp-c_locale-sl base-locale-sl
comp-c_locale-sr base-locale-share
comp-c_locale-sv base-locale-sv
comp-c_locale-tr base-locale-tr
comp-c_locale-uk base-locale-share
comp-c_locale-zh_CN base-locale-zh
comp-c_locale-zh_TW base-locale-zh
comp-cvs-bin base-sys-usr
comp-cvs-catman base-man-share
comp-cvs-man base-man-share
comp-cxx-bin base-sys-usr
comp-cxx-catman base-man-share
comp-cxx-include base-cxx-usr
comp-cxx-lib base-sys-usr
comp-cxx-man base-man-share
comp-cxx-piclib base-sys-usr
comp-cxx-proflib base-sys-usr
comp-debug-bin base-sys-usr
comp-debug-catman base-man-share
comp-debug-man base-man-share
comp-debug-sbin base-sys-usr
comp-fortran-bin base-sys-usr
comp-fortran-catman base-man-share
comp-fortran-lib base-sys-usr
comp-fortran-man base-man-share
comp-fortran-proflib base-sys-usr
comp-i18n-lib base-i18n-root
comp-krb5-catman base-man-share
comp-krb5-include base-c-usr
comp-krb5-lib base-sys-usr
comp-krb5-man base-man-share
comp-krb5-proflib base-sys-usr
comp-krb5c-catman base-man-share
comp-objc-bin base-sys-usr
comp-objc-lib base-sys-usr
comp-objc-piclib base-sys-usr
comp-objc-proflib base-sys-usr
comp-sendmail-include base-sendmail-usr
comp-sendmail-lib base-sys-usr
comp-sendmail-lintlib base-c-usr
comp-sys-catman base-man-share
comp-sys-man base-man-share
comp-sys-root base-sys-root
comp-sysutil-catman base-man-share
comp-sysutil-man base-man-share
comp-util-bin base-sys-usr
comp-util-catman base-man-share
comp-util-man base-man-share
comp-util-sbin base-sys-usr
comp-util-share base-termcap-share
comp-util-share base-util-share
etc-amd-rc base-sys-root
etc-audio-rc base-sys-root
etc-bind-etc base-bind-root
etc-bind-rc base-sys-root
etc-bootserver-etc base-sys-root
etc-bootserver-rc base-sys-root
etc-cron-log base-sys-root
etc-cron-rc base-sys-root
etc-cron-root base-cron-root
etc-dhclient-rc base-sys-root
etc-dhcpd-rc base-sys-root
etc-games-etc base-sys-root
etc-games-scores base-games-root
etc-ipf-rc base-sys-root
etc-isdn-rc base-sys-root
etc-krb5-rc base-sys-root
etc-libsaslc-etc base-sys-root
etc-libsaslc-postfix base-sys-root
etc-lpr-etc base-sys-root
etc-lpr-log base-sys-root
etc-lpr-rc base-sys-root
etc-mail-etc base-sys-root
etc-mailwrapper-etc base-sys-root
etc-man-etc base-sys-root
etc-net-etc base-sys-root
etc-net-rc base-sys-root
etc-netutil-etc base-sys-root
etc-netutil-log base-sys-root
etc-nfsserver-rc base-sys-root
etc-nis-rc base-sys-root
etc-nis-root base-nis-root
etc-ntp-etc base-sys-root
etc-ntp-rc base-sys-root
etc-postfix-etc base-postfix-bin
etc-postfix-rc base-sys-root
etc-ppp-rc base-sys-root
etc-root-root base-sys-root
etc-router-etc base-sys-root
etc-router-rc base-sys-root
etc-rpcbind-rc base-sys-root
etc-secsh-etc base-sys-root
etc-secsh-rc base-sys-root
etc-sendmail-etc base-sendmail-root
etc-sendmail-log base-sys-root
etc-sendmail-rc base-sys-root
etc-sys-defaults base-sys-root
etc-sys-etc base-sys-root
etc-sys-log base-sys-root
etc-sys-rc base-sys-root
etc-sys-root base-sys-root
etc-sysutil-etc base-sysutil-bin
etc-sysutil-log base-util-root
etc-sysutil-rc base-sys-root
etc-timed-rc base-sys-root
etc-util-etc base-sys-root
etc-x11-rc base-sys-root
games-games-bin base-games-usr
games-games-catman base-man-share
games-games-man base-man-share
games-games-root base-games-root
games-games-share base-games-share
games-sys-root base-sys-root
games-usd-doc base-usd-share
games-utils-bin base-games-usr
games-utils-catman base-man-share
games-utils-man base-man-share
games-utils-share base-games-share
man-adosfs-catman base-man-share
man-adosfs-man base-man-share
man-amd-catman base-man-share
man-amd-info base-texinfo-share
man-amd-man base-man-share
man-audio-catman base-man-share
man-audio-man base-man-share
man-bind-catman base-man-share
man-bind-man base-man-share
man-bootserver-catman base-man-share
man-bootserver-man base-man-share
man-c-catman base-man-share
man-c-info base-texinfo-share
man-c-man base-man-share
man-computil-info base-texinfo-share
man-cron-catman base-man-share
man-cron-man base-man-share
man-crypto-catman base-man-share
man-crypto-man base-man-share
man-cvs-info base-texinfo-share
man-debug-catman base-man-share
man-debug-info base-texinfo-share
man-debug-man base-man-share
man-dhclient-catman base-man-share
man-dhclient-man base-man-share
man-dhcpd-catman base-man-share
man-dhcpd-man base-man-share
man-efs-catman base-man-share
man-efs-man base-man-share
man-ext2fs-catman base-man-share
man-ext2fs-man base-man-share
man-filecorefs-catman base-man-share
man-filecorefs-man base-man-share
man-fortran-info base-texinfo-share
man-gnats-catman base-man-share
man-gnats-info base-texinfo-share
man-gnats-man base-man-share
man-groff-catman base-man-share
man-groff-info base-texinfo-share
man-groff-man base-man-share
man-hesiod-catman base-man-share
man-hesiod-man base-man-share
man-info-share base-texinfo-share
man-ipf-catman base-man-share
man-ipf-man base-man-share
man-isdn-catman base-man-share
man-isdn-man base-man-share
man-krb5-catman base-man-share
man-krb5-info base-texinfo-share
man-krb5-man base-man-share
man-locale-catman base-man-share
man-locale-man base-man-share
man-lpr-catman base-man-share
man-lpr-man base-man-share
man-mail-catman base-man-share
man-mail-man base-man-share
man-mailwrapper-catman base-man-share
man-mailwrapper-man base-man-share
man-man-catman base-man-share
man-man-man base-man-share
man-miscfs-catman base-man-share
man-miscfs-man base-man-share
man-net-catman base-man-share
man-net-man base-man-share
man-netutil-catman base-man-share
man-netutil-man base-man-share
man-nfsclient-catman base-man-share
man-nfsclient-man base-man-share
man-nfsserver-catman base-man-share
man-nfsserver-man base-man-share
man-nis-catman base-man-share
man-nis-man base-man-share
man-ntfs-catman base-man-share
man-ntfs-man base-man-share
man-ntp-catman base-man-share
man-ntp-man base-man-share
man-pkgutil-catman base-man-share
man-pkgutil-man base-man-share
man-postfix-catman base-man-share
man-postfix-man base-man-share
man-ppp-catman base-man-share
man-ppp-man base-man-share
man-rc-catman base-man-share
man-rc-man base-man-share
man-rcs-catman base-man-share
man-rcs-man base-man-share
man-reference-catman base-man-share
man-reference-man base-man-share
man-router-catman base-man-share
man-router-man base-man-share
man-rpcserver-catman base-man-share
man-rpcserver-man base-man-share
man-rpcutil-catman base-man-share
man-rpcutil-man base-man-share
man-secsh-catman base-man-share
man-secsh-man base-man-share
man-sendmail-catman base-man-share
man-sendmail-man base-man-share
man-shlib-catman base-man-share
man-shlib-man base-man-share
man-slip-catman base-man-share
man-slip-man base-man-share
man-smbfs-catman base-man-share
man-smbfs-man base-man-share
man-sup-catman base-man-share
man-sup-man base-man-share
man-sys-cat base-man-share
man-sys-catman base-man-share
man-sys-info base-texinfo-share
man-sys-man base-man-share
man-sys-root base-sys-root
man-sysutil-catman base-man-share
man-sysutil-man base-man-share
man-texinfo-catman base-man-share
man-texinfo-info base-texinfo-share
man-texinfo-man base-man-share
man-timed-catman base-man-share
man-timed-man base-man-share
man-tn3270-catman base-man-share
man-tn3270-man base-man-share
man-util-catman base-man-share
man-util-info base-texinfo-share
man-util-man base-man-share
misc-amd-examples base-amd-examples
misc-amd-examples base-sys-examples
misc-bind-htmldoc base-htmldoc-share
misc-crypto-examples base-crypto-examples
misc-dhcpd-examples base-dhcpd-examples
misc-fstab-examples base-fstab-examples
misc-isdn-examples base-isdn-examples
misc-krb5-examples base-krb5-examples
misc-libsaslc-examples base-libsaslc-examples
misc-netutil-examples base-netutil-examples
misc-ntp-htmldoc base-man-share
misc-postfix-examples base-postfix-examples
misc-postfix-htmldoc base-htmldoc-share
misc-psd-doc base-psd-share
misc-reference-share base-reference-share
misc-router-examples base-router-examples
misc-sendmail-share base-sendmail-share
misc-smm-doc base-smm-share
misc-sup-examples base-sup-examples
misc-sys-examples base-miscfs-examples
misc-sys-examples base-sys-examples
misc-sys-root base-sys-root
misc-sysutil-examples base-sysutil-examples
misc-usd-doc base-usd-share
misc-util-htmldoc base-htmldoc-share
text-groff-bin base-sys-usr
text-groff-catman base-man-share
text-groff-font base-groff-font
text-groff-man base-man-share
text-groff-share base-groff-share
text-sys-root base-sys-root
text-texinfo-bin base-sys-usr
text-texinfo-share base-termcap-share

847
distrib/sets/descrs Normal file
View File

@ -0,0 +1,847 @@
minix-sys Minix Complete system (to be fixed and properly put into separate packages)
base-adosfs-root Root file system support for Amiga DOS file system support
base-amd-bin auto-mounter daemon
base-amd-examples example configuration files for the auto-mounter daemon and utilities
base-amd-shlib auto-mounter daemon shared library
base-audio-bin utilities for playing and recording audio
base-bind-bin the BIND DNS server
base-bind-examples example configuration files for BIND
base-bind-root root file system directories required by BIND
base-bootserver-bin software for booting diskless systems
base-c-bin utilities for the C programming language
base-c-usr /usr file system directories required by C programming language utilities
base-calendar-bin calendar(1) displays lines from the calendar database matching certain dates
base-calendar-share database of important dates for calendar(1)
base-cron-bin the cron daemon and related utilities
base-cron-root root file system directories required by the cron daemon
base-crypto-bin cryptographic utilities
base-crypto-examples example configuration files for cryptographic utilities
base-crypto-root root file system directories required by cryptographic utilities
base-crypto-shlib shared library providing cryptographic routines
base-cxx-usr /usr file system directories required by C++ programming language utilities
base-debug-bin debugging utilities
base-dhclient-root root file system support for DHCP client software
base-dhcpd-bin DHCP server
base-dhcpd-examples example configuration files for DHCP server
base-efs-root root file system support for efs file system
base-ext2fs-root root file system support for ext2fs file system
base-filecorefs-root root file system support for the Acorn FILECORE file system
base-fstab-examples various example file system tables
base-games-root root file system support for games
base-games-share shared data files for games
base-games-usr directories for the games subsystem
base-gnats-bin the GNATS bug reporting utility
base-gnats-share shared data files for the GNATS bug reporting utility
base-groff-font fonts for the groff family of text formatters
base-groff-share shared data files for the groff family of text formatters
base-hesiod-bin utilities for the HESIOD network information system
base-htmldoc-share HTML documentation
base-i18n-root directories for internationalisation support
base-i18n-shlib shared library modules for internationalisation support
base-ipf-bin utilities for IPfilter
base-ipf-root directories for IPfilter
base-isdn-bin utilities and daemons for ISDN network connectivity
base-isdn-examples directories for the ISDN example files
base-krb5-bin commands and utilities for the Kerberos V network authentication system
base-krb5-examples example configuration files for the Kerberos V network authentication system
base-krb5-root root file system support for the Kerberos V network authentication system
base-krb5-shlib root file system support for the Kerberos V network authentication system
base-libsaslc-examples example configuration files for the SASL C library
base-locale-Pig igPey atinLey ocaleley upportsey
base-locale-af Afghan language locale support
base-locale-be Belgian language locale support
base-locale-bg Bulgarian language locale support
base-locale-bin utilities for working with locales
base-locale-ca Catalan language locale support
base-locale-cs Czech language locale support
base-locale-da Danish language locale support
base-locale-de German language locale support
base-locale-el Greek language locale support
base-locale-en English language locale support
base-locale-eo Esperanto language locale support
base-locale-es Spanish language locale support
base-locale-et Estonian language locale support
base-locale-eu Basque language/region locale support
base-locale-fi Finnish language locale support
base-locale-fr French language locale support
base-locale-gl Galician language locale support
base-locale-he Hebrew language locale support
base-locale-hr Croatian language locale support
base-locale-hu Hungarian language locale support
base-locale-hy Armenian language locale support
base-locale-id Indonesian language locale support
base-locale-is Icelandic language locale support
base-locale-it Italian language locale support
base-locale-ja Japanese language locale support
base-locale-kk Kazakh language locale support
base-locale-ko Korean language locale support
base-locale-lt Lithuanian language locale support
base-locale-nb Norwegian Bokmal language locale support
base-locale-nl Dutch language locale support
base-locale-nn Norwegian Nynorsk language locale support
base-locale-no Norwegian language locale support
base-locale-pl Polish language locale support
base-locale-pt Portuguese language locale support
base-locale-ro Romanian language locale support
base-locale-ru Russian language locale support
base-locale-share /usr/share file system support for all locales
base-locale-sk Slovak language locale support
base-locale-sl Slovenian language locale support
base-locale-sr Suriname language locale support
base-locale-sv Swedish language locale support
base-locale-tr Turkish language locale support
base-locale-uk Ukrainian language locale support
base-locale-zh Chinese language locale support
base-lpr-bin utilities for printing support
base-lpr-root root file system support for printing utilities
base-lpr-usr /usr file system support for printing
base-magic-share shared files for the file(1) utility
base-mail-bin mail utilities
base-mail-root root file system support for mail utilities
base-mailwrapper-bin the mailwrapper(8) program for multiple mailer support
base-man-bin utilities for reading online manual pages
base-man-share shared data files for the online manual pages
base-miscfs-examples example configuration files for miscellaneous file systems
base-miscfs-root root file system support for miscellaneous file systems
base-net-shlib shared libraries for network programming
base-netutil-bin networking utilities
base-netutil-examples example configuration files for networking programs
base-netutil-root root file system support for networking utilities
base-nfsclient-bin network file system client utilities
base-nfsclient-root root file system support for network file system client utilities
base-nfsserver-bin network file system server program
base-nis-bin progams and utilities for the NIS network information system
base-nis-root root file system support for the NIS network information system
base-ntfs-root root file system support for the Windows NT file system
base-ntp-bin utilities for network time protocol support
base-ntp-root basic directories for network time protocol support
base-objc-usr /usr file system support for the Objective C programming language
base-pf-bin utilities for the PF packet filter
base-pf-root directories for the PF packet filter
base-pkgutil-bin package system utilities
base-postfix-bin the Postfix mailer
base-postfix-examples example configuration files for the Postfix mailer
base-postfix-root root file system support for the Postfix mailer
base-postfix-usr /usr file system support for the Postfix mailer
base-ppp-bin utilities for the PPP point-to-point remote access protocol
base-psd-share directory structure for the Programmer's Supplementary Documentation
base-rcs-bin utilities for the RCS Revision Control System
base-reference-share directory structure for miscellaneous reference documents
base-rescue-root statically-linked binaries which can be used in extremis
base-router-bin network routing utilities
base-router-examples base directories for network routing utilities
base-router-root root file system support for network routing utilities
base-secsh-bin secure shell SSH client and server
base-slip-bin the SLIP serial line internet protocol
base-slip-root root file system support for the SLIP remote access protocol
base-smbfs-root root file system support for the smbfs client SMB filesystem support
base-smm-share directory structure for the System Manager's Manual
base-sup-bin utilities for the SUP software update protocol
base-sup-examples example configuration files for the SUP software update protocol
base-sys-devlinks device node symbolic links
base-sys-examples example configuration files for kernel functionality
base-sys-root required root file system structure
base-sys-share required /usr/share file system structure
base-sys-shlib shared libraries for basic system functionality
base-sys-usr required /usr file system structure
base-sysutil-bin system utilities
base-sysutil-examples example configuration files for miscellaneous system utilities
base-sysutil-root root file system support for system utilities
base-sysutil-share shared data files for system utilities
base-sysutil_locale-share shared locale support for system utilities
base-termcap-share shared files for terminal capability database
base-texinfo-bin the GNU texinfo software
base-texinfo-share shared data files for the GNU texinfo software
base-texinfo_locale-cs Czech language support for the GNU texinfo software
base-texinfo_locale-da Danish language support for the GNU texinfo software
base-texinfo_locale-de German language support for the GNU texinfo software
base-texinfo_locale-eo Esperanto language support for the GNU texinfo software
base-texinfo_locale-fr French language support for the GNU texinfo software
base-texinfo_locale-he Hebrew language support for the GNU texinfo software
base-texinfo_locale-hr Croatian language support for the GNU texinfo software
base-texinfo_locale-ja Japanese language support for the GNU texinfo software
base-texinfo_locale-nl Dutch language support for the GNU texinfo software
base-texinfo_locale-no Norwegian Bokmal language support for the GNU texinfo software
base-texinfo_locale-no Norwegian language support for the GNU texinfo software
base-texinfo_locale-pl Polish language support for the GNU texinfo software
base-texinfo_locale-pl Romanian language support for the GNU texinfo software
base-texinfo_locale-ru Russian language support for the GNU texinfo software
base-texinfo_locale-sv Swedish language support for the GNU texinfo software
base-texinfo_locale-tr Turkish language support for the GNU texinfo software
base-texinfo_locale-zh Chinese language support for the GNU texinfo software
base-timed-bin utilities for the timed(8) network time daemon
base-tn3270-bin utilities for connecting to IBM VM/CMS systems
base-usd-share directory structure for the User's Supplementary Documentation
base-util-bin standard utilities for use by users
base-util-root root file system support for standard user utilities
base-util-share shared data files for standard user utilities
base-util_locale-cs Czech language support for standard utilities
base-util_locale-de German language support for standard utilities
base-util_locale-el Greek language support for standard utilities
base-util_locale-eo Esperanto language support for standard utilities
base-util_locale-es Spanish language support for standard utilities
base-util_locale-et Estonian language support for standard utilities
base-util_locale-fr French language support for standard utilities
base-util_locale-gl Galician language support for standard utilities
base-util_locale-hr Croatian language support for standard utilities
base-util_locale-id Indonesian language support for standard utilities
base-util_locale-it Italian language support for standard utilities
base-util_locale-ja Japanese language support for standard utilities
base-util_locale-sv Swedish language support for standard utilities
comp-c-bin
comp-c-bin This package includes compilers and tools for the C programming language:
comp-c-bin c89, c99, cc, gcc - C compilers
comp-c-bin flex, lex - lexical analyzer generator
comp-c-bin lint - C program validator
comp-c-bin rpcgen - RPC stub generator
comp-c-bin yacc - parser generator
comp-c-catman
comp-c-catman
comp-c-catman
comp-c-catman
comp-c-catman
comp-c-catman c89, c99, cc, gcc - C compilers
comp-c-catman flex, lex - lexical analyzer generator
comp-c-catman lint - C program validator
comp-c-catman rpcgen - RPC stub generator
comp-c-catman yacc - parser generator
comp-c-catman This package includes formatted manual pages for compilers and tools for
comp-c-catman the C programming language:
comp-c-include This package contains header files for the C programming language,
comp-c-include including standard C and UNIX APIs, and APIs specific to the NetBSD
comp-c-include operating system.
comp-c-lib This contains library archives to build statically linked versions of C
comp-c-lib libraries.
comp-c-lib programs and simbolic links for use in linking software against shared
comp-c-lintlib C language syntax checker.
comp-c-lintlib This package contains library description files for use with the lint(1)
comp-c-man
comp-c-man
comp-c-man
comp-c-man
comp-c-man
comp-c-man c89, c99, cc, gcc - C compilers
comp-c-man flex, lex - lexical analyzer generator
comp-c-man lint - C program validator
comp-c-man rpcgen - RPC stub generator
comp-c-man yacc - program parser generator
comp-c-man This package includes the manual pages sources for compilers and tools
comp-c-man for the C programming language:
comp-c-piclib This includes archives of position-independent object files which can be
comp-c-piclib system.
comp-c-piclib used to recreate the shared libraries distributed with the base NetBSD
comp-c-proflib This includes versions of system libraries for use in profiling user code.
comp-c-root This contains data files installed in /var and used by C language
comp-c-root programming utilities.
comp-c-share This contains data files installed in /usr/share and used by C language
comp-c-share language.
comp-c-share programming utilities, including user reference documents on the C
comp-c-shlib shared libraries for binary file utilities and machine opcodes
comp-c_locale-be Belgian language locale support for development utilities
comp-c_locale-ca Canadian language locale support for development utilities
comp-c_locale-cs Czech language locale support for development utilities
comp-c_locale-da Danish language locale support for development utilities
comp-c_locale-de German language locale support for development utilities
comp-c_locale-el Greek language locale support for development utilities
comp-c_locale-es Spanish language locale support for development utilities
comp-c_locale-et Estonian language locale support for development utilities
comp-c_locale-fi Finnish language locale support for development utilities
comp-c_locale-fr French language locale support for development utilities
comp-c_locale-gl Galician language locale support for development utilities
comp-c_locale-id Indonesian language locale support for development utilities
comp-c_locale-it Italian language locale support for development utilities
comp-c_locale-ja Japanese language locale support for development utilities
comp-c_locale-ko Korean language locale support for development utilities
comp-c_locale-nl Dutch language locale support for development utilities
comp-c_locale-nn Norwegian Nynorsk language locale support for development utilities
comp-c_locale-no Norwegian language locale support for development utilities
comp-c_locale-pl Polish language locale support for development utilities
comp-c_locale-pt_BR Portuguese Brazilian language locale support for development utilities
comp-c_locale-ro Romanian language locale support for development utilities
comp-c_locale-ru Russian language locale support for development utilities
comp-c_locale-sk Slovak language locale support for development utilities
comp-c_locale-sl Slovenian language locale support for development utilities
comp-c_locale-sr Suriname language locale support for development utilities
comp-c_locale-sv Swedish language locale support for development utilities
comp-c_locale-tr Turkish language locale support for development utilities
comp-c_locale-uk Ukranian language locale support for development utilities
comp-c_locale-zh_CN Chinese language locale support for development utilities
comp-c_locale-zh_TW Taiwanese language locale support for development utilities
comp-cvs-bin CVS is a version control system, which allows you to keep old versions
comp-cvs-bin allows triggers to enable/log/control various operations and works well
comp-cvs-bin but operates on hierarchical collections of directories consisting of
comp-cvs-bin does not just operate on one file at a time or one directory at a time,
comp-cvs-bin occurred, etc., like RCS or SCCS. Unlike the simpler systems, CVS
comp-cvs-bin of files (usually source code), keep a log of who, when, and why changes
comp-cvs-bin over a wide area network (see manual pages).
comp-cvs-bin the concurrent editing of source files among multiple authors. CVS
comp-cvs-bin version controlled files. CVS helps to manage releases and to control
comp-cvs-catman CVS does not just operate on one file at a time or one directory at a
comp-cvs-catman This contains groff-formatted manual pages for the CVS revision control
comp-cvs-catman changes occurred, etc., like RCS or SCCS. Unlike the simpler systems,
comp-cvs-catman of version controlled files. CVS helps to manage releases and to control
comp-cvs-catman system. CVS is a version control system which allows you to keep old
comp-cvs-catman the concurrent editing of source files among multiple authors. CVS allows
comp-cvs-catman time, but operates on hierarchical collections of directories consisting
comp-cvs-catman triggers to enable/log/control various operations and works well over a
comp-cvs-catman versions of files (usually source code), keep a log of who, when, and why
comp-cvs-catman wide area network (see manual pages).
comp-cvs-man CVS is a version control system which allows you to keep old versions of
comp-cvs-man This contains manual page groff source for the CVS revision control system.
comp-cvs-man concurrent editing of source files among multiple authors. CVS allows
comp-cvs-man controlled files. CVS helps to manage releases and to control the
comp-cvs-man files (usually source code), keep a log of who, when, and why changes
comp-cvs-man not just operate on one file at a time or one directory at a time, but
comp-cvs-man occurred, etc., like RCS or SCCS. Unlike the simpler systems, CVS does
comp-cvs-man operates on hierarchical collections of directories consisting of version
comp-cvs-man triggers to enable/log/control various operations and works well over a
comp-cvs-man wide area network (see manual pages).
comp-cxx-bin
comp-cxx-bin c++, g++ - C++ compiler
comp-cxx-bin c++filt - tool for demangling C++ single function names
comp-cxx-bin flex++ - C++ lexical analyzser generator (a C++ version of flex)
comp-cxx-bin This package includes compilers and tools for the C++ programming language:
comp-cxx-catman
comp-cxx-catman c++, g++ - C++ compiler
comp-cxx-catman c++filt - tool for demangling C++ single function names
comp-cxx-catman flex++ - C++ lexical analyzser generator (a C++ version of flex)
comp-cxx-catman C++ programming language:
comp-cxx-catman This contains groff-formatted manual pages on compilers and tools for the
comp-cxx-include This contains header files for the C++ programming language.
comp-cxx-lib This contains library archives to build statically linked versions of C++
comp-cxx-lib libraries.
comp-cxx-lib programs and simbolic links for use in linking software against shared
comp-cxx-man
comp-cxx-man c++, g++ - C++ compiler
comp-cxx-man c++filt - tool for demangling C++ single function names
comp-cxx-man flex++ - C++ lexical analyzser generator (a C++ version of flex)
comp-cxx-man This contains the manual page source on compilers and tools for the C++
comp-cxx-man programming language:
comp-cxx-piclib This includes archives of position-independent object files which can be
comp-cxx-piclib system.
comp-cxx-piclib used to recreate the shared C++ libraries distributed with the base NetBSD
comp-cxx-proflib This includes versions of system libraries for use in profiling user C++
comp-cxx-proflib code.
comp-debug-bin
comp-debug-bin
comp-debug-bin
comp-debug-bin
comp-debug-bin -ftest-coverage. These options cause the compiler to insert
comp-debug-bin addr2line - translates program addresses into file names and line
comp-debug-bin execution profile of C, Pascal, or Fortran77 programs.
comp-debug-bin gcov - displays basic block profile / coverage data, if requested
comp-debug-bin gdb - is the GNU debugger. The purpose of a debugger such as GDB
comp-debug-bin gprof - displays call graph profile data. gprof produces an
comp-debug-bin how often each basic block is executed;
comp-debug-bin information in the executable to figure out which file name and
comp-debug-bin instrumentation into the object files it generates, which measure
comp-debug-bin is to allow you to see what is going on ``inside'' another program
comp-debug-bin it crashed;
comp-debug-bin line number are associated with a given address;
comp-debug-bin numbers. Given an address and an executable, it uses the debugging
comp-debug-bin via the C compiler gcc(1) command line options -fprofile-arcs and
comp-debug-bin while it executes, or what another program was doing at the moment
comp-debug-bin This package contains various C programming debugging utilities, such as:
comp-debug-catman
comp-debug-catman
comp-debug-catman
comp-debug-catman
comp-debug-catman -ftest-coverage. These options cause the compiler to insert
comp-debug-catman addr2line - translates program addresses into file names and line
comp-debug-catman execution profile of C, Pascal, or Fortran77 programs.
comp-debug-catman gcov - displays basic block profile / coverage data, if requested
comp-debug-catman gdb - is the GNU debugger. The purpose of a debugger such as GDB
comp-debug-catman gprof - displays call graph profile data. gprof produces an
comp-debug-catman how often each basic block is executed;
comp-debug-catman information in the executable to figure out which file name and
comp-debug-catman instrumentation into the object files it generates, which measure
comp-debug-catman is to allow you to see what is going on ``inside'' another program
comp-debug-catman it crashed;
comp-debug-catman line number are associated with a given address;
comp-debug-catman numbers. Given an address and an executable, it uses the debugging
comp-debug-catman via the C compiler gcc(1) command line options -fprofile-arcs and
comp-debug-catman while it executes, or what another program was doing at the moment
comp-debug-catman This package contains formatted manual pages on various C programming
comp-debug-catman debugging utilities, such as:
comp-debug-man
comp-debug-man
comp-debug-man
comp-debug-man
comp-debug-man -ftest-coverage. These options cause the compiler to insert
comp-debug-man addr2line - translates program addresses into file names and line
comp-debug-man execution profile of C, Pascal, or Fortran77 programs.
comp-debug-man gcov - displays basic block profile / coverage data, if requested
comp-debug-man gdb - is the GNU debugger. The purpose of a debugger such as GDB
comp-debug-man gprof - displays call graph profile data. gprof produces an
comp-debug-man how often each basic block is executed;
comp-debug-man information in the executable to figure out which file name and
comp-debug-man instrumentation into the object files it generates, which measure
comp-debug-man is to allow you to see what is going on ``inside'' another program
comp-debug-man it crashed;
comp-debug-man line number are associated with a given address;
comp-debug-man numbers. Given an address and an executable, it uses the debugging
comp-debug-man via the C compiler gcc(1) command line options -fprofile-arcs and
comp-debug-man while it executes, or what another program was doing at the moment
comp-debug-man This package contains the manual pages groff source on various C programming
comp-debug-man debugging utilities, such as:
comp-debug-sbin This package contains kgmon, a kernel debugging utility. kgmon is a tool
comp-debug-sbin extracts profile data from the operating system and produces a gmon.out
comp-debug-sbin file suitable for later analysis by gprof(1).
comp-debug-sbin kgmon indicates the state of operating system profiling as running, off,
comp-debug-sbin or not configured. (see config(8)) If the -p flag is specified, kgmon
comp-debug-sbin used when profiling the operating system. When no arguments are supplied,
comp-fortran-bin
comp-fortran-bin
comp-fortran-bin
comp-fortran-bin FORTRAN 77, also called F77). gcc processes input files through
comp-fortran-bin and F77 compilers are integrated; g77 is a program to call gcc
comp-fortran-bin asa - interpret carriage-control characters. The asa utility reads
comp-fortran-bin assembly, and linking. This manual page contains full descriptions
comp-fortran-bin contains summaries of some general-purpose options. For a fuller
comp-fortran-bin conventions into files formatted according to UNIX line printer
comp-fortran-bin conventions.
comp-fortran-bin explanation of the compiler, see gcc(1);
comp-fortran-bin f77, fort77, g77 - GNU project Fortran Compiler (v0.5.24). The C
comp-fortran-bin files formatted according to Fortran's carriage control
comp-fortran-bin files sequentially, mapping FORTRAN carriage-control characters
comp-fortran-bin for only F77-specific aspects of the compiler, though it also
comp-fortran-bin fpr - print Fortran file utility. fpr is a filter that transforms
comp-fortran-bin one or more of four stages: prepro- cessing, compilation,
comp-fortran-bin output;
comp-fortran-bin to line-printer control sequences, and writes them to the standard
comp-fortran-bin with options to recognize programs written in Fortran (ANSI
comp-fortran-bin This package contains compilers and tools for the FORTRAN programming
comp-fortran-bin language, including the following:
comp-fortran-catman
comp-fortran-catman
comp-fortran-catman
comp-fortran-catman FORTRAN 77, also called F77). gcc processes input files through
comp-fortran-catman and F77 compilers are integrated; g77 is a program to call gcc
comp-fortran-catman asa - interpret carriage-control characters. The asa utility reads
comp-fortran-catman assembly, and linking. This manual page contains full descriptions
comp-fortran-catman contains summaries of some general-purpose options. For a fuller
comp-fortran-catman conventions into files formatted according to UNIX line printer
comp-fortran-catman conventions.
comp-fortran-catman explanation of the compiler, see gcc(1);
comp-fortran-catman f77, fort77, g77 - GNU project Fortran Compiler (v0.5.24). The C
comp-fortran-catman files formatted according to Fortran's carriage control
comp-fortran-catman files sequentially, mapping FORTRAN carriage-control characters
comp-fortran-catman for only F77-specific aspects of the compiler, though it also
comp-fortran-catman fpr - print Fortran file utility. fpr is a filter that transforms
comp-fortran-catman one or more of four stages: prepro- cessing, compilation,
comp-fortran-catman output;
comp-fortran-catman to line-printer control sequences, and writes them to the standard
comp-fortran-catman with options to recognize programs written in Fortran (ANSI
comp-fortran-catman This package contains formatted manual pages for compilers and tools for
comp-fortran-catman the FORTRAN programming language, which include:
comp-fortran-lib FORTRAN programs and simbolic links for use in linking software against
comp-fortran-lib This contains library archives to build statically linked versions of
comp-fortran-lib shared libraries.
comp-fortran-man
comp-fortran-man
comp-fortran-man
comp-fortran-man FORTRAN 77, also called F77). gcc processes input files through
comp-fortran-man and F77 compilers are integrated; g77 is a program to call gcc
comp-fortran-man asa - interpret carriage-control characters. The asa utility reads
comp-fortran-man assembly, and linking. This manual page contains full descriptions
comp-fortran-man contains summaries of some general-purpose options. For a fuller
comp-fortran-man conventions into files formatted according to UNIX line printer
comp-fortran-man conventions.
comp-fortran-man explanation of the compiler, see gcc(1);
comp-fortran-man f77, fort77, g77 - GNU project Fortran Compiler (v0.5.24). The C
comp-fortran-man files formatted according to Fortran's carriage control
comp-fortran-man files sequentially, mapping FORTRAN carriage-control characters
comp-fortran-man for only F77-specific aspects of the compiler, though it also
comp-fortran-man fpr - print Fortran file utility. fpr is a filter that transforms
comp-fortran-man one or more of four stages: prepro- cessing, compilation,
comp-fortran-man output;
comp-fortran-man to line-printer control sequences, and writes them to the standard
comp-fortran-man with options to recognize programs written in Fortran (ANSI
comp-fortran-man This package contains manual pages groff sources for compilers and tools for
comp-fortran-man the FORTRAN programming language, which include:
comp-fortran-piclib NetBSD system.
comp-fortran-piclib This includes archives of position-independent object files which can be
comp-fortran-piclib used to recreate the shared FORTRAN libraries distributed with the base
comp-fortran-proflib FORTRAN code.
comp-fortran-proflib This includes versions of system libraries for use in profiling user
comp-fortran-shlib Shared libraries for the FORTRAN programming language
comp-i18n-lib static libraries and shared library links for compiling applications with internationalisation support
comp-ipf-include header files for the IPfilter C API
comp-krb5-catman formatted manual pages for Kerberos V support
comp-krb5-include header files for Kerberos V support
comp-krb5-lib libraries to support Kerberos V compilation
comp-krb5-man source manual pages for Kerberos V support
comp-krb5-proflib profiling libraries for Kerberos V support
comp-krb5c-catman pre-formatted manual pages for Kerberos V C support
comp-objc-bin This contains the gcc backend for Objective C programming. With this
comp-objc-bin package installed, it is possible to compile Objective C programs with
comp-objc-bin the cc(1) or gcc(1) commands.
comp-objc-lib Objective C programs and simbolic links for use in linking software
comp-objc-lib This contains library archives to build statically linked versions of
comp-objc-lib against shared Objective C libraries.
comp-objc-piclib This includes archives of position-independent object files which can be
comp-objc-piclib base NetBSD system.
comp-objc-piclib used to recreate the shared Objective C libraries distributed with the
comp-objc-proflib Objective C code.
comp-objc-proflib This includes versions of system libraries for use in profiling user
comp-sys-catman This contains section 9 of the online manual pages for kernel programming,
comp-sys-catman of the kernel.
comp-sys-catman which describe APIs available for writing device drivers and other parts
comp-sys-man manual pages source for kernel programming
comp-sys-shlib shared library support for basic i386 math and utility libs
comp-sysutil-catman formatted manual pages for system utilities
comp-sysutil-man manual pages source for system utilities
comp-sysutil-root manual pages source for system utilities
comp-sysutil-sbin system utilities
comp-util-bin programming utilities
comp-util-catman formatted manual pages for programming utilities
comp-util-man manual pages source for programming utilities
comp-util-sbin system development utilities
comp-util-share reference files for programming utilities
etc-amd-rc startup script for auto-mounter daemon
etc-audio-rc startup script for audio mixer control utility
etc-bind-etc configuration files for BIND DNS server
etc-bind-rc startup script for BIND DNS server
etc-bootserver-etc configuration files for diskless boot server utilities
etc-bootserver-rc startup script for diskless boot server utilities
etc-cron-log empty log file for cron(8)
etc-cron-rc startup script for cron(8) command scheduler
etc-cron-root root file system support for cron(8) command scheduler
etc-dhclient-etc configuration files for DHCP dyanamic host configuration protocol client utilities
etc-dhclient-rc startup script for DHCP dynamic host configuration protocol client
etc-dhcpd-rc startup script for DHCP dynamic host configuration protocol daemon
etc-extsrc-rc startup scripts for externally added programs
etc-games-etc configuration file for games
etc-games-scores empty score files for games
etc-ipf-rc startup script for IP filter
etc-iscsi-etc configuration files for the NetBSD iSCSI target
etc-iscsi-rc startup script for the NetBSD iSCSI target
etc-isdn-rc startup script for ISDN (Integrated Services Digital Network) network connectivity utilities
etc-krb5-rc startup script for the Kerberos V authentication service
etc-libsaslc-etc configuration file for SASL C library
etc-libsaslc-postfix configuration file for postfix SASL
etc-lpr-etc configuration file for printing services
etc-lpr-log empty log file for printing services
etc-lpr-rc startup script for printing services
etc-mail-etc configuration file for mail utilities
etc-mailwrapper-etc configuration files for the mailwrapper(8) program for multiple mailer support
etc-man-etc configuration files for the online manual pages
etc-net-etc configuration files for networking
etc-net-rc startup files for networking
etc-netutil-etc configuration files for network utilities
etc-netutil-log empty log files for networking utilities
etc-nfsserver-rc startup script for NFS network file system server utilities
etc-nis-rc startup script for the NIS network information system
etc-nis-root root file system support for the NIS network file system
etc-ntp-etc configuration files for the ntpd(8) Network Time Protocol server
etc-ntp-rc startup script for the ntpd(8) Network Time Protocol server
etc-pf-defaults default configuration for the PF packet filter
etc-pf-etc configuration files for the PF packet filter
etc-postfix-etc configuration file for the postfix mailer program
etc-postfix-rc startup script for the postfix mailer program
etc-ppp-rc startup script for the PPP point-to-point connection protocol
etc-root-root login configuration files for the user root
etc-router-etc configuration files for network routing
etc-router-rc startup scripts for routing services
etc-secsh-etc configuration file for SSH secure remote shell utility
etc-secsh-rc startup script for SSH secure remote shell utility
etc-sendmail-log empty log files for the sendmail(8) mailer
etc-sys-defaults default system startup configuration files
etc-sys-etc system software configuration files
etc-sys-log empty system log files
etc-sys-rc standard system startup scripts
etc-sys-root required root file system structure for system software
etc-sysutil-etc configuration files for miscellaneous system utilities
etc-sysutil-log empty log files for miscellaneous system utilities
etc-sysutil-rc startup scripts for miscellaneous system utilities
etc-timed-rc startup script for the timed(8) network time daemon
etc-util-etc configuration file for standard system utilities
etc-x11-rc startup scripts for the X11 X Window System
games-games-bin command line games
games-games-catman formatted manual pages for command-line games
games-games-man manual pages source for command-line games
games-games-root data and score files for command line games
games-games-share shared data files for command-line games
games-sys-root required root file system structure for configuration files
games-usd-doc miscellaneous documentation for games
games-utils-bin miscellaneous utilities from /usr/games
games-utils-catman formatted manual pages for miscellaneous utilities from /usr/games
games-utils-man manual pages source for miscellaneous utilities from /usr/games
games-utils-share shared data files for miscellaneous utilities from /usr/games
man-adosfs-catman formatted manual pages for AmigaDOS file system support
man-adosfs-man manual pages source for AmigaDOS file system support
man-amd-catman formatted manual pages for the amd(8) auto-mounting daemon
man-amd-info texinfo documentation for the amd(8) auto-mounting daemon
man-amd-man manual pages source for the amd(8) auto-mounting daemon
man-audio-catman formatted manual pages for utilities for playing and recording audio
man-audio-man manual pages source for utilities for playing and recording audio
man-bind-catman formatted manual pages for the bind(8) domain name server daemon
man-bind-man manual pages source for the bind(8) domain name server daemon
man-bootserver-catman formatted manual pages for utilities to support remote booting of diskless workstations
man-bootserver-man manual pages source for utilities to support remote booting of diskless workstations
man-c-catman formatted manual pages for the C programming language
man-c-info the GNU texinfo software
man-c-man manual pages source for the C programming language
man-computil-info texinfo documentation for compiler utilities
man-cron-catman formatted manual pages for the cron(8) command scheduler
man-cron-man manual pages source for the cron(8) command scheduler
man-crypto-catman formatted manual pages for cryptographic utilities
man-crypto-man manual pages source for cryptographic utilities
man-cvs-info texinfo documentation for the CVS version control system
man-cxx-info texinfo documentation for the C++ programming language
man-debug-catman formatted manual pages for debugging utilities
man-debug-info texinfo documentation for debugging utilities
man-debug-man manual pages source for debugging utilities
man-dhclient-catman formatted manual pages for DHCP (dynamic host configuration protocol) client utilities
man-dhclient-man manual pages source for DHCP (dynamic host configuration protocol) client utilities
man-dhcpd-catman formatted manual pages for DHCP (dynamic host configuration protocol) server utilities
man-dhcpd-man manual pages source for DHCP (dynamic host configuration protocol) server utilities
man-efs-catman formatted manual pages for the Silicon Graphics EFS file system support
man-efs-man manual pages source for the Silicon Graphics EFS file system support
man-ext2fs-catman formatted manual pages for the Linux ext2fx file system support
man-ext2fs-man manual pages source for the Linux ext2fx file system support
man-filecorefs-catman formatted manual pages Acorn FileCore file system support
man-filecorefs-man manual pages source Acorn FileCore file system support
man-fortran-info texinfo documentation for the FORTRAN programming language
man-games-catman formatted manual pages for games
man-games-man manual pages source for games
man-gnats-catman formatted manual pages for the GNATS bug reported system
man-gnats-info texinfo documentation for the GNATS bug reported system
man-gnats-man manual pages source for the GNATS bug reported system
man-groff-catman formatted manual pages for the groff documentation formatting utility
man-groff-man manual pages source for the groff documentation formatting utility
man-hesiod-catman formatted manual pages for the HESIOD network information system
man-hesiod-man manual pages source for the HESIOD network information system
man-hfs-catman formatted manual pages for the HFS file system
man-hfs-man manual pages source for the HFS file system
man-info-share required file system structure for GNU texinfo documentation
man-ipf-catman formatted manual pages for the IPfilter packet filtering software
man-ipf-man manual pages source for the IPfilter packet filtering software
man-iscsi-catman formatted manual pages for NetBSD iSCSI target
man-iscsi-man manual pages source for NetBSD iSCSI target
man-isdn-catman formatted manual pages for ISDN (Integrated Services Data Networking) support
man-isdn-man manual pages source for ISDN (Integrated Services Data Networking) support
man-krb5-catman formatted manual pages for the Kerberos V network authentication system
man-krb5-info the GNU texinfo software
man-krb5-man manual pages source for the Kerberos V network authentication system
man-locale-catman formatted manual pages for locale support utilities
man-locale-man manual pages source for locale support utilities
man-lpr-catman formatted manual pages for printing support
man-lpr-man manual pages source for printing support
man-mail-catman formatted manual pages for mail utilities
man-mail-man manual pages source for mail utilities
man-mailwrapper-catman formatted manual pages for the mailwrapper(8) program for multiple mailer support
man-mailwrapper-man manual pages source for the mailwrapper(8) program for multiple mailer support
man-man-catman formatted manual pages for the utilities for viewing the online manual
man-man-man manual pages source for the utilities for viewing the online manual
man-miscfs-catman the GNU texinfo software
man-miscfs-man manual pages sources for miscellaneous file system support
man-net-catman formatted manual pages for networking support
man-net-man manual pages source for networking support
man-netutil-catman formatted manual pages for networking utilities
man-netutil-man manual pages source for networking utilities
man-nfsclient-catman formatted manual pages for NFS (network file system) client utilities
man-nfsclient-man manual pages source for NFS (network file system) client utilities
man-nfsserver-catman formatted manual pages for NFS (network file system) server utilities
man-nfsserver-man manual pages source for NFS (network file system) server utilities
man-nis-catman formatted manual pages for the NIS network information system utilities
man-nis-man manual pages source for the NIS network information system utilities
man-ntfs-catman formatted manual pages for the Windows NT file system support
man-ntfs-man manual pages source for the Windows NT file system support
man-ntp-catman formatted manual pages for the network time protocol utilities
man-ntp-man manual pages source for the network time protocol utilities
man-pf-catman formatted manual pages for the PF packet filter
man-pf-man manual page source for the PF packet filter
man-pkgutil-catman formatted manual pages for the package system utilities
man-pkgutil-man manual pages source for the package system utilities
man-postfix-catman formatted manual pages for the postfix mailer
man-postfix-man manual pages source for the postfix mailer
man-ppp-catman formatted manual pages for the ppp point-to-point connection protocol
man-ppp-man manual pages source for the ppp point-to-point connection protocol
man-rc-catman formatted manual pages for system startup scripts
man-rc-man manual pages source for system startup scripts
man-rcs-catman formatted manual pages for the rcs(1) revision control system
man-rcs-man manual pages source for the rcs(1) revision control system
man-reference-catman formatted manual pages for miscellaneous system- and non-system-related reference documents
man-reference-man manual pages source for miscellaneous system- and non-system-related reference documents
man-router-catman formatted manual pages for routing utilities
man-router-man manual pages source for routing utilities
man-rpcserver-catman formatted manual pages for RPC server utility
man-rpcserver-man manual pages source for RPC server utility
man-rpcutil-catman formatted manual pages for RPC utility
man-rpcutil-man manual pages source for RPC utility
man-secsh-catman formatted manual pages for the ssh(1) remote secure shell connection utility
man-secsh-man manual pages source for the ssh(1) remote secure shell connection utility
man-shlib-catman formatted manual pages for shared library support
man-shlib-man manual pages source for shared library support
man-slip-catman formatted manual pages for SLIP (serial line IP) remote access protocol
man-slip-man manual pages source for SLIP (serial line IP) remote access protocol
man-smbfs-catman formatted manual pages for SMB filesystem
man-smbfs-man source manual pages for SMB filesystem
man-sup-catman formatted manual pages for the sup(8) software update protocol
man-sup-man manual pages source for the sup(8) software update protocol
man-sys-catman formatted manual pages for base operating system functionality
man-sys-info the GNU texinfo software
man-sys-man manual pages source for base operating system functionality
man-sys-root required root file system structure for manual pages
man-sysutil-catman formatted manual pages for system utilities
man-sysutil-man manual pages source for system utilities
man-texinfo-catman formatted manual pages for texinfo utilities
man-texinfo-info texinfo documentation for texinfo utilities
man-texinfo-man source manual pages for texinfo utilities
man-timed-catman formatted manual pages for the timed(8) network time daemon
man-timed-man manual pages source for the timed(8) network time daemon
man-tn3270-catman formatted manual pages for utilities for connecting to IBM VM/CMS systems
man-tn3270-man manual pages source for utilities for connecting to IBM VM/CMS systems
man-util-catman formatted manual pages for basic user utilities
man-util-info the GNU texinfo software
man-util-man manual pages source for basic user utilities
misc-amd-examples example configuration files for automatically mount file systems
misc-bind-examples example configuration files for bind
misc-bind-htmldoc HTML documentation for bind
misc-crypto-examples example configuration files for cryptographic software
misc-dhcpd-examples example configuration files for dhcpd(8)
misc-fstab-examples example configuration files for file system tables
misc-ipf-examples example configuration files for IPfilter
misc-isdn-examples example configuration files for isdn
misc-krb5-examples example configuration files for Kerberos5
misc-libsaslc-examples example configuration files for libsaslc
misc-netutil-examples example configuration files for network software
misc-ntp-htmldoc HTML documentation for ntp(8) software
misc-pf-examples example configuration files for the PF packet filter
misc-ntp-htmldoc HTML documentation for NTP
misc-postfix-examples example configuration files for postfix
misc-postfix-htmldoc HTML documentation for postfix
misc-psd-doc the Programmer's Supplementary Documentation for BSD
misc-reference-share miscellaneous reference documents
misc-router-examples example configuration files for routing daemons
misc-smm-doc the System Manager's Manual for BSD
misc-sup-examples example configuration files for sup(8)
misc-sys-examples example configuration files for kernel functionality
misc-sysutil-examples example configuration files for system utilities
misc-usd-doc the User's Supplementary Documents for BSD
misc-util-htmldoc HTML documentation for miscellaneous utilities
text-groff-bin Groff (GNU Troff) is a document processor which reads plain text mixed
text-groff-bin with formatting commands and produces formatted output. Included in this
text-groff-bin release are implementations of troff, pic, eqn, tbl, refer, the -man
text-groff-bin macros and the -ms macros, and drivers for PostScript, TeX dvi format, HP
text-groff-bin LaserJet 4 printers, HTML format (still alpha), and typewriter-like
text-groff-bin devices. Also included is a modified version of the Berkeley -me macros,
text-groff-bin an enhanced version of the X11 xditview previewer, and an implementation
text-groff-bin of the -mm macros.
text-groff-catman This package contains manual page sources for the groff family of text
text-groff-catman formatters. As described in the DESCR file for text-groff-catman, the
text-groff-catman online manual pages for groff contain information about the following
text-groff-catman groff-related utilities:
text-groff-catman
text-groff-catman grog - grog reads files and guesses which of the groff(1) options
text-groff-catman -e, -man, -me, -mm, -ms, -p, -s, and -t are required for
text-groff-catman printing files, and prints the groff command including those
text-groff-catman options on the standard output;
text-groff-catman
text-groff-catman troff - describes the GNU version of troff, which is part of the
text-groff-catman groff document formatting system;
text-groff-catman
text-groff-catman tbl - tbl compiles descriptions of tables embedded within troff
text-groff-catman input files into commands that are understood by troff;
text-groff-catman
text-groff-catman pic - pic compiles descriptions of pictures embedded within
text-groff-catman troff or TeX input files into commands that are understood by
text-groff-catman TeX or troff;
text-groff-catman
text-groff-catman eqn - compiles descriptions of equations embedded within troff
text-groff-catman input files into commands that are understood by troff
text-groff-catman
text-groff-catman soelim - eliminate .so directives from nroff input
text-groff-catman
text-groff-catman refer - preprocess bibliographic references for groff
text-groff-catman
text-groff-catman grops - translates the output of GNU troff to PostScript
text-groff-catman
text-groff-catman grodvi - convert groff output to TeX dvi format
text-groff-catman
text-groff-catman grotty - translates the output of GNU troff into a form
text-groff-catman suitable for typewriter-like devices
text-groff-catman
text-groff-catman groff_font - format of groff device and font description files
text-groff-catman
text-groff-catman groff_out - groff intermediate output format
text-groff-catman
text-groff-catman groff_ms, ms - groff ms macros
text-groff-catman
text-groff-catman me - macros for formatting technical papers
text-groff-catman
text-groff-catman groff_char - lists the standard groff input characters
text-groff-catman
text-groff-font
text-groff-font This package contains groff font description files. The font files for
text-groff-font device <name> are stored in a directory 'dev<name>'. There are two types
text-groff-font of files per device: a device description file called DESC and for each
text-groff-font font F a font file called F. These are text files; there is no associated
text-groff-font binary format. Available devices are:
text-groff-font X100 For a 100dpi X11 previewer
text-groff-font X75 For a 75 dpi X11 previewer
text-groff-font ascii For typewriter-like devices
text-groff-font dvi For TeX dvi format
text-groff-font latin1 For typewriter-like devices using the ISO Latin-1
text-groff-font character set.
text-groff-font ps For PostScript printers and previewers
text-groff-man This package contains manual page sources for the groff family of text
text-groff-man formatters. As described in the DESCR file for text-groff-catman, the
text-groff-man online manual pages for groff contain information about the following
text-groff-man groff-related utilities:
text-groff-man
text-groff-man grog - grog reads files and guesses which of the groff(1) options
text-groff-man -e, -man, -me, -mm, -ms, -p, -s, and -t are required for
text-groff-man printing files, and prints the groff command including those
text-groff-man options on the standard output;
text-groff-man
text-groff-man troff - describes the GNU version of troff, which is part of the
text-groff-man groff document formatting system;
text-groff-man
text-groff-man tbl - tbl compiles descriptions of tables embedded within troff
text-groff-man input files into commands that are understood by troff;
text-groff-man
text-groff-man pic - pic compiles descriptions of pictures embedded within
text-groff-man troff or TeX input files into commands that are understood by
text-groff-man TeX or troff;
text-groff-man
text-groff-man eqn - compiles descriptions of equations embedded within troff
text-groff-man input files into commands that are understood by troff
text-groff-man
text-groff-man soelim - eliminate .so directives from nroff input
text-groff-man
text-groff-man refer - preprocess bibliographic references for groff
text-groff-man
text-groff-man grops - translates the output of GNU troff to PostScript
text-groff-man
text-groff-man grodvi - convert groff output to TeX dvi format
text-groff-man
text-groff-man grotty - translates the output of GNU troff into a form
text-groff-man suitable for typewriter-like devices
text-groff-man
text-groff-man groff_font - format of groff device and font description files
text-groff-man
text-groff-man groff_out - groff intermediate output format
text-groff-man
text-groff-man groff_ms, ms - groff ms macros
text-groff-man
text-groff-man me - macros for formatting technical papers
text-groff-man
text-groff-man groff_char - lists the standard groff input characters
text-groff-man
text-groff-share This package contains groff macros and data files for the macro sets
text-groff-share distributed with groff. These include:
text-groff-share man - wrapper for the man.old and mandoc macro sets for
text-groff-share displaying/printing the online manual pages;
text-groff-share man.old - old style manual page macros;
text-groff-share mandoc - a set of content-based and domain-based macros used to
text-groff-share format the BSD manual pages;
text-groff-share me, mm - formatting facility for technical papers in various
text-groff-share formats; mm has supports macro output in various languages other
text-groff-share than English;
text-groff-share mmse - example macro set file which generates macro output in
text-groff-share Swedish language;
text-groff-share ms - the Manuscript macros, set of macros for writing manuscripts;
text-texinfo-bin the GNU texinfo software
text-texinfo-share shared files for the GNU texinfo software

80
distrib/sets/getdirs.awk Normal file
View File

@ -0,0 +1,80 @@
# $NetBSD: getdirs.awk,v 1.5 2012/02/08 16:51:09 njoly Exp $
#
# Copyright (c) 2002 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Luke Mewburn of Wasabi Systems.
#
# 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.
#
function dirname(file) \
{
# no need to worry about args that do not contain at least one "/"
gsub(/\/[^\/]+$/, "", file)
return file
}
# skip empty or whitespace-only lines, or lines with comments
#
/^[ ]*(#|$)/ \
{
next
}
# skip mtree config lines
#
/^\/(un)?set/ \
{
next
}
# error if consecutive slashes are found
#
/\/\// \
{
print "Unsupported consecutive slashes in path:" >"/dev/stderr"
print >"/dev/stderr"
exit 1
}
# all other lines are parsed
#
{
print
file = $1
items[file]++
do {
file = dirname(file)
dirs[file]++
} while (file ~ /\//)
}
END \
{
for (file in dirs) {
if (! (file in items))
print file " optional type=dir"
}
}

Some files were not shown because too many files have changed in this diff Show More