git: f947f58ce624 - main - packages: rename elftoolchain to toolchain, add more things

From: Lexi Winter <ivy_at_FreeBSD.org>
Date: Wed, 28 May 2025 01:16:41 UTC
The branch main has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=f947f58ce624b5442e24b1efa69c0ddcdf3e0ddb

commit f947f58ce624b5442e24b1efa69c0ddcdf3e0ddb
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-05-27 07:21:51 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-05-28 01:16:30 +0000

    packages: rename elftoolchain to toolchain, add more things
    
    Rename the existing "elftoolchain" package to "toolchain", and move
    everything which is gated by MK_TOOLCHAIN (e.g. lex, yacc, ...) to the
    toolchain package.
    
    This means we have one package called "toolchain" which contains all the
    development-related utilities which are not compilers or already part of
    some other package (e.g., llvm).
    
    Reviewed by:    des, emaste
    Approved by:    des (mentor)
    Differential Revision:  https://reviews.freebsd.org/D50286
---
 UPDATING                          | 12 +++++++++---
 release/packages/Makefile.package |  4 ++--
 usr.bin/addr2line/Makefile        |  2 +-
 usr.bin/ar/Makefile               |  1 +
 usr.bin/c89/Makefile              |  1 +
 usr.bin/c99/Makefile              |  1 +
 usr.bin/ctags/Makefile            |  1 +
 usr.bin/cxxfilt/Makefile          |  2 +-
 usr.bin/elfcopy/Makefile          |  2 +-
 usr.bin/file2c/Makefile           |  1 +
 usr.bin/gprof/Makefile            |  1 +
 usr.bin/indent/Makefile           |  1 +
 usr.bin/lex/Makefile              |  1 +
 usr.bin/lorder/Makefile           |  1 +
 usr.bin/mkstr/Makefile            |  1 +
 usr.bin/nm/Makefile               |  2 +-
 usr.bin/readelf/Makefile          |  2 +-
 usr.bin/rpcgen/Makefile           |  1 +
 usr.bin/size/Makefile             |  2 +-
 usr.bin/unifdef/Makefile          |  1 +
 usr.bin/xstr/Makefile             |  1 +
 usr.bin/yacc/Makefile             |  1 +
 usr.sbin/config/Makefile          |  1 +
 usr.sbin/crunch/Makefile.inc      |  2 ++
 24 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/UPDATING b/UPDATING
index 7efea1207e11..53ce5a4b3095 100644
--- a/UPDATING
+++ b/UPDATING
@@ -28,9 +28,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
 	at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
 20250527:
-	ctld(8), ctladm(8) and ctlstat(8) have moved to the new FreeBSD-ctl
-	package.  If you use pkgbase and you need the CAM Target Layer, you
-	should install the new package.
+	The CAM target layer userland, i.e. ctld(8), ctladm(8) and ctlstat(8),
+	has moved to the new FreeBSD-ctl package.  If you use pkgbase and you
+	need the CAM Target Layer, you should install the new package.
+
+	Development-related tools (e.g. ar and nm) have moved to the new
+	"FreeBSD-toolchain" package, which subsumes and obsoletes the
+	existing "FreeBSD-elftoolchain" package.  If you use pkgbase and
+	need to compile software, you should install the new package and
+	ensure the old FreeBSD-elftoolchain* packages are completely removed.
 
 20250521:
 	Commit e64fe5ad3a23 removed in6_maxmtu and its setter in6_setmaxmtu().
diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package
index da9d52f45099..c2427aa16945 100644
--- a/release/packages/Makefile.package
+++ b/release/packages/Makefile.package
@@ -63,8 +63,6 @@ ee_COMMENT= 		Easy Editor Utilities
 ee_DESC= 		Easy Editor Utilities
 efi-tools_COMMENT=	UEFI Utilities
 efi-tools_DESC=		UEFI Utilities
-elftoolchain_COMMENT=	ElfToolchain programs and libraries
-elftoolchain_DESC=	ElfToolchain programs and libraries
 examples_COMMENT=	Examples in /usr/share/examples
 examples_DESC=		Examples in /usr/share/examples
 fd_COMMENT=		Floppy disk support
@@ -175,6 +173,8 @@ telnet_COMMENT=		Telnet client
 telnet_DESC=		Telnet client
 tests_COMMENT= 		Test Suite
 tests_DESC= 		Test Suite
+toolchain_COMMENT=	Utilities for program development
+toolchain_DESC=		Utilities for program development
 ufs_COMMENT=		UFS Libraries and Utilities
 ufs_DESC=		UFS Libraries and Utilities
 unbound_COMMENT= 	Unbound DNS Resolver
diff --git a/usr.bin/addr2line/Makefile b/usr.bin/addr2line/Makefile
index 652282152269..e58ed082d28c 100644
--- a/usr.bin/addr2line/Makefile
+++ b/usr.bin/addr2line/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 ADDR2LINEDIR=	${ELFTCDIR}/addr2line
diff --git a/usr.bin/ar/Makefile b/usr.bin/ar/Makefile
index b926e942795e..b4e5324073ce 100644
--- a/usr.bin/ar/Makefile
+++ b/usr.bin/ar/Makefile
@@ -1,5 +1,6 @@
 .include <src.opts.mk>
 
+PACKAGE= toolchain
 PROG=	ar
 SRCS=	ar.c acplex.l acpyacc.y read.c util.c write.c y.tab.h
 
diff --git a/usr.bin/c89/Makefile b/usr.bin/c89/Makefile
index 325588a3d7a8..e86604c797b1 100644
--- a/usr.bin/c89/Makefile
+++ b/usr.bin/c89/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	c89
 
 .include <bsd.prog.mk>
diff --git a/usr.bin/c99/Makefile b/usr.bin/c99/Makefile
index 98be921c974c..259969289fff 100644
--- a/usr.bin/c99/Makefile
+++ b/usr.bin/c99/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	c99
 
 .include <bsd.prog.mk>
diff --git a/usr.bin/ctags/Makefile b/usr.bin/ctags/Makefile
index a0d0c8522914..9d5e35652f42 100644
--- a/usr.bin/ctags/Makefile
+++ b/usr.bin/ctags/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	ctags
 SRCS=	C.c ctags.c fortran.c lisp.c print.c tree.c yacc.c
 CFLAGS+=-I${.CURDIR}
diff --git a/usr.bin/cxxfilt/Makefile b/usr.bin/cxxfilt/Makefile
index fe7fe2d579e5..2db9f8ded075 100644
--- a/usr.bin/cxxfilt/Makefile
+++ b/usr.bin/cxxfilt/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 SRCDIR=		${ELFTCDIR}/cxxfilt
diff --git a/usr.bin/elfcopy/Makefile b/usr.bin/elfcopy/Makefile
index 2f3386d95ebe..dd387f5433c5 100644
--- a/usr.bin/elfcopy/Makefile
+++ b/usr.bin/elfcopy/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 ELFCOPYDIR=	${ELFTCDIR}/elfcopy
diff --git a/usr.bin/file2c/Makefile b/usr.bin/file2c/Makefile
index b71834e10035..8ddd9ecb4247 100644
--- a/usr.bin/file2c/Makefile
+++ b/usr.bin/file2c/Makefile
@@ -1,5 +1,6 @@
 .include <src.opts.mk>
 
+PACKAGE= toolchain
 PROG=	file2c
 
 HAS_TESTS=
diff --git a/usr.bin/gprof/Makefile b/usr.bin/gprof/Makefile
index e486dd8ce6d9..a9625957c435 100644
--- a/usr.bin/gprof/Makefile
+++ b/usr.bin/gprof/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	gprof
 SRCS=	gprof.c arcs.c dfn.c elf.c lookup.c hertz.c \
 	printgprof.c printlist.c kernel.c
diff --git a/usr.bin/indent/Makefile b/usr.bin/indent/Makefile
index 3f7ee955a228..ce0d206c87f9 100644
--- a/usr.bin/indent/Makefile
+++ b/usr.bin/indent/Makefile
@@ -1,5 +1,6 @@
 .include <src.opts.mk>
 
+PACKAGE= toolchain
 PROG=	indent
 SRCS=	indent.c io.c lexi.c parse.c pr_comment.c args.c
 
diff --git a/usr.bin/lex/Makefile b/usr.bin/lex/Makefile
index c1311105cdc5..89189774816b 100644
--- a/usr.bin/lex/Makefile
+++ b/usr.bin/lex/Makefile
@@ -8,6 +8,7 @@
 # Also note that flex.skel no longer gets installed.
 #
 
+PACKAGE=	toolchain
 PROG=		lex
 LINKS+=	${BINDIR}/lex ${BINDIR}/lex++
 LINKS+=	${BINDIR}/lex ${BINDIR}/flex
diff --git a/usr.bin/lorder/Makefile b/usr.bin/lorder/Makefile
index 5dc868f96c7e..38e073176e0b 100644
--- a/usr.bin/lorder/Makefile
+++ b/usr.bin/lorder/Makefile
@@ -1,5 +1,6 @@
 .include <src.opts.mk>
 
+PACKAGE=toolchain
 SCRIPTS=lorder.sh
 MAN=	lorder.1
 
diff --git a/usr.bin/mkstr/Makefile b/usr.bin/mkstr/Makefile
index 1a691e6d78d5..c255b5d56046 100644
--- a/usr.bin/mkstr/Makefile
+++ b/usr.bin/mkstr/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	mkstr
 
 WARNS?=	2
diff --git a/usr.bin/nm/Makefile b/usr.bin/nm/Makefile
index c4c75725dd1c..97464501579e 100644
--- a/usr.bin/nm/Makefile
+++ b/usr.bin/nm/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 NMDIR=		${ELFTCDIR}/nm
diff --git a/usr.bin/readelf/Makefile b/usr.bin/readelf/Makefile
index d2a386fb0d40..84e445c7e504 100644
--- a/usr.bin/readelf/Makefile
+++ b/usr.bin/readelf/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 READELFDIR=	${ELFTCDIR}/readelf
diff --git a/usr.bin/rpcgen/Makefile b/usr.bin/rpcgen/Makefile
index aafa97fd0c3d..2f4bdd984880 100644
--- a/usr.bin/rpcgen/Makefile
+++ b/usr.bin/rpcgen/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	rpcgen
 SRCS=	rpc_main.c  rpc_clntout.c rpc_cout.c rpc_hout.c rpc_parse.c \
 	rpc_sample.c rpc_scan.c rpc_svcout.c rpc_tblout.c rpc_util.c
diff --git a/usr.bin/size/Makefile b/usr.bin/size/Makefile
index 3951cedbfa05..5e34ecd52edb 100644
--- a/usr.bin/size/Makefile
+++ b/usr.bin/size/Makefile
@@ -1,6 +1,6 @@
 .include <src.opts.mk>
 
-PACKAGE=	elftoolchain
+PACKAGE=	toolchain
 
 ELFTCDIR=	${SRCTOP}/contrib/elftoolchain
 SIZEDIR=	${ELFTCDIR}/size
diff --git a/usr.bin/unifdef/Makefile b/usr.bin/unifdef/Makefile
index 82b0c5839f8e..960a939bcbf2 100644
--- a/usr.bin/unifdef/Makefile
+++ b/usr.bin/unifdef/Makefile
@@ -1,5 +1,6 @@
 .PATH: ${SRCTOP}/contrib/unifdef
 
+PACKAGE= toolchain
 PROG=	unifdef
 SCRIPTS=unifdefall.sh
 MLINKS=	unifdef.1 unifdefall.1
diff --git a/usr.bin/xstr/Makefile b/usr.bin/xstr/Makefile
index 290d553a4ed6..4b68d16b5b16 100644
--- a/usr.bin/xstr/Makefile
+++ b/usr.bin/xstr/Makefile
@@ -1,3 +1,4 @@
+PACKAGE= toolchain
 PROG=	xstr
 
 .include <bsd.prog.mk>
diff --git a/usr.bin/yacc/Makefile b/usr.bin/yacc/Makefile
index 42ee10952e06..c368b8084910 100644
--- a/usr.bin/yacc/Makefile
+++ b/usr.bin/yacc/Makefile
@@ -3,6 +3,7 @@
 BYACC_SRC=	${SRCTOP}/contrib/byacc
 .PATH: ${BYACC_SRC}
 
+PACKAGE= toolchain
 PROG=	yacc
 SRCS=	closure.c error.c graph.c lalr.c lr0.c main.c mkpar.c mstring.c output.c \
 	reader.c yaccpar.c symtab.c verbose.c warshall.c
diff --git a/usr.sbin/config/Makefile b/usr.sbin/config/Makefile
index 93011f404585..6c0320a07cc1 100644
--- a/usr.sbin/config/Makefile
+++ b/usr.sbin/config/Makefile
@@ -1,5 +1,6 @@
 SRCDIR:=${.PARSEDIR:tA}
 
+PACKAGE= toolchain
 PROG_CXX=	config
 MAN=	config.5 config.8
 SRCS=	config.y main.cc lang.l mkmakefile.cc mkheaders.c \
diff --git a/usr.sbin/crunch/Makefile.inc b/usr.sbin/crunch/Makefile.inc
index da4210505219..5d050019d637 100644
--- a/usr.sbin/crunch/Makefile.inc
+++ b/usr.sbin/crunch/Makefile.inc
@@ -1,2 +1,4 @@
+PACKAGE= toolchain
+
 # modify to taste
 BINDIR?= /usr/bin