1
0
mirror of https://git.FreeBSD.org/src.git synced 2026-06-02 11:24:32 +00:00

packages: Convert world to a subdir build

Instead of driving the world package build from Makefile.inc1,
use a subdir build where each package has a subdirectory under
packages/ using the new <bsd.pkg.mk>.

Convert some metadata that was previously in the UCL files (e.g.
sets and dependencies) to Makefile variables.

Build the packages under objdir (not repodir), and use the new
stagepackages target to copy them to repodir when creating the
repository.

Determine an explicit list of packages to build in packages/Makefile
based on enabled src.conf options, and add logic to abort the build
if we attempt to build an empty package.  This inverts the previous
logic in Makefile.inc1 which would simply skip empty packages.

There are a few advantages to doing it this way:

* The package build works more like the rest of the build system,
  so it's more accessible to developers.

* We can customise the packages we build based on src.conf options,
  e.g. skipping a package entirely, or adjusting its dependencies
  based on what it actually requires.

* We have a specific list of packages that we want to build, and an
  unexpectedly missing package results in a build error, instead of
  silently producing a broken repository.

* It's possible to build (and in the future, install) an individual
  package without having to rebuild the entire repository.

This doesn't apply to the dtb, kernel-* or src-* packages; those
have their own build systems in Makefile.inc1 and will be converted
later.

MFC after:	4 weeks (stable/15 only)
Reviewed by:	jlduran, sjg, brooks
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D56087
This commit is contained in:
Lexi Winter
2026-04-24 15:10:01 +01:00
parent 75c6621840
commit bb75b0d581
306 changed files with 1507 additions and 1019 deletions
+9 -42
View File
@@ -2260,48 +2260,15 @@ create-world-packages: _pkgbootstrap .PHONY
@cd ${WSTAGEDIR} ; \
${METALOG_SORT_CMD} ${WSTAGEDIR}/${DISTDIR}/METALOG | \
awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk
@for plist in ${WSTAGEDIR}/*.plist; do \
plist=$${plist##*/} ; \
pkgname=$${plist%.plist} ; \
echo "_PKGS+= $${pkgname}" ; \
done > ${WSTAGEDIR}/packages.mk
${_+_}@cd ${.CURDIR}; \
PATH="${TMPPATH}" ${MAKE} -f Makefile.inc1 \
create-world-packages-jobs \
SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
.MAKE.JOB.PREFIX=
.if make(create-world-packages-jobs)
.include "${WSTAGEDIR}/packages.mk"
.endif
create-world-packages-jobs: .PHONY
.for pkgname in ${_PKGS}
create-world-packages-jobs: create-world-package-${pkgname}
create-world-package-${pkgname}: .PHONY
@sh ${SRCDIR}/release/packages/generate-ucl.sh -o ${pkgname} \
-s ${SRCDIR} -u ${WSTAGEDIR}/${pkgname}.ucl
@if [ "$$(grep -vc '^@dir' ${WSTAGEDIR}/${pkgname}.plist)" -gt 0 ]; then \
awk -F\" ' \
/^name/ { printf("===> Creating %s-", $$2); next } \
/^version/ { print $$2; next } \
' ${WSTAGEDIR}/${pkgname}.ucl && \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o SHLIB_PROVIDE_PATHS_NATIVE=/lib,/usr/lib \
${_ALL_LIBCOMPATS:range:@i@-o SHLIB_PROVIDE_PATHS_COMPAT_${_ALL_LIBCOMPATS:[$i]}=/usr/lib${_ALL_libcompats:[$i]}@} \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${WSTAGEDIR}/${pkgname}.ucl \
-p ${WSTAGEDIR}/${pkgname}.plist \
-r ${WSTAGEDIR} \
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}; \
else \
awk -F\" ' \
/^name/ { printf("===> Skipping %s-", $$2); next } \
/^version/ { print $$2; next } \
' ${WSTAGEDIR}/${pkgname}.ucl; \
fi
.endfor
# bsd.pkg.mk doesn't always know about the dependencies of things
# it builds, so for now, always run clean here.
${CROSSENV} ${MAKE} -C ${.CURDIR}/packages \
FLUA=${WORLDTMP}/legacy/usr/libexec/flua \
REPODIR=${REPODIR} \
WSTAGEDIR=${WSTAGEDIR} \
PKG_VERSION=${PKG_VERSION} \
MK_AUTO_OBJ=yes \
clean all stagepackages
create-sets-packages-jobs: .PHONY create-sets-packages
create-sets-packages: .PHONY
+165
View File
@@ -0,0 +1,165 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.include <src.opts.mk>
SUBDIR= blocklist \
bsdconfig \
bzip2 \
clibs \
cron \
ctl \
devd \
devmatch \
dhclient \
fetch \
flua \
firmware-iwm \
fwget \
geom \
ggate \
lib9p \
libarchive \
libbegemot \
libblocksruntime \
libbsdstat \
libcasper \
libcompat \
libcompiler_rt \
libdwarf \
libevent1 \
libexecinfo \
libpathconv \
librss \
libsqlite3 \
libthread_db \
libucl \
libyaml \
locales \
mandoc \
mtree \
natd \
ncurses \
netmap \
newsyslog \
nfs \
nvme-tools \
pam \
periodic \
powerd \
ppp \
quotacheck \
rc \
rcmds \
resolvconf \
rip \
runtime \
smbutils \
syslogd \
tcpd \
toolchain \
ufs \
utilities \
xz \
zlib \
zstd
.if ${MK_ACCT} != "no" || ${MK_UTMPX} != "no"
SUBDIR+= acct
.endif
.if ${MK_CLANG} != "no" || ${MK_TOOLCHAIN} != "no"
SUBDIR+= clang
.endif
.if ${MK_AUTHPF} != "no" || ${MK_PF} != "no"
SUBDIR+= pf
.endif
# XXX - certctl probably shouldn't depend on caroot. This logic comes from
# the src build, so we have to match it.
.if ${MK_CAROOT} != "no"
SUBDIR.${MK_OPENSSL}+= certctl
SUBDIR+= caroot
.endif
SUBDIR.${MK_AT}+= at
SUBDIR.${MK_AUDIT}+= audit
SUBDIR.${MK_AUTOFS}+= autofs
SUBDIR.${MK_BLUETOOTH}+= bluetooth
SUBDIR.${MK_BOOT}+= bootloader
SUBDIR.${MK_BSDINSTALL}+= bsdinstall
SUBDIR.${MK_BSNMP}+= bsnmp
SUBDIR.${MK_CCD}+= ccdconfig
SUBDIR.${MK_CUSE}+= libcuse
SUBDIR.${MK_CXGBETOOL}+= cxgbe-tools
SUBDIR.${MK_DMAGENT}+= dma
SUBDIR.${MK_DTRACE}+= ctf dtrace dwatch
SUBDIR.${MK_EE}+= ee
SUBDIR.${MK_EFI}+= efi-tools
SUBDIR.${MK_EXAMPLES}+= examples
SUBDIR.${MK_FILE}+= libmagic
SUBDIR.${MK_FLOPPY}+= fd
SUBDIR.${MK_FTP}+= ftp
SUBDIR.${MK_GAMES}+= games
SUBDIR.${MK_GOOGLETEST}+= googletest
SUBDIR.${MK_HAST}+= hast
SUBDIR.${MK_HYPERV}+= hyperv-tools
SUBDIR.${MK_INETD}+= inetd
SUBDIR.${MK_IPFILTER}+= ipf
SUBDIR.${MK_IPFW}+= ipfw
SUBDIR.${MK_ISCSI}+= iscsi
SUBDIR.${MK_JAIL}+= jail
SUBDIR.${MK_KERBEROS}+= kerberos kerberos-kdc librpcsec_gss gssd
SUBDIR.${MK_LDNS}+= libldns
SUBDIR.${MK_LEGACY_CONSOLE}+= console-tools
SUBDIR.${MK_LLD}+= lld
SUBDIR.${MK_LLDB}+= lldb
SUBDIR.${MK_LPR}+= lp
SUBDIR.${MK_MAKE}+= bmake
SUBDIR.${MK_MAN}+= kernel-man
SUBDIR.${MK_MLX5TOOL}+= mlx-tools
SUBDIR.${MK_NIS}+= yp
SUBDIR.${MK_NTP}+= ntp
SUBDIR.${MK_NUAGEINIT}+= nuageinit
SUBDIR.${MK_OFED}+= rdma
SUBDIR.${MK_OPENSSH}+= ssh
SUBDIR.${MK_OPENSSL}+= openssl
SUBDIR.${MK_PKGBOOTSTRAP}+= pkg-bootstrap
SUBDIR.${MK_PKGCONF}+= pkgconf
SUBDIR.${MK_PMC}+= pmc
SUBDIR.${MK_RESCUE}+= rescue
SUBDIR.${MK_SENDMAIL}+= sendmail libmilter
SUBDIR.${MK_SOUND}+= sound
SUBDIR.${MK_SYSCONS}+= syscons-data
SUBDIR.${MK_TCSH}+= csh
SUBDIR.${MK_TELNET}+= telnet
SUBDIR.${MK_TESTS}+= tests
SUBDIR.${MK_TESTS_SUPPORT}+= atf kyua
SUBDIR.${MK_UNBOUND}+= local-unbound
SUBDIR.${MK_VI}+= vi
SUBDIR.${MK_VT}+= vt-data
SUBDIR.${MK_WIRELESS}+= hostapd wpa
SUBDIR.${MK_ZFS}+= zfs
SUBDIR.${MK_ZONEINFO}+= zoneinfo
.include <bsd.arch.inc.mk>
SUBDIR_PARALLEL=
.ORDER: all stagepackages
.include <bsd.subdir.mk>
+23
View File
@@ -0,0 +1,23 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
SUBDIR+= libvgl
SUBDIR.${MK_ACPI}+= acpi
SUBDIR.${MK_APM}+= apm
SUBDIR.${MK_BHYVE}+= bhyve
SUBDIR.${MK_BHYVE}+= libvmmapi
SUBDIR.${MK_PMC}+= libipt
+18
View File
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
SUBDIR.${MK_ACPI}+= acpi
SUBDIR.${MK_APM}+= apm
+20
View File
@@ -0,0 +1,20 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
SUBDIR.${MK_ACPI}+= acpi
SUBDIR.${MK_APM}+= apm
SUBDIR.${MK_BHYVE}+= bhyve
SUBDIR.${MK_BHYVE}+= libvmmapi
+18
View File
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
SUBDIR.${MK_ACPI}+= acpi
SUBDIR.${MK_APM}+= apm
+20
View File
@@ -0,0 +1,20 @@
# SPDX-License-Identifier: ISC
#
# Copyright (c) 2026 Lexi Winter <ivy@FreeBSD.org>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
SUBDIR.${MK_ACPI}+= acpi
SUBDIR.${MK_APM}+= apm
SUBDIR.${MK_BHYVE}+= bhyve
SUBDIR.${MK_BHYVE}+= libvmmapi
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= acct
.include <bsd.pkg.mk>
@@ -29,7 +29,3 @@ lastcomm(1) command to view this information. However, system accounting
is not intended as a security auditing mechanism; use the OpenBSM auditing
system provided in the $PKG_NAME_PREFIX-audit package for that.
EOD
annotations {
set = "optional,optional-jail"
}
+12
View File
@@ -0,0 +1,12 @@
WORLDPACKAGE= acpi
# On these platforms, acpi only contains config files.
.if ${MACHINE_ARCH} == "armv7" || ${MACHINE} == "powerpc" || \
${MACHINE_ARCH} == "riscv64"
SUBPACKAGES=
.endif
# ACPI isn't applicable in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -34,7 +34,3 @@ ACPI implementation in the kernel:
* acpidump(8) dumps the system's raw ACPI data.
* iasl(8) is the Intel ACPI compiler/decompiler
EOD
annotations {
set = "optional"
}
+12
View File
@@ -0,0 +1,12 @@
WORLDPACKAGE= apm
# On non-amd64 platforms, this package only contain an rc script.
# (This should be fixed.)
.if ${MACHINE_CPUARCH} != "amd64"
SUBPACKAGES=
.endif
# APM isn't applicable to jails.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ This package provides apm(8), a utility which can be used to monitor the APM
state and change the system power mode, and the /etc/rc.d/apm service which
can enable and disable APM at system startup and shutdown.
EOD
annotations {
set = "optional"
}
+10
View File
@@ -0,0 +1,10 @@
WORLDPACKAGE= at
PKG_SETS= minimal minimal-jail
# atrun relies on cron to work.
PKG_DEPS.at+= cron
# at(1) passes the command to /bin/sh
PKG_DEPS.at+= runtime
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ This package provides two utilities used to execute a command at a later time:
Note that batch(1) is not intended to be a full batch scheduling system,
and can only run commands on the local system.
EOD
annotations {
set = "minimal,minimal-jail"
}
+4
View File
@@ -0,0 +1,4 @@
WORLDPACKAGE= atf
SUBPACKAGES= dbg dev lib man
.include <bsd.pkg.mk>
@@ -33,7 +33,3 @@ test programs in a variety of languages. These libraries all offer similar
functionality and any test program written with them exposes a consistent user
interface.
EOD
annotations {
set = "optional,optional-jail"
}
+5
View File
@@ -0,0 +1,5 @@
WORLDPACKAGE= audit
SUBPACKAGES= dbg dev lib man
COMPAT_PKGS= dbg dev lib
.include <bsd.pkg.mk>
@@ -42,7 +42,3 @@ system.
This package provides the auditing daemon auditd(8) and various utilities
used to manage the auditing system and work with audit data.
EOD
annotations {
set = "optional,optional-jail"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= autofs
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ or to provide automated access to NFS servers via the /net mountpoint.
This package provides the automountd(8) daemon which is responsible for
managing this, as well as the management utility automount(8).
EOD
annotations {
set = "optional,optional-jail"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= bhyve
.include <bsd.pkg.mk>
@@ -40,7 +40,3 @@ loader.
An example script is also provided in /usr/share/examples/bhyve/vmrun.sh
which can be used to run simple virtual machines.
EOD
annotations {
set = "optional,optional-jail"
}
+5
View File
@@ -0,0 +1,5 @@
WORLDPACKAGE= blocklist
SUBPACKAGES= dbg dev lib man
COMPAT_PKGS= dbg dev lib
.include <bsd.pkg.mk>
@@ -28,7 +28,3 @@ only daemons which have had blocklist support added will work.
The blocklistd(8) daemon was previously named blacklistd(8).
EOD
annotations {
set = "optional,optional-jail"
}
+11
View File
@@ -0,0 +1,11 @@
WORLDPACKAGE= bluetooth
SUBPACKAGES= dbg dev lib man
COMPAT_PKGS= dbg dev lib
# Bluetooth isn't applicable to jails.
PKG_SETS= optional
# rfcomm_pppd(8) uses ppp(8)
PKG_DEPS.bluetooth+= ppp
.include <bsd.pkg.mk>
@@ -24,7 +24,3 @@ network devices, including the /etc/rc.d/bluetooth service which manages
the Bluetooth stack when Bluetooth devices are attached or removed, and
the rfcomm_pppd(8) daemon which manages PPP connections over Bluetooth.
EOD
annotations {
set = "optional"
}
+5
View File
@@ -0,0 +1,5 @@
WORLDPACKAGE= bmake
PKG_SETS= devel
.include <bsd.pkg.mk>
@@ -22,7 +22,3 @@ desc = <<EOD
make(1) allows programs to be built from source files based on a specification
of the program's dependencies called a Makefile.
EOD
annotations {
set = devel
}
+24
View File
@@ -0,0 +1,24 @@
.include <src.opts.mk>
WORLDPACKAGE= bootloader
SUBPACKAGES=
# bootloader-dbg is only built if we're building userboot, which is specific
# to amd64.
.if ${MACHINE_CPUARCH} == "amd64"
SUBPACKAGES+= dbg
.endif
# The bootloader "dev" package only contains manpages.
.if ${MK_MAN} != "no"
. if ${MK_MANSPLITPKG} != "no"
SUBPACKAGES+= man
. else
SUBPACKAGES+= dev
. endif
.endif
# The bootloader isn't normally used in a jail.
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -23,7 +23,3 @@ The boot loader is used to bootstrap the kernel from the system firmware
environment during startup. This package contains the loader itself and
various configuration files and scripts used by the loader.
EOD
annotations {
set = minimal
}
+7
View File
@@ -0,0 +1,7 @@
WORLDPACKAGE= bsdconfig
SUBPACKAGES= man
# bsdconfig is written in shell script, so it needs /bin/sh
PKG_DEPS.bsdconfig+= runtime
.include <bsd.pkg.mk>
@@ -25,7 +25,3 @@ configuration, including services, networking and disks.
This package also provides sysrc(8), a command-line utility for managing
the rc.conf(5) configuration.
EOD
annotations {
set = "optional,optional-jail"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= bsdinstall
# bsdinstall is written in shell script, so it needs /bin/sh
PKG_DEPS.bsdinstall+= runtime
# The pkgbase script requires flua
PKG_DEPS.bsdinstall+= flua
.include <bsd.pkg.mk>
@@ -35,7 +35,3 @@ bsdinstall is used for installation of new systems, both for system setup from
installation media, e.g., CD-ROMs, and for use on live systems to prepare VM
images and jails.
EOD
annotations {
set = "optional,optional-jail"
}
+5
View File
@@ -0,0 +1,5 @@
WORLDPACKAGE= bsnmp
SUBPACKAGES= dbg dev man
COMPAT_PKGS= dbg dev lib
.include <bsd.pkg.mk>
@@ -40,7 +40,3 @@ Protocol). It is intended to serve only the absolute basic MIBs and
implement all other MIBs through loadable modules. In this way the
bsnmpd can be used in unexpected ways.
EOD
annotations {
set = "optional,optional-jail"
}
+7
View File
@@ -0,0 +1,7 @@
WORLDPACKAGE= bzip2
SUBPACKAGES= dbg dev lib man
COMPAT_PKGS= dbg dev lib
PKG_SETS= minimal minimal-jail
.include <bsd.pkg.mk>
@@ -6,7 +6,3 @@ algorithm, and Huffman coding. Compression is generally considerably better
than that achieved by more conventional LZ77/LZ78-based compressors, and
approaches the performance of the PPM family of statistical compressors.
EOD
annotations {
set = "minimal,minimal-jail"
}
+11
View File
@@ -0,0 +1,11 @@
WORLDPACKAGE= caroot
SUBPACKAGES=
PKG_SETS= minimal minimal-jail
UCLSRC= common.ucl
UCLSRC.caroot= caroot.ucl
PKG_DEPS.caroot+= certctl
.include <bsd.pkg.mk>
@@ -1,8 +1,5 @@
deps {
"certctl": {
version = "${VERSION}"
}
}
.include(try=false) "${SRCDIR}/common.ucl"
scripts: {
post-install = "/usr/sbin/certctl -D${PKG_ROOTDIR}/ ${PKG_METALOG:+-U -M $PKG_METALOG} rehash"
post-deinstall = "/usr/sbin/certctl -D${PKG_ROOTDIR}/ ${PKG_METALOG:+-U -M $PKG_METALOG} rehash"
@@ -30,7 +30,3 @@ refer to:
https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/
EOD
annotations {
set = "minimal,minimal-jail"
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= ccdconfig
# ccdconfig doesn't work in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -22,7 +22,3 @@ desc = <<EOD
ccdconfig(8) is used to configure the concatenated disk driver, ccd(4).
ccdconfig(8) may also be started on boot using the "ccd" rc(8) service.
EOD
annotations {
set = "optional"
}
+7
View File
@@ -0,0 +1,7 @@
WORLDPACKAGE= certctl
PKG_SETS= minimal minimal-jail
PKG_DEPS.certctl+= openssl
.include <bsd.pkg.mk>
@@ -31,7 +31,3 @@ desc = <<EOD
The certctl utility manages the list of TLS Certificate Authorities that are
trusted by applications that use OpenSSL.
EOD
annotations {
set = "minimal,minimal-jail"
}
+10
View File
@@ -0,0 +1,10 @@
WORLDPACKAGE= clang
SUBPACKAGES= dbg dev man
PKG_SETS= devel
PKG_LICENSES= "Apache-2.0 WITH LLVM-exception"
PKG_DEPS.clang+= lld
PKG_DEPS.clang+= libcompiler_rt-dev
.include <bsd.pkg.mk>
@@ -25,8 +25,7 @@ This package provides the clang(1) frontend as well as related utilities for
working with object files.
EOD
licenses = [ "Apache-2.0 WITH LLVM-exception" ]
annotations {
set = devel
}
shlibs_required_ignore: [
"libc.so.7:32",
"libgcc_s.so.1:32",
]
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= clibs
SUBPACKAGES= dbg dev man
COMPAT_PKGS= dbg dev lib
PKG_SETS= minimal minimal-jail
PKG_VITAL.clibs=
.include <bsd.pkg.mk>
@@ -22,7 +22,3 @@ desc = <<EOD
This package provides the basic runtime libraries required for system operation,
including libc and libc++, and the runtime link loader /libexec/ld-elf.so.1.
EOD
annotations {
set = "minimal,minimal-jail"
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= console-tools
# console-tools isn't applicable to jails.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -29,7 +29,3 @@ to the system:
* moused(8) can be used to interface with a mouse and provide a graphical
mouse cursor on the video console.
EOD
annotations {
set = "optional"
}
+5
View File
@@ -0,0 +1,5 @@
WORLDPACKAGE= cron
PKG_SETS= minimal minimal-jail
.include <bsd.pkg.mk>
@@ -25,7 +25,3 @@ file or user-specific crontabs installed using the crontab(1) utility.
This implementation of cron(8) is based on Vixie Cron.
EOD
annotations {
set = "minimal,minimal-jail"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= csh
.include <bsd.pkg.mk>
@@ -38,7 +38,3 @@ interactive login shell and a shell script command processor. It includes
a command-line editor, programmable word completion, spelling correction,
a history mechanism, job control, and a C-like syntax.
EOD
annotations {
set = "optional,optional-jail"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= ctf
SUBPACKAGES= dbg dev lib man
COMPAT_PKGS= dbg dev lib
PKG_LICENSES= CDDL-1.0
PKG_SETS= devel
.include <bsd.pkg.mk>
@@ -32,9 +32,3 @@ This package provides the ctfconvert(1), ctfdump(1) and ctfmerge(1) utilities
which are used to work with CTF data, and the libctf library which allows
applications to access CTF debugging information programmatically.
EOD
licenses = [ "CDDL-1.0" ]
annotations {
set = devel
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= ctl
# The CAM target layer doesn't work in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -39,7 +39,3 @@ the CAM Target Layer configuration, accepting incoming iSCSI connections,
performing authentication and passing connections to the kernel part of the
native iSCSI target.
EOD
annotations {
set = "optional"
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= cxgbe-tools
# cxgbe-tools is not generally useful in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -25,7 +25,3 @@ state of the interface, loading firmware, and configuring features such
as the hardware packet filter, Quality-of-Service (QoS) scheduler, and
TCP offload engine.
EOD
annotations {
set = "optional"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= devd
PKG_SETS= minimal minimal-jail
# devd uses /bin/sh to invoke hooks.
PKG_DEPS.devd+= runtime
.include <bsd.pkg.mk>
@@ -34,7 +34,3 @@ dhclient(8) instance when the same adapter is removed. Another example would
be for devd to use a table to locate and load via kldload(8) the proper driver
for an unrecognized device that is added to the system.
EOD
annotations {
set = "minimal,minimal-jail"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= devmatch
SUBPACKAGES= dbg dev man
COMPAT_PKGS= dbg dev lib
# devmatch is not applicable to jails.
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -23,7 +23,3 @@ The devmatch(8) utility is used to load kernel drivers for hardware attached to
the running system. devmatch(8) is started at boot by rc(8), and during system
operation by devd(8) when new hardware is attached to the system.
EOD
annotations {
set = minimal
}
+10
View File
@@ -0,0 +1,10 @@
WORLDPACKAGE= dhclient
PKG_LICENSES= BSD-3-Clause
PKG_SETS= minimal minimal-jail
# dhclient uses resolvconf to update /etc/resolv.conf in case the
# DHCP server returns nameserver addresses.
PKG_DEPS.dhclient+= resolvconf
.include <bsd.pkg.mk>
@@ -42,9 +42,3 @@ address.
The DHCP client is typically started automatically on boot, or by devd(8)
when a new network interface is attached to the system.
EOD
licenses = [ "BSD-3-Clause" ]
annotations {
set = "minimal,minimal-jail"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= dma
.include <bsd.pkg.mk>
@@ -46,7 +46,3 @@ systems, nor act as a mail exchanger for other hosts. If an SMTP server
is required, or when more advanced mail routing is needed, consider using
the $PKG_NAME_PREFIX-sendmail package instead.
EOD
annotations {
set = "optional,optional-jail"
}
+9
View File
@@ -0,0 +1,9 @@
WORLDPACKAGE= dtrace
SUBPACKAGES= dbg dev man
COMPAT_PKG= yes
COMPAT_PKGS= dbg dev
# DTrace doesn't work in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ This package provides the dtrace(1) utility for executing DTrace scripts written
in the D language, the utilities lockstat(1) and plockstat(1), and several
example D scripts installed in /usr/share/dtrace.
EOD
annotations {
set = "optional"
}
+10
View File
@@ -0,0 +1,10 @@
WORLDPACKAGE= dwatch
SUBPACKAGES= man
# DTrace doesn't work in a jail.
PKG_SETS= optional
# dwatch is implemented using dtrace.
PKG_DEPS.dwatch+= dtrace
.include <bsd.pkg.mk>
@@ -35,7 +35,3 @@ DTrace scripts to coalesce trace output by date/time, process info, and
[optionally] probe-specific data. dwatch also includes a set of pre-defined
profiles for tracing common system operations.
EOD
annotations {
set = "optional"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= ee
.include <bsd.pkg.mk>
@@ -23,7 +23,3 @@ The Easy Editor, ee(1), is a simple, user-friendly text editor. It provides
a full-screen editing interface similar to vi(1), but is easier to learn for
new users.
EOD
annotations {
set = "optional,optional-jail"
}
+13
View File
@@ -0,0 +1,13 @@
WORLDPACKAGE= efi-tools
SUBPACKAGES= dbg dev man
# The 32-bit libraries are only built on certain architectures.
.if ${MACHINE_ARCH} == "aarch64"
COMPAT_PKG= yes
COMPAT_PKGS= dbg dev
.endif
# efi-tools is not applicable to jails.
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -35,7 +35,3 @@ the UEFI firmware from a running system:
* efitable(8) can dump UEFI tables.
EOD
annotations {
set = minimal
}
+4
View File
@@ -0,0 +1,4 @@
WORLDPACKAGE= examples
SUBPACKAGES=
.include <bsd.pkg.mk>
@@ -24,7 +24,3 @@ The examples are provided as self-contained C source code.
Some useful graphics data related to the "Beastie" mascot are also provided.
EOD
annotations {
set = "optional,optional-jail"
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= fd
# Using fd in a jail would be unusual.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -26,7 +26,3 @@ by the fdc(4) driver:
* fdformat(8) is used to format disks.
* fdread(1) and fdwrite(1) read and write data to or from floppy disks.
EOD
annotations {
set = "optional"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= fetch
SUBPACKAGES= dbg dev man
COMPAT_PKG= yes
COMPAT_PKGS= dbg dev
PKG_SETS= minimal minimal-jail
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ are newer on the remote site.
Also provided is fetch(3), a library which allows applications to use
this functionality programmatically.
EOD
annotations {
set = "minimal,minimal-jail"
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= firmware-iwm
SUBPACKAGES=
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -22,7 +22,3 @@ desc = <<EOD
This firmware is required for Intel 802.11ac wireless network cards supported
by the iwm(4) driver.
EOD
annotations {
set = minimal
}
+15
View File
@@ -0,0 +1,15 @@
.include <src.opts.mk>
WORLDPACKAGE= flua
SUBPACKAGES= dbg
# The flua "dev" package only contains manpages.
.if ${MK_MAN} != "no"
. if ${MK_MANSPLITPKG} != "no"
SUBPACKAGES+= man
. else
SUBPACKAGES+= dev
. endif
.endif
.include <bsd.pkg.mk>
@@ -26,7 +26,3 @@ without notice.
Supported versions of Lua for general use are available in the FreeBSD Ports
Collection.
EOD
annotations {
set = "optional,optional-jail"
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= ftp
.include <bsd.pkg.mk>
@@ -22,7 +22,3 @@ desc = <<EOD
The ftp(1) utility connects to a remote system implementing the Internet FTP
protocol (RFC 959) to upload and download files.
EOD
annotations {
set = "optional,optional-jail"
}
+7
View File
@@ -0,0 +1,7 @@
WORLDPACKAGE= fwget
SUBPACKAGES= man
# fwget is not applicable to jails.
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -28,7 +28,3 @@ FreeBSD Ports Collection.
The fwget(8) utility can be used to detect and install the necessary
firmware packages for hardware devices present on a running system.
EOD
annotations {
set = minimal
}
+3
View File
@@ -0,0 +1,3 @@
WORLDPACKAGE= games
.include <bsd.pkg.mk>
@@ -26,7 +26,3 @@ Games distributed with the system:
* caesar(6) and rot13(6) implement a trivial (and easily broken) text
encryption system called a Caesar cipher.
EOD
annotations {
set = "optional,optional-jail"
}
+8
View File
@@ -0,0 +1,8 @@
WORLDPACKAGE= geom
COMPAT_PKG= yes
COMPAT_PKGS= dbg
# GEOM doesn't work in a jail.
PKG_SETS= minimal
.include <bsd.pkg.mk>
@@ -23,7 +23,3 @@ The geom(4) subsystem provides a modular, generic interface to manage disk
devices, including disk partitioning, basic RAID, and block-level encryption.
This package provides the command-line utilities used to manage GEOM.
EOD
annotations {
set = minimal
}
+6
View File
@@ -0,0 +1,6 @@
WORLDPACKAGE= ggate
# GEOM Gate doesn't work in a jail.
PKG_SETS= optional
.include <bsd.pkg.mk>
@@ -30,7 +30,3 @@ such as iSCSI.
This package provides the ggated(8) server used to export devices, and
the ggatec(8) client used to access them.
EOD
annotations {
set = "optional"
}
+4
View File
@@ -0,0 +1,4 @@
WORLDPACKAGE= googletest
SUBPACKAGES= dbg dev
.include <bsd.pkg.mk>
@@ -27,7 +27,3 @@ base system, and is not intended for third-party users. A supported
version of Google Test may be found in the FreeBSD Ports Collection
as devel/googletest.
EOD
annotations {
set = "optional,optional-jail"
}

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