git: 8a8f2ebd2d3e - main - ncurses: Move termcap and tabset to ncurses-lib

From: Lexi Winter <ivy_at_FreeBSD.org>
Date: Thu, 06 Nov 2025 15:22:49 UTC
The branch main has been updated by ivy:

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

commit 8a8f2ebd2d3e09cfc057b5ba6ced2fd3151cfb0f
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-11-06 14:29:56 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-11-06 15:20:52 +0000

    ncurses: Move termcap and tabset to ncurses-lib
    
    termcap and tabset are currently in runtime, but since ncurses is the
    only thing which uses them, they belong in the ncurses package.
    
    curses without termcap is not very useful, so put them in the -lib
    subpackage rather than ncurses itself, so that installing ncurses-lib
    provides a working curses.
    
    This change moves files between packages so, until we have a proper
    policy on how to handle this in release/stable branches, it should
    not be MFC'd.
    
    MFC after:      never
    Discussed with: kevans
    Reviewed by:    manu, kevans
    Sponsored by:   https://www.patreon.com/bsdivy
    Differential Revision:  https://reviews.freebsd.org/D53610
---
 etc/mtree/BSD.usr.dist |  2 +-
 etc/termcap/Makefile   |  4 +++-
 share/tabset/Makefile  |  2 ++
 share/termcap/Makefile | 11 +++++++----
 4 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist
index 54d408865fa5..2fc7baed3ccc 100644
--- a/etc/mtree/BSD.usr.dist
+++ b/etc/mtree/BSD.usr.dist
@@ -857,7 +857,7 @@
             scrnmaps
             ..
         ..
-        tabset
+        tabset                tags=package=ncurses-lib
         ..
         vi
             catalog
diff --git a/etc/termcap/Makefile b/etc/termcap/Makefile
index cd5516f3e04b..ea8fab4e839e 100644
--- a/etc/termcap/Makefile
+++ b/etc/termcap/Makefile
@@ -1,6 +1,8 @@
 .PATH: ${SRCTOP}/share/termcap
 
-PACKAGE=	runtime
+# Note: This is in ncurses-lib rather than ncurses because without it, ncurses
+# doesn't work, and the base ncurses package is optional.
+PACKAGE=	ncurses-lib
 CLEANFILES+=	termcap.small
 CONFS=		termcap.small
 
diff --git a/share/tabset/Makefile b/share/tabset/Makefile
index fe7519084716..4da1a3650888 100644
--- a/share/tabset/Makefile
+++ b/share/tabset/Makefile
@@ -1,3 +1,5 @@
+PACKAGE=	ncurses-lib
+
 FILES=	3101 9837 aa aed512 beehive diablo dtc382 hp700-wy ibm3101 std \
 	stdcrt tandem653 teleray vt100 vt100-w wyse-adds xerox1720 xerox1730 \
 	xerox1730-lm zenith29
diff --git a/share/termcap/Makefile b/share/termcap/Makefile
index 34ad41fd520a..603b098e4de1 100644
--- a/share/termcap/Makefile
+++ b/share/termcap/Makefile
@@ -1,10 +1,13 @@
 # reorder gives an editor command for most common terminals
 # (in reverse order from n'th to 1'st most commonly used)
 # to move them to the front of termcap
-#
-MAN=	termcap.5
 
-PACKAGE=	runtime
+MAN=		termcap.5
+MANPACKAGE=	ncurses
+
+# Note: This is in ncurses-lib rather than ncurses because without it, ncurses
+# doesn't work, and the base ncurses package is optional.
+PACKAGE=	ncurses-lib
 FILES=		termcap termcap.db
 FILESDIR=	${BINDIR}/misc
 CLEANFILES+=	termcap.db
@@ -16,7 +19,7 @@ termcap.db: termcap
 	${CAP_MKDB_CMD} ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC}
 
 etc-termcap:
-	${INSTALL_SYMLINK} -T "package=runtime" \
+	${INSTALL_SYMLINK} -T "package=ncurses-lib" \
 	    ${BINDIR}/misc/termcap ${DESTDIR}/etc/termcap
 
 .include <bsd.prog.mk>