Re: git: 7e35117eb07f - main - Makefile: Hook MIT KRB5 into the build

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Tue, 08 Jul 2025 11:09:02 UTC
Hello!

On 08.07.2025 07:28, Cy Schubert wrote:
> In message <aGxx371-HV384A0r@mail.bsd4all.net>, "Herbert J. Skuhra" writes:
>> On Mon, Jul 07, 2025 at 04:04:46PM -0700, Cy Schubert wrote:
>>> In message <aGwv06rGlgW8zmJI@mail.bsd4all.net>, "Herbert J. Skuhra" writes:
>>>> On Mon, Jul 07, 2025 at 10:36:31PM +0300, Dima Panov wrote:
>>>>> Hello!
>>>>>
>>>>>
>>>>> BTW, it looks like symlink for libkadm5clnt.so is broken and produced a
>>   bad
>>>>   file
>>>>> $ ls -la libkadm5clnt
>>>>> lrwxr-xr-x  1 root wheel 13  7 Jul 20:40 libkadm5clnt -> kadm5clnt_mit
>>>>>
>>>>> instead of assumed libkadm5clnt.so -> kadm5clnt_mit.so
>>>>>
>>>>>
>>>>> Please review:
>>>>>
>>>>> diff --git a/krb5/lib/kadm5clnt/Makefile b/krb5/lib/kadm5clnt/Makefile
>>>>> index e377f95f5b6e..be09dd3e210e 100644
>>>>> --- a/krb5/lib/kadm5clnt/Makefile
>>>>> +++ b/krb5/lib/kadm5clnt/Makefile
>>>>> @@ -88,7 +88,7 @@ ${CHPASS_UTIL_STRINGS_ERR_C}: ${CHPASS_UTIL_STRINGS_E
>> RR}
>>>>>          rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
>>>>>
>>>>>   afterinstall:
>>>>> -       ${INSTALL_LIBSYMLINK} ${SHLIB} ${DESTDIR}${LIBDIR}/libkadm5clnt
>>>>> +       ${INSTALL_LIBSYMLINK} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/libkadm
>> 5cln
>>>> t.so
>>>>>
>>>>>   .include <bsd.lib.mk>
>>>>
>>>> This produces a valid symlink that 'make delete-old' wants to
>>>> remove again:
>>>>
>>>> lrwxr-xr-x  1 root wheel     23 Jul  7 22:26 /usr/lib/libkadm5clnt.so ->
>>>> libkadm5clnt_mit.so.121
>>>>
>>>> # make delete-old
>>>>>>> Removing old files (only deletes safe to delete libs)
>>>> remove /usr/lib/libkadm5clnt.so?
>>>
>>> Thanks Dima and Herbert for reporting this. It's been fixed.
>>
>> Cy, I am sorry for not being more precise.
>>
>> Dima's change, which hasn't been commited yet, fixes the real issue of
>> creating a bad symlink.
>>
>> I just wanted to add that his fix also needs removal of
>> usr/lib/libkadm5clnt.so in tools/build/mk/OptionalObsoleteFiles.inc.
>>
>> Maybe usr/lib/libkadm5clnt should be added to OptionalObsoleteFiles.inc?
> 
> libkadm5clnt.so is a legitimate symlink for both MIT and Heimdal. In the
> case of Heimdal it points to libkadm5clnt.so.11. Whereas for MIT it points
> to libkadm5clnt_mit.so.121. There is o libkadm5clnt in MIT. It is
> libkadm5clnt_mit. You can see this in the port with pkg info -l as follows:
> 
> slippy$ pkg info -l krb5 | grep libkadm5clnt
>          /usr/local/lib/libkadm5clnt.so
>          /usr/local/lib/libkadm5clnt_mit.so
>          /usr/local/lib/libkadm5clnt_mit.so.12
>          /usr/local/lib/libkadm5clnt_mit.so.12.0
> slippy$
> 

Cy, it looks you still have something staled at your machine :(

On a clean build for pkgbase in poudriere without my patch it still produces a bad symlink and no compat is packaged as result

root@aarch64:~ # pkg info -l -x krb5 | grep libkadm5clnt
         /usr/lib/libkadm5clnt_mit.so.121
         /usr/lib/debug/usr/lib/libkadm5clnt_mit.so.121.debug
         /usr/lib/debug/usr/lib32/libkadm5clnt_mit.so.121.debug
         /usr/lib/libkadm5clnt_mit.a
         /usr/lib/libkadm5clnt_mit.so
         /usr/lib32/libkadm5clnt_mit.a
         /usr/lib32/libkadm5clnt_mit.so
         /usr/lib32/libkadm5clnt_mit.so.121


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