History log of /src/Makefile.inc1 (Results 26 – 50 of 6895)
Revision Date Author Comments
# 300aa267 11-Dec-2024 Ed Maste <emaste@FreeBSD.org>

Makefile.inc1: Force NO_ROOT for distribute* and package*

These targets are used to produce legacy dist sets for install media and
now always use NO_ROOT mode. Extend existing logic that forces NO_

Makefile.inc1: Force NO_ROOT for distribute* and package*

These targets are used to produce legacy dist sets for install media and
now always use NO_ROOT mode. Extend existing logic that forces NO_ROOT
mode to these cases to ensure they do not run in the wrong mode.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50551

show more ...


# d466cb73 24-Sep-2025 Warner Losh <imp@FreeBSD.org>

make packages: Fix edge case of no kernel

When NO_INSTALLKERNEL and NO_INSTALLEXTRAKERNELS are set, or when
BUILDKERNELS is empty, we can fail to define the create-kernel-packages
make target, which

make packages: Fix edge case of no kernel

When NO_INSTALLKERNEL and NO_INSTALLEXTRAKERNELS are set, or when
BUILDKERNELS is empty, we can fail to define the create-kernel-packages
make target, which we call unconditionally. So if do not have a kernel
staging dir, go ahead and provide an empty create-kernel-packages so
that when it's used elsewhere, the build succeeds.

This lets me build a tree and package it when I don't have a kernel, for
jails and other similar environments. There's no change if any kernels
are built, since that will provide the necessary make target that does
useful things for that case.

Sponsored by: Netflix

show more ...


# f259daa7 23-Sep-2025 Lexi Winter <ivy@FreeBSD.org>

Makefile.inc1: Fix package-pkg with a non-default LOCALBASE

package-pkg (via make-pkg-package.sh) passes CONFIGURE_ARGS to make when
building ports-mgmt/pkg, which overrides the port's default confi

Makefile.inc1: Fix package-pkg with a non-default LOCALBASE

package-pkg (via make-pkg-package.sh) passes CONFIGURE_ARGS to make when
building ports-mgmt/pkg, which overrides the port's default configure
args that are supposed to set --prefix. This means that pkg is always
built with the default prefix of /usr/local, which then fails when ports
tries to package it from LOCALBASE.

Work around this by explicitly adding --prefix to CONFIGURE_ARGS.

MFC after: 1 day
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D52634

show more ...


# f6d1cdab 23-Sep-2025 Lexi Winter <ivy@FreeBSD.org>

Makefile.inc1: Handle pkg development versions

Development versions of pkg have a version like "2.3.0-d8bbde1c3-dirty",
which is not handled by PKG_BIN_VERSION, so PKG_EXT ends up being "tar"
and th

Makefile.inc1: Handle pkg development versions

Development versions of pkg have a version like "2.3.0-d8bbde1c3-dirty",
which is not handled by PKG_BIN_VERSION, so PKG_EXT ends up being "tar"
and this breaks update-packages.

Fix the PKG_BIN_VERSION logic, and while here, remove backwards compat
for pkg versions prior to 2.0, which no one should be using to build
main or stable/15. This means nothing is left to use PKG_BIN_VERSION,
but continue to set it, since we might need it again in the future.

MFC after: 1 day
Reviewed by: manu, kevans
Differential Revision: https://reviews.freebsd.org/D52666

show more ...


# e87b75a8 19-Sep-2025 Colin Percival <cperciva@FreeBSD.org>

pkgbootstrap: Gate building from ports

In release builds we want to build pkg from the ports tree for reasons
mentioned in a previous commit; but non-release pkgbase builds may be
just fine with ins

pkgbootstrap: Gate building from ports

In release builds we want to build pkg from the ports tree for reasons
mentioned in a previous commit; but non-release pkgbase builds may be
just fine with installing pkg from pkg.freebsd.org.

Gate it behind BOOTSTRAP_PKG_FROM_PORTS rather than building form ports
any time we have a ports tree available.

While I'm here, make the pkgbase-repo target in release/Makefile
create the temporary directories we need for building.

Reviewed by: ivy
MFC after: 6 hours
Sponsored by: https://www.patreon.com/cperciva
Fixes: 2c06b824436d ("pkgbootstrap: Build pkg if PORTSDIR exists")

show more ...


# 060f7eda 19-Sep-2025 Colin Percival <cperciva@FreeBSD.org>

pkgbase: Don't include pkg by default

We need to put pkg into the pkgbase repository for release builds, but
not for non-release pkgbase builds. Gate the contents of package-pkg
behind INCLUDE_PKG_

pkgbase: Don't include pkg by default

We need to put pkg into the pkgbase repository for release builds, but
not for non-release pkgbase builds. Gate the contents of package-pkg
behind INCLUDE_PKG_IN_PKGBASE_REPO=YES and set that when building
releases.

Reviewed by: ivy
MFC after: 6 hours
Sponsored by: https://www.patreon.com/cperciva

show more ...


# 2c06b824 18-Sep-2025 Colin Percival <cperciva@FreeBSD.org>

pkgbootstrap: Build pkg if PORTSDIR exists

If we don't already have the pkg tool installed, we need to install it
before we can build packages for pkgbase. (This arises in release
builds which run

pkgbootstrap: Build pkg if PORTSDIR exists

If we don't already have the pkg tool installed, we need to install it
before we can build packages for pkgbase. (This arises in release
builds which run in clean chroots; most users will have pkg installed
already.) Installing it from pkg.freebsd.org via "pkg bootstrap" runs
into two problems: First, it's an external dependency with security
implications; and second, there's a bootstrapping problem on new major
versions where pkg.freebsd.org does not have packages yet.

Instead, if we have a ports tree, use it to build pkg ourselves.

With hat: re
MFC after: 6 hours
Sponsored by: https://www.patreon.com/cperciva

show more ...


# 98d74493 18-Sep-2025 Colin Percival <cperciva@FreeBSD.org>

Bootstrap pkg before building a pkg package

At sufficiently high levels of build parallelism we can try to create
the pkg before any of the other pkgbase-creation steps have taken
care of the bootst

Bootstrap pkg before building a pkg package

At sufficiently high levels of build parallelism we can try to create
the pkg before any of the other pkgbase-creation steps have taken
care of the bootstrap.

Fixes: 6b5adf33873a ("Include a pkg package in the pkgbase repo")
MFC after: 12 hours
Sponsored by: https://www.patreon.com/cperciva

show more ...


# 6b5adf33 17-Sep-2025 Colin Percival <cperciva@FreeBSD.org>

Include a pkg package in the pkgbase repo

It is essential that users be able to install the FreeBSD base system
from release media and have all the bits needed to update the FreeBSD
base system with

Include a pkg package in the pkgbase repo

It is essential that users be able to install the FreeBSD base system
from release media and have all the bits needed to update the FreeBSD
base system without touching the ports tree or pkg.freebsd.org. To
that end, resurrect (and heavily rewrite) the make-pkg-package.sh
script and hook it into the create-packages target; if /usr/ports
exists when building pkgbase packages, we'll also (cross)build pkg
and include it in the repository.

Scripting for actually installing this package as part of the FreeBSD
installation process to come later, but I wanted this in the tree in
time to test it in this week's snapshots.

MFC after: 1 day
Sponsored by: https://www.patreon.com/cperciva

show more ...


# 66f36c36 12-Sep-2025 Lexi Winter <ivy@FreeBSD.org>

packages: Add meta-package sets

Add several metapackages which contain no files themselves, but depend
on other packages. This allows the user to install a system by using
a set like "FreeBSD-set-m

packages: Add meta-package sets

Add several metapackages which contain no files themselves, but depend
on other packages. This allows the user to install a system by using
a set like "FreeBSD-set-minimal" instead of having to know which
specific packages are required, and it means if we add more package
in the future, existing installations will get them automatically as
long as they were installed using a set.

The defined sets are significantly less granular than the actual
packages; the assumption is that users who want a very specific set of
packages installed can do that manually, while sets are intended more
for typical users who just want to install FreeBSD.

The following sets are defined:

* minimal: the set of packages required to boot the system and bring
up a multi-user UNIX system. This includes hardware support,
networking (wireless, DHCP), basic functionality like syslogd, cron
and periodic. It does not include a kernel, because the kernels are
quite large and the user might want to use a custom kernel.

sendmail and DMA are not included in minimal. Since we provide two
MTAs, the user should select which one they want, or install one from
ports. sshd is not included because it's not required for the base
system, and the user might want to install it from ports.

Some other significant subsystems (e.g. NFS, Kerberos) are also not
included.

The minimal set does not include any libraries itself, since we rely
on dependencies to pull these in. This implies it doesn't include
library manpages, which is fine, since users won't want manpages for
libraries unless they've also installed the development packages.

* devel: the compiler toolchain for building software, along with all
"-dev" packages which include header files and static libraries.

* lib32: 32-bit compatibility packages. This includes both runtime
and development packages.

* kernels: the kernel packages. For freebsd.org builds, this will be
GENERIC, GENERIC-DEBUG, etc., for custom builds it will be whatever
was set in $KERNCONF.

* base: everything else; this includes the entire base system.

For each set, also generate a <setname>-dbg set containing the debug
packages for the set.

The sets are built along with the rest of the packages using a new
script called create-sets.sh, which examines the "set" annotation in
each package and puts it in the appropriate set. This is in
anticipation of the later "groups" feature appearing in pkg itself, at
which point we can simply replace the set annotation with the group.

MFC after: 3 days
Reviewed by: imp, bapt
Differential Revision: https://reviews.freebsd.org/D52412

show more ...


# 1bc7ee74 12-Sep-2025 Baptiste Daroussin <bapt@FreeBSD.org>

pkgbase: fix alpha and beta versioning

MFC After: 1 day


# 13e7b219 03-Sep-2025 Mark Johnston <markj@FreeBSD.org>

Makefile.inc1: Build openssl as a certctl dependency on old FreeBSD

X509_NAME_hash_ex() is not available in OpenSSL 1.x.

Reviewed by: des
Reported by: syzbot+54c1e57e7184582a8f59@syzkaller.appspotm

Makefile.inc1: Build openssl as a certctl dependency on old FreeBSD

X509_NAME_hash_ex() is not available in OpenSSL 1.x.

Reviewed by: des
Reported by: syzbot+54c1e57e7184582a8f59@syzkaller.appspotmail.com
Fixes: c340ef28fd38 ("certctl: Reimplement in C")
Differential Revision: https://reviews.freebsd.org/D52291

show more ...


# ac7ed266 16-Aug-2024 Ed Maste <emaste@FreeBSD.org>

Makefile.inc1: Avoid including cwd in path

Buildworld failed when objcopy tried to overwrite itself, with `objcopy:
open objcopy failed: Text file busy`. The PATH ended up with `::`,
effectively in

Makefile.inc1: Avoid including cwd in path

Buildworld failed when objcopy tried to overwrite itself, with `objcopy:
open objcopy failed: Text file busy`. The PATH ended up with `::`,
effectively including the current directory, and we found the wrong
objcopy.

PR: 261215
Sponsored by: The FreeBSD Foundation

show more ...


# ebf862fb 25-Aug-2025 Maxim Sobolev <sobomax@FreeBSD.org>

build: fix list-old-dirs / check-old-dirs

Fix list-old-dirs to not generate empty line at the end of the
output if OLD_DIRS happens to have a space at the end of the
last word of the output before t

build: fix list-old-dirs / check-old-dirs

Fix list-old-dirs to not generate empty line at the end of the
output if OLD_DIRS happens to have a space at the end of the
last word of the output before the final \n. Then that space
is turned into \n and we end up with a blank line.

Futhermore this gets converted into a "/" i.e. root fs when
calling check-old-dirs.

This is the regression since a8267ecc3df0a.

Reviewed by: emaste
Approved by: emaste
Sponsored by: Sippy Software, Inc.
Differential Revision: https://reviews.freebsd.org/D52153
MFC After: 3 days

show more ...


# eebadc7d 21-Aug-2025 Mark Johnston <markj@FreeBSD.org>

sys/conf: Remap paths for reproducibility

As in bsd.lib.mk and bsd.prog.mk, we need to remap paths in the kernel
and in kernel modules when reproducible builds are configured. Add
directives to ker

sys/conf: Remap paths for reproducibility

As in bsd.lib.mk and bsd.prog.mk, we need to remap paths in the kernel
and in kernel modules when reproducible builds are configured. Add
directives to kern.post.mk and kmod.mk to remap the src, obj and sysroot
dirs.

For the sysroot, we need to pass the value of the SYSROOT variable to
the kernel makefiles, which involves changing Makefile.inc1. In so
doing I reverted a portion of commit 35fb812adfc21; I can't see any harm
in passing the SYSROOT variable down.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D50953

show more ...


# dc5ba6b8 20-Aug-2025 Lexi Winter <ivy@FreeBSD.org>

Remove MK_GSSAPI

For MIT Kerberos, MK_GSSAPI has no meaning: GSSAPI is a required part of
Kerberos and is always built if MK_KERBEROS is enabled. Backport this
behaviour to Heimdal so it works the

Remove MK_GSSAPI

For MIT Kerberos, MK_GSSAPI has no meaning: GSSAPI is a required part of
Kerberos and is always built if MK_KERBEROS is enabled. Backport this
behaviour to Heimdal so it works the same way.

While here, change Heimdal's libcom_err and compile_et to be selected by
MK_KERBEROS, not MK_KERBEROS_SUPPORT, since these are part of Kerberos
and third-party users might need it even if Kerberos support is disabled
in the base system. This means MK_KERBEROS_SUPPORT installs the same
files with both MIT and Heimdal.

Reviewed by: cy
Differential Revision: https://reviews.freebsd.org/D51859

show more ...


# aef16fc3 16-Aug-2025 Kyle Evans <kevans@FreeBSD.org>

build: remove certctl requirement for host OpenSSL libs on macOS

Some platforms, like macOS, do not expose headers for the system's
libcrypto for public consumption. libcrypto is relatively heavy a

build: remove certctl requirement for host OpenSSL libs on macOS

Some platforms, like macOS, do not expose headers for the system's
libcrypto for public consumption. libcrypto is relatively heavy and
needs to know, e.g., the host system's endianness, so we scope the build
down to macOS where OpenSSL headers are known to not be present and we
can be reasonably certain that most of the systems today that would be
cross-building are little endian.

We still don't bother if building WITHOUT_OPENSSL since the end result
is expected to be used by OpenSSL, but perhaps we could revisit that
independently in case one, e.g., brings their own implementation.

Reported by: jrtc27
Reviewed by: jrtc27, ngie
Fixes: c340ef28fd38 ("certctl: Reimplement in C")
Differential Revision: https://reviews.freebsd.org/D51935

show more ...


# de3e5dbe 19-Aug-2025 Enji Cooper <ngie@FreeBSD.org>

Makefile.inc1: garbage collect unused variable: install-info

The variable's definition was removed with texinfo in
2d2813618c3818d7d41a7ced1fca4a1a01d3591d, but the reference to the
variable was lef

Makefile.inc1: garbage collect unused variable: install-info

The variable's definition was removed with texinfo in
2d2813618c3818d7d41a7ced1fca4a1a01d3591d, but the reference to the
variable was left behind.

This is effectively a no-op cleanup.

MFC after: 3 days

show more ...


# c340ef28 18-Aug-2025 Dag-Erling Smørgrav <des@FreeBSD.org>

certctl: Reimplement in C

Notable changes include:

* We no longer forget manually untrusted certificates when rehashing.

* Rehash will now scan the existing directory and progressively replace
i

certctl: Reimplement in C

Notable changes include:

* We no longer forget manually untrusted certificates when rehashing.

* Rehash will now scan the existing directory and progressively replace
its contents with those of the new trust store. The trust store as a
whole is not replaced atomically, but each file within it is.

* We no longer attempt to link to the original files, but we don't copy
them either. Instead, we write each certificate out in its minimal
form.

* We now generate a trust bundle in addition to the hashed diretory.
This also contains only the minimal DER form of each certificate.
This allows e.g. Unbound to preload the bundle before chrooting.

* The C version is approximately two orders of magnitude faster than the
sh version, with rehash taking ~100 ms vs ~5-25 s depending on whether
ca_root_nss is installed.

* We now also have tests.

Reviewed by: kevans, markj
Differential Revision: https://reviews.freebsd.org/D42320
Differential Revision: https://reviews.freebsd.org/D51896

show more ...


# 31ac42b4 17-Aug-2025 Colin Percival <cperciva@FreeBSD.org>

Revert certctl reimplementation and follow-ups

The reimplementation of certctl, while much needed, broke the release
build and 72 hours later corrections are still under review (D51896).

This rever

Revert certctl reimplementation and follow-ups

The reimplementation of certctl, while much needed, broke the release
build and 72 hours later corrections are still under review (D51896).

This revert should be reverted once that is ready to land; I just need
this out of the tree temporarily because breakage is interfering with
release engineering for the upcoming 15.0-RELEASE.

Unsquashed reversions:
Revert "etc: add missing mtree entry for certctl tests"
This reverts commit f751757259158a8d3b81d4fb7576b3ebe226dece.
Revert "certctl: Fix bootstrap build"
This reverts commit c989e3cc3da1bfd8ac3ec5a05d1e86ab8ff719f7.
Revert "certctl: Reimplement in C"
This reverts commit 81d8827ad8752e35411204541f1f09df1481e417.

With hat: re@

show more ...


# 0090096e 15-Aug-2025 Kyle Evans <kevans@FreeBSD.org>

build: introduce the notion of a build epoch

Idea and file format shamelessly stolen from CheriBSD, but reimplemented
in terms of the standard FreeBSD build system. We'll use this in some
events th

build: introduce the notion of a build epoch

Idea and file format shamelessly stolen from CheriBSD, but reimplemented
in terms of the standard FreeBSD build system. We'll use this in some
events that call for a deeper cleansing, typically reserved for
situations where the dependencies are too complicated to unwind. This
notably does not preclude us from doing separate cleansing of world for
specific src.conf(5) knob changes that would require a rebuild.

In the FreeBSD version, we either stamp the OBJTOP we're cleaning
(bootstrap or the full OBJDIR) with the current epoch and bail out for
unstamped objdirs, or we compare and either `rm -rf` or `cleandir` as
necessary.

Reviewed by: brooks, des
Differential Revision: https://reviews.freebsd.org/D51848

show more ...


# 81d8827a 13-Aug-2025 Dag-Erling Smørgrav <des@FreeBSD.org>

certctl: Reimplement in C

Notable changes include:

* We no longer forget manually untrusted certificates when rehashing.

* Rehash will now scan the existing directory and progressively replace
i

certctl: Reimplement in C

Notable changes include:

* We no longer forget manually untrusted certificates when rehashing.

* Rehash will now scan the existing directory and progressively replace
its contents with those of the new trust store. The trust store as a
whole is not replaced atomically, but each file within it is.

* We no longer attempt to link to the original files, but we don't copy
them either. Instead, we write each certificate out in its minimal
form.

* We now generate a trust bundle in addition to the hashed diretory.
This also contains only the minimal DER form of each certificate.

* The C version is approximately two orders of magnitude faster than the
sh version, with rehash taking ~100 ms vs ~5-25 s depending on whether
ca_root_nss is installed.

* The DISTBASE concept has been dropped; the same effect can be achieved
by adjusting DESTDIR.

* We now also have rudimentary tests.

Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D42320

show more ...


# e26259f4 31-Jul-2025 Cy Schubert <cy@FreeBSD.org>

gssapi,krb5: Replace libgssapi with the MIT version

lib/libgssapi is based on Heimdal. As on Linux systems, the MIT
libgssapi_krb5 replaces it. With both gssapi libraries and header files
installed

gssapi,krb5: Replace libgssapi with the MIT version

lib/libgssapi is based on Heimdal. As on Linux systems, the MIT
libgssapi_krb5 replaces it. With both gssapi libraries and header files
installed results in broken buildworld (gssd) and ports that will not
build without modifications to support the MIT gssapi in an alternate
location.

73ed0c7992fd removed the MIT GSSAPI headers from /usr/include. Apps using
MIT KRB5 gssapi functions and structures will fail to build without this
patch.

This patch includes a temporary patch to usr.sbin/gssd to allow it
to build with this patch. rmacklem@ has a patch for this and for
kgssapi that uses this patch to resolve kgssapi issues for NFS with
Kerberos.

This patch is an updated version of D51661 to allow it to build following
additional patchs to the tree.

This should have been implmented with 7e35117eb07f.

Fixes: 7e35117eb07f, 73ed0c7992fd
Differential Revision: https://reviews.freebsd.org/D51661

show more ...


# 3456a0de 06-Aug-2025 Dag-Erling Smørgrav <des@FreeBSD.org>

ObsoleteFiles: Stop looking for catpages

We stopped installing catpages in 2017, before stable/12.

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D51715


# 7b68893f 29-Jul-2025 Baptiste Daroussin <bapt@FreeBSD.org>

krb5: remove libedit from the bootstrap tools

libedit breaks the bootstrap on MacOS and Linux.

Activate libedit only for the regular build not for the bootstrap
tools

While here fix the definition

krb5: remove libedit from the bootstrap tools

libedit breaks the bootstrap on MacOS and Linux.

Activate libedit only for the regular build not for the bootstrap
tools

While here fix the definition of the dependency chain between
libkrb5ss and libedit (and libtinfow) via src.libnames.mk

Remove a local patch to find the readline compatible header and
find them via proper CFLAGS.

show more ...


12345678910>>...276