Re: git: 06afa0a55e0a - main - pkgbase: move ncurses into its own package

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Tue, 30 Sep 2025 19:15:41 UTC
Hello!

It fails :(

/opt/poudriere/jails/160amd64/usr/src/release/packages/generate-ucl.lua: fail to parse(/opt/poudriere/jails/160amd64/usr/src/release/packages/template.ucl): error while parsing /opt/poudriere/jails/160amd64/usr/src/release/packages/ucl/ncurses-all.ucl: at the end of chunk: unfinished multiline comment
*** [create-world-package-ncurses-dbg-lib32] Error code 1


On 30.09.2025 15:22, Kyle Evans wrote:
> The branch main has been updated by kevans:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=06afa0a55e0acc00823f08fe17305df13502f235
> 
> commit 06afa0a55e0acc00823f08fe17305df13502f235
> Author:     Kyle Evans <kevans@FreeBSD.org>
> AuthorDate: 2025-09-30 12:21:33 +0000
> Commit:     Kyle Evans <kevans@FreeBSD.org>
> CommitDate: 2025-09-30 12:21:33 +0000
> 
>      pkgbase: move ncurses into its own package
>      
>      Pushing ncurses into clibs adds extra upgrade risk to a package that
>      otherwise consists of integral libs with non-trivial interdependencies.
>      
>      Adding it to -runtime was considered, but the move was historically
>      motivated to some extent by allowing a much smaller set of base libs to
>      be installed for smaller VM images that don't really need all of the
>      runtime package.
>      
>      This also fixes the ncurses build to ensure that libmenuw is grouped
>      with the rest of the ncurses libraries, which doesn't seem to have been
>      an intentional omission.
>      
>      Reviewed by:    ivy
>      MFC after:      2 days (pkgbase movement)
>      Differential Revision:  https://reviews.freebsd.org/D52786
> ---
>   lib/ncurses/Makefile.inc             |  1 +
>   lib/ncurses/form/Makefile            |  1 -
>   lib/ncurses/ncurses/Makefile         |  1 -
>   lib/ncurses/panel/Makefile           |  1 -
>   lib/ncurses/tinfo/Makefile           |  1 -
>   release/packages/ucl/ncurses-all.ucl | 39 ++++++++++++++++++++++++++++++++++++
>   6 files changed, 40 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/ncurses/Makefile.inc b/lib/ncurses/Makefile.inc
> index f2ed84e2e38f..eea49908474c 100644
> --- a/lib/ncurses/Makefile.inc
> +++ b/lib/ncurses/Makefile.inc
> @@ -1,5 +1,6 @@
>   # This is to include src/lib/Makefile.inc
>   
> +PACKAGE?=	ncurses
>   WARNS?=	3
>   
>   .include "../Makefile.inc"
> diff --git a/lib/ncurses/form/Makefile b/lib/ncurses/form/Makefile
> index d4774a5f51a8..7d8963b05ae8 100644
> --- a/lib/ncurses/form/Makefile
> +++ b/lib/ncurses/form/Makefile
> @@ -3,7 +3,6 @@
>   
>   SRCDIR=	${NCURSES_DIR}/form
>   
> -PACKAGE=	clibs
>   LIB=	formw
>   SHLIB_MAJOR=	6
>   
> diff --git a/lib/ncurses/ncurses/Makefile b/lib/ncurses/ncurses/Makefile
> index 512a452ad6d0..b60760281b39 100644
> --- a/lib/ncurses/ncurses/Makefile
> +++ b/lib/ncurses/ncurses/Makefile
> @@ -1,4 +1,3 @@
> -PACKAGE=	clibs
>   SHLIBDIR?=	/lib
>   
>   .include <src.opts.mk>
> diff --git a/lib/ncurses/panel/Makefile b/lib/ncurses/panel/Makefile
> index a51129df42e3..dfb478aa5f5b 100644
> --- a/lib/ncurses/panel/Makefile
> +++ b/lib/ncurses/panel/Makefile
> @@ -3,7 +3,6 @@
>   
>   SRCDIR=	${NCURSES_DIR}/panel
>   
> -PACKAGE=	clibs
>   LIB=	panelw
>   SHLIB_MAJOR=	6
>   
> diff --git a/lib/ncurses/tinfo/Makefile b/lib/ncurses/tinfo/Makefile
> index 476df54bb72a..8f01557edaee 100644
> --- a/lib/ncurses/tinfo/Makefile
> +++ b/lib/ncurses/tinfo/Makefile
> @@ -1,4 +1,3 @@
> -PACKAGE=	clibs
>   SHLIBDIR?=	/lib
>   
>   .include <src.opts.mk>
> diff --git a/release/packages/ucl/ncurses-all.ucl b/release/packages/ucl/ncurses-all.ucl
> new file mode 100644
> index 000000000000..ded994ebb3aa
> --- /dev/null
> +++ b/release/packages/ucl/ncurses-all.ucl
> @@ -0,0 +1,39 @@
> +/*
> + * Copyright 2018-2023,2024 Thomas E. Dickey
> + * Copyright 1998-2017,2018 Free Software Foundation, Inc.
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the
> + * "Software"), to deal in the Software without restriction, including
> + * without limitation the rights to use, copy, modify, merge, publish,
> + * distribute, distribute with modifications, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included
> + * in all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
> + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
> + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
> + * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> + *
> + * Except as contained in this notice, the name(s) of the above copyright
> + * holders shall not be used in advertising or otherwise to promote the
> + * sale, use or other dealings in this Software without prior written
> + * authorization.
> + */
> +
> +comment = "ncurses terminal control library"
> +desc = <<EOD
> +The ncurses package is a subroutine library for terminal-independent
> +screen-painting and input-event handling which presents a high level screen
> +model to the programmer.  ncurses implements the System V Release 4.0 (SVR4)
> +curses interface, and is also backward compatible with traditional BSD curses.
> +
> +This package ships with a limited termcap database, but it is designed to use
> +a terminfo database provided by ports, such as in misc/terminfo-db.
> +EOD
> 

-- 
Sincerely,
Dima (fluffy@FreeBSD.org, https://t.me/FluffyBSD, @fluffy:matrix-dev.freebsd.org)
(desktop, kde, x11, office, ports-secteam)@FreeBSD team