On 08.07.2025 14:09, Dima Panov wrote:
Hello!

On 08.07.2025 07:28, Cy Schubert wrote:
In message <agxx371-hv384...@mail.bsd4all.net>, "Herbert J. Skuhra" writes:
On Mon, Jul 07, 2025 at 04:04:46PM -0700, Cy Schubert wrote:
In message <agwv06rglgw8z...@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 (flu...@freebsd.org, https://t.me/FluffyBSD, 
@fluffy:matrix-dev.freebsd.org)
(desktop, kde, x11, office, ports-secteam)@FreeBSD team

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to