Re: git: 264594efbe69 - main - Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Thu, 27 Jul 2023 23:15:16 UTC
On 28 Jul 2023, at 00:12, Yuri <yuri@aetern.org> wrote:
> 
> Jessica Clarke wrote:
>> On 27 Jul 2023, at 23:33, Yuri <yuri@aetern.org> wrote:
>>> 
>>> Jessica Clarke wrote:
>>>> The branch main has been updated by jrtc27:
>>>> 
>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=264594efbe699defbe2ac4e1d7a91fde3db45e8f
>>>> 
>>>> commit 264594efbe699defbe2ac4e1d7a91fde3db45e8f
>>>> Author:     Jessica Clarke <jrtc27@FreeBSD.org>
>>>> AuthorDate: 2023-07-27 04:10:43 +0000
>>>> Commit:     Jessica Clarke <jrtc27@FreeBSD.org>
>>>> CommitDate: 2023-07-27 04:10:43 +0000
>>>> 
>>>>   Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats
>>> 
>>> This seems to break the list-old-libs target for me (with or without
>>> WITHOUT_LIB32= in src.conf):
>>> 
>>> $ make list-old-libs
>>> /bin/sh: -V: not found
>>> 
>>> Reverting this commit makes it work again.
>>> 
>>>>   Reviewed by:    brooks, jhb
>>>>   Differential Revision:  https://reviews.freebsd.org/D41180
>>>> ---
>>>> Makefile.inc1 | 19 ++++++++++++-------
>>>> 1 file changed, 12 insertions(+), 7 deletions(-)
>>>> 
>>>> diff --git a/Makefile.inc1 b/Makefile.inc1
>>>> index 53699a454ff6..b3a33a928ee5 100644
>>>> --- a/Makefile.inc1
>>>> +++ b/Makefile.inc1
>>>> @@ -857,9 +857,12 @@ XCFLAGS+= --sysroot=${WORLDTMP}
>>>> XCFLAGS+= ${BFLAGS}
>>>> .endif
>>>> 
>>>> -.if ${MK_LIB32} == "yes"
>>>> -_LIBCOMPATS+= 32
>>>> +.include "share/mk/bsd.compat.pre.mk"
>>>> +.for LIBCOMPAT in ${_ALL_LIBCOMPATS}
>>>> +.if ${MK_LIB${LIBCOMPAT}} == "yes"
>>>> +_LIBCOMPATS+= ${LIBCOMPAT}
>>>> .endif
>>>> +.endfor
>>>> .include "Makefile.libcompat"
>>>> 
>>>> # META_MODE normally ignores host file changes since every build updates
>>>> @@ -3255,8 +3258,9 @@ list-old-files: .PHONY
>>>> @cd ${.CURDIR}; \
>>>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
>>>>    -V "OLD_FILES:ts\n" -V "OLD_FILES:Musr/share/*.gz:R:ts\n" \
>>>> -     -V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib32,:ts\n" \
>>>> -     -V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" | sort
>>>> +     ${_ALL_libcompats:@v@-V "OLD_FILES:Mlib/*.so.*:S,^lib,usr/lib$v,:ts\n"@} \
>>>> +     ${_ALL_libcompats:@v@-V "OLD_FILES:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \
>>>> + sort
>>>> 
>>>> delete-old-files: .PHONY
>>>> @echo ">>> Removing old files (only deletes safe to delete libs)"
>>>> @@ -3321,9 +3325,10 @@ list-old-libs: .PHONY
>>>> @cd ${.CURDIR}; \
>>>> ${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
>>>>    -V "OLD_LIBS:ts\n" -V "MOVED_LIBS:ts\n" \
>>>> -     -V "OLD_LIBS:Mlib/*:S,^lib,usr/lib32,:ts\n" \
>>>> -     -V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib32,:ts\n" \
>>>> -     -V "OLD_LIBS:Mlib/casper/*:S,^lib/casper,usr/lib32,:ts\n" | sort
>>>> +     ${_ALL_libcompats:@v@-V "OLD_LIBS:Mlib/*:S,^lib,usr/lib$v,:ts\n"@} \
>>>> +     ${_ALL_libcompats:@v@-V "OLD_LIBS:Musr/lib/*:S,^usr/lib,usr/lib$v,:ts\n"@} | \
>>> 
>>> Looks like there is stray pipe symbol.
>> 
>> Oops, copy paste strikes again. Does deleting the pipe symbol, i.e. the
>> following patch, also fix things for you, rather than reverting the
>> commit?
> 
> Yes, delete-old-libs now properly does its job of removing lib32 contents.

Thanks for confirming; fix now pushed.

Jess