10 Commits
Author SHA1 Message Date
Cy Schubert 1876de606e krb5: Expose missing symbols
Add symbols found in the port but not in base. This requires replacing
a shared libkrb5profile.so with libkrb5profile.a (with -fPIC so it can
be used by shared libraries). We do this by making libkrb5profile
INTERNALLIB.

Base currently has libkrb5profile in a shared library. The patch moves
those functions to the various "consumer" libraries as the port does.

Symbols that should be in the other libraries are in libkrb5profile.so.
This is causing some ports issues.

PR:		291695
Reported by:	michaelo, markj,  Chris Inacio <[email protected]>
Tested by:	michaelo
Fixes:		ae07a5805b
Reviewed by:	michaelo (previous version)
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D54323
2026-01-20 05:41:02 -08:00
Lexi Winter 929f5966a9 packages: Improve handling of -lib packages
For some packages (OpenSSL, Kerberos) we want to ship runtime libraries
in a separate package, e.g. openssl and openssl-lib.  Currently this is
done using PACKAGE=openssl-lib, but that creates packages with strange
names like openssl-lib-lib32.

Instead, add a new LIB_PACKAGE option to bsd.lib.mk that causes runtime
libraries to be placed in a new -lib subpackage.  This significantly
improves the set of packages we create; for example, OpenSSL goes from:

	FreeBSD-openssl
	FreeBSD-openssl-dbg
	FreeBSD-openssl-lib
	FreeBSD-openssl-lib-dbg
	FreeBSD-openssl-lib-dbg-lib32
	FreeBSD-openssl-lib-dev
	FreeBSD-openssl-lib-dev-lib32
	FreeBSD-openssl-lib-lib32
	FreeBSD-openssl-lib-man
	FreeBSD-openssl-man

to:

	FreeBSD-openssl
	FreeBSD-openssl-dbg
	FreeBSD-openssl-dbg-lib32
	FreeBSD-openssl-dev
	FreeBSD-openssl-dev-lib32
	FreeBSD-openssl-lib
	FreeBSD-openssl-lib32
	FreeBSD-openssl-man

While here, move /usr/bin/krb5-config and /usr/bin/compile_et into
the kerberos-dev package.

Reviewed by:	des
Differential Revision:	https://reviews.freebsd.org/D51925
2025-08-23 01:57:23 +01:00
Mark Johnston b9b0e105c3 krb5: Remove some stray FreeBSD version tags 2025-08-19 13:20:21 +00:00
Lexi Winter 18a870751b krb5: Fix typo "SPDX-License-Idendifier"
sed -e s/SPDX-License-Idendifier/SPDX-License-Identifier/
2025-08-17 22:17:06 +01:00
Cy Schubert f1c4c3dacc krb5: Update MIT KRB5 from 1.21 to 1.22
Merge commit 'd82a140dad3a571d66abb2da24acbba90191f168'
2025-08-09 22:29:02 -07:00
Baptiste Daroussin 7b68893ffa 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.
2025-07-29 17:49:44 +02:00
Lexi Winter b98d0566b2 krb5: don't install /usr/include/import_err.h
This header is not installed by upstream krb5, and since it's part of
kdb5_util, installing it causes an unwanted krb5-dev package to be
created.

Reviewed by:	des
Differential Revision:	https://reviews.freebsd.org/D51419
2025-07-25 18:31:26 +01:00
Lexi Winter 2a454b05f2 krb5: remove private headers
I compared the contents of the FreeBSD-kerberos-lib-dev package with
the contents of the security/krb5 port.  Based on that, remove all
the headers which are installed by base krb5 but not by the port.
These all appear to be internal headers which are not meant to be
publicly visible.

This removes some headers with unfortunate conflict-prone names like
<internal.h> and <dyn.h>.

Reviewed by:	des, cy
Differential Revision:	https://reviews.freebsd.org/D51518
2025-07-25 18:31:26 +01:00
Lexi Winter 4cb1baa7d8 krb5: use 'kerberos' as package name
Rename krb5 and krb5-lib to kerberos and kerberos-lib to match the
existing Heimdal package names.  Since it's not possible to build or
install both at the same time, and Heimdal will be removed anyway,
there's no benefit to using a different package name for MIT Kerberos
and doing so will create friction for pkgbase users.

Move a few things (e.g., headers) from kerberos to kerberos-lib.

Move the KDC to a new package, kerberos-kdc, so the client utilities
can be installed without the KDC.  As most systems won't have the KDC
running, this saves a bit of disk space for jails/containers.

Remove a few instances of 'PACKAGE=' in target-specific Makefiles
where we can set that in the parent's Makefile.inc instead.

Revert 01c587521d ("OCI: Attempt to fix "runtime" container")
which is no longer required.

The KDC init script is still installed in the 'rc' package for
compatibility with the security/krb5 port; we should fix this
at some point, possibly after Heimdal is removed.

Reviewed by:	manu, kevans, des
Approved by:	des (mentor), kevans (mentor)
Differential Revision:	https://reviews.freebsd.org/D51420
2025-07-24 11:35:35 +01:00
Cy Schubert ee3960cba1 krb5: Add build plumbing
Add tne necessary Makefiles and header files to facilitate building
MIT KRB5 as part of buildworld. Nothing will build until the
WITH_MITKRB5/MK_MITKRB5 option has been plumbed in Makefile.inc1.

Before any changes to Makefile.inc1 are made to enable MIT KRB5,
additional commits to other affected software will need to be committed.

krb5/Makefile was inspired by kerberos5/Makefile. The Makefiles in
krb5/util and krb5/lib were inspired by those in lib/libc and in
lib/ncurses.

Differential revision:	https://reviews.freebsd.org/D50695
Sponsored by:		The FreeBSD Foundation
2025-06-15 19:49:35 -07:00