From owner-dev-commits-src-main@freebsd.org Fri Jan 8 15:43:13 2021 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3F3764CD639; Fri, 8 Jan 2021 15:43:13 +0000 (UTC) (envelope-from gbe@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DC6nY1LcMz4Xcg; Fri, 8 Jan 2021 15:43:13 +0000 (UTC) (envelope-from gbe@freebsd.org) Received: from localhost (p200300d5d72fc856b4dda6d3715ec767.dip0.t-ipconnect.de [IPv6:2003:d5:d72f:c856:b4dd:a6d3:715e:c767]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gbe) by smtp.freebsd.org (Postfix) with ESMTPSA id 8EFD61BD4; Fri, 8 Jan 2021 15:43:12 +0000 (UTC) (envelope-from gbe@freebsd.org) Date: Fri, 8 Jan 2021 16:43:09 +0100 From: Gordon Bergling To: Kyle Evans Cc: Baptiste Daroussin , src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 821aa63a0940 - main - ncurses: only keep the version with widechar support Message-ID: References: <202101051302.105D24lW041218@gitrepo.freebsd.org> <20210107135842.lji6ydbajmzxqiuq@ivaldir.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Url: X-Operating-System: FreeBSD 12.2-STABLE amd64 X-Host-Uptime: 4:33PM up 4 days, 18:36, 4 users, load averages: 0.34, 0.32, 0.30 X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jan 2021 15:43:13 -0000 On Fri, Jan 08, 2021 at 09:21:01AM -0600, Kyle Evans wrote: > On Thu, Jan 7, 2021 at 7:59 AM Baptiste Daroussin wrote: > > On Thu, Jan 07, 2021 at 07:53:47AM -0600, Kyle Evans wrote: > > > On Tue, Jan 5, 2021 at 7:02 AM Baptiste Daroussin wrote: > > > > The branch main has been updated by bapt: > > > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=821aa63a09402935da0a73abf20ba0441562aa07 > > > > > > > > commit 821aa63a09402935da0a73abf20ba0441562aa07 > > > > Author: Baptiste Daroussin > > > > AuthorDate: 2021-01-04 16:29:40 +0000 > > > > Commit: Baptiste Daroussin > > > > CommitDate: 2021-01-05 13:01:32 +0000 > > > > > > > > ncurses: only keep the version with widechar support > > > > > > > > Only keep the widechar version of ncurses as libncursesw.so.9 > > > > > > > > Keep the old name to avoid breaking the ABI compatibility (the non > > > > widechar version libncurses.so.9 is not binary compatible with > > > > libncursesw.so.9) since all ports and base are already only linking > > > > against the widechar version we can simply remove libncurses.so.9 > > > > > > > > Since the .9 version only lived in the dev branch and never ended in a > > > > release, it is simply removed and not added to any binary compat > > > > package. > > > > > > > > Add symlinks to keep build time compatibility for anyone linking against > > > > -lncurses > > > > --- > > > > Makefile.inc1 | 5 +-- > > > > Makefile.libcompat | 4 +- > > > > ObsoleteFiles.inc | 2 + > > > > lib/ncurses/Makefile | 6 +-- > > > > lib/ncurses/config.mk | 11 +----- > > > > lib/ncurses/form/Makefile | 18 ++++++--- > > > > lib/ncurses/formw/Makefile | 5 --- > > > > lib/ncurses/formw/Makefile.depend | 17 --------- > > > > lib/ncurses/menu/Makefile | 18 ++++++--- > > > > lib/ncurses/menuw/Makefile | 5 --- > > > > lib/ncurses/menuw/Makefile.depend | 17 --------- > > > > lib/ncurses/ncurses/Makefile | 71 +++++++++++++++-------------------- > > > > lib/ncurses/ncursesw/Makefile | 7 ---- > > > > lib/ncurses/ncursesw/Makefile.depend | 16 -------- > > > > lib/ncurses/panel/Makefile | 23 ++++++++---- > > > > lib/ncurses/panelw/Makefile | 5 --- > > > > lib/ncurses/panelw/Makefile.depend | 17 --------- > > > > share/mk/src.libnames.mk | 16 ++------ > > > > tools/bsdbox/Makefile.base | 2 +- > > > > tools/tools/ath/athratestats/Makefile | 2 +- > > > > 20 files changed, 87 insertions(+), 180 deletions(-) > > > > > > > > diff --git a/Makefile.inc1 b/Makefile.inc1 > > > > index fecdc1bdca71..a19fde9195cf 100644 > > > > --- a/Makefile.inc1 > > > > +++ b/Makefile.inc1 > > > > @@ -2524,7 +2524,6 @@ _bt_clean= ${CLEANDIR} > > > > ${LOCAL_TOOL_DIRS} \ > > > > ${_jevents} \ > > > > lib/ncurses/ncurses \ > > > > - lib/ncurses/ncursesw \ > > > > ${_rescue} \ > > > > ${_share} \ > > > > usr.bin/awk \ > > > > @@ -2870,7 +2869,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} \ > > > > lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ > > > > lib/libzstd \ > > > > ${_lib_casper} \ > > > > - lib/ncurses/ncurses lib/ncurses/ncursesw \ > > > > + lib/ncurses/ncurses \ > > > > lib/libopie lib/libpam/libpam ${_lib_libthr} \ > > > > ${_lib_libradius} lib/libsbuf lib/libtacplus \ > > > > lib/libgeom \ > > > > @@ -2891,7 +2890,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} \ > > > > > > > > .if ${MK_DIALOG} != "no" > > > > _prebuild_libs+= gnu/lib/libdialog > > > > -gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L > > > > +gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncurses__L > > > > .endif > > > > > > > > .if ${MK_GOOGLETEST} != "no" > > > > diff --git a/Makefile.libcompat b/Makefile.libcompat > > > > index 3f23a33aa19b..85859a960d81 100644 > > > > --- a/Makefile.libcompat > > > > +++ b/Makefile.libcompat > > > > @@ -45,7 +45,7 @@ _LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib > > > > > > > > _LC_INCDIRS= \ > > > > include \ > > > > - lib/ncurses/ncursesw \ > > > > + lib/ncurses/ncurses \ > > > > ${_LC_LIBDIRS.yes} > > > > > > > > .if ${MK_FILE} != "no" > > > > @@ -94,7 +94,7 @@ build${libcompat}: .PHONY > > > > DIRPRFX=${_dir}/ ${_t} > > > > .endfor > > > > .endfor > > > > -.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw ${_libmagic} ${_jevents} > > > > +.for _dir in lib/ncurses/ncurses lib/ncurses/ncurses ${_libmagic} ${_jevents} > > > > .for _t in ${_obj} build-tools > > > > ${_+_}cd ${.CURDIR}/${_dir}; \ > > > > WORLDTMP=${WORLDTMP} \ > > > > > > The second occurence of lib/ncurses/ncurses should probably just go away? > > > > > > > diff --git a/lib/ncurses/config.mk b/lib/ncurses/config.mk > > > > index d15be8601136..f199c5829b65 100644 > > > > --- a/lib/ncurses/config.mk > > > > +++ b/lib/ncurses/config.mk > > > > @@ -4,20 +4,11 @@ > > > > > > > > NCURSES_DIR= ${SRCTOP}/contrib/ncurses > > > > > > > > -.if defined(ENABLE_WIDEC) > > > > -LIB_SUFFIX= w > > > > CFLAGS+= -D_XOPEN_SOURCE_EXTENDED -DENABLE_WIDEC > > > > -NCURSES_CFG_H= ${.CURDIR:H}/ncurses/ncurses_cfg.h > > > > -.else > > > > -LIB_SUFFIX= > > > > NCURSES_CFG_H= ${.CURDIR}/ncurses_cfg.h > > > > -.endif > > > > > > > > CFLAGS+= -I. > > > > -.if exists(${.OBJDIR:H}/ncurses${LIB_SUFFIX}) > > > > -CFLAGS+= -I${.OBJDIR:H}/ncurses${LIB_SUFFIX} > > > > -.endif > > > > -CFLAGS+= -I${.CURDIR:H}/ncurses${LIB_SUFFIX} > > > > +CFLAGS+= -I${.CURDIR:H}/ncurses > > > > > > > > # for ${NCURSES_CFG_H} > > > > CFLAGS+= -I${.CURDIR:H}/ncurses > > > > > > Based on this we should really just nuke the entire ncurses dir for > > > older WITHOUT_CLEAN builds, because any objects in this objdir will > > > have been built without -DENABLE_WIDEC. Maybe just key it off of an > > > ncursesw directory existing in the objdir hierarchy and nuke it all in > > > depend-cleanup. > > > > Yes to everything you said ;) > > I see you committed the first part (thanks!) -- here's the second, > that I can commit if it seems reasonable: > > commit 619c0de456029adacdc823a3320c8768c9a40786 (HEAD -> ncdep) > Author: Kyle Evans > Date: Fri Jan 8 09:18:46 2021 -0600 > > build: add WITHOUT_CLEAN workaround for 821aa63a0940 > > The *w variants of ncurses directories went away, and the remaining names > build the widechar variants instead of non-widechar variants. As such, the > entire ncurses tree should be regenerated. > > Key off of lib/ncurses/ncursesw being present and remove the whole ncurses > hierarchy if it is. > > diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh > index 0b3ff9bcc63..23bedee1ea2 100755 > --- a/tools/build/depend-cleanup.sh > +++ b/tools/build/depend-cleanup.sh > @@ -64,3 +64,9 @@ if [ -e "$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o ] && \ > echo "Removing old pf_ruleset dependecy file" > rm -rf "$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o > fi > + > +# 20210108 821aa63a0940 non-widechar version of ncurses removed > +if [ -e "$OBJTOP"/lib/ncurses/ncursesw ]; then > + echo "Removing stale ncurses objects" > + rm -rf "$OBJTOP"/lib/ncurses "$OBJTOP"/obj-lib32/lib/ncurses > +fi Hi Kyle, thanks for the additional bugfix. It would be good to provide somewhere in UPDATING some information about 'depend-cleanup.sh'. I use FreeBSD since about 20 years, and even as a committer I had never heard something about 'depend-cleanup.sh' before. --Gordon