Re: git: 06afa0a55e0a - main - pkgbase: move ncurses into its own package
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