Re: git: 7e35117eb07f - main - Makefile: Hook MIT KRB5 into the build
Date: Tue, 08 Jul 2025 13:07:25 UTC
On 08.07.2025 14:09, Dima Panov wrote: > 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 > > ${SHLIB} macro gives a wrong name, check it: $ make -V SHLIB kadm5clnt_mit $ make -V SHLIB_LINK libkadm5clnt_mit.so $ pwd /home/fluffy/repo/FreeBSD/FreeBSD-src/krb5/lib/kadm5clnt So we still need to patch it :) diff --git a/krb5/lib/kadm5clnt/Makefile b/krb5/lib/kadm5clnt/Makefile index e377f95f5b6e..ddb9b0e9fec5 100644 --- a/krb5/lib/kadm5clnt/Makefile +++ b/krb5/lib/kadm5clnt/Makefile @@ -88,7 +88,7 @@ ${CHPASS_UTIL_STRINGS_ERR_C}: ${CHPASS_UTIL_STRINGS_ERR} rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c afterinstall: - ${INSTALL_LIBSYMLINK} ${SHLIB} ${DESTDIR}${LIBDIR}/libkadm5clnt + ${INSTALL_LIBSYMLINK} ${SHLIB_LINK} ${DESTDIR}${LIBDIR}/libkadm5clnt.so .include <bsd.lib.mk> -- Sincerely, Dima (fluffy@FreeBSD.org, https://t.me/FluffyBSD, @fluffy:matrix-dev.freebsd.org) (desktop, kde, x11, office, ports-secteam)@FreeBSD team