On Mon, Jul 07, 2025 at 09:28:25PM -0700, 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?
                           ^^^ no .so

And maybe ObsoleteFiles.inc is the correct file to add this entry to.

> 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$ 

Without Dima's fix the following symlink is created:

lrwxr-xr-x  1 root wheel     13 Jul  8 02:51 /usr/lib/libkadm5clnt ->
kadm5clnt_mit

No .so extension and /usr/lib/kadm5clnt_mit does not exist.

$ file /usr/lib/libkadm5clnt
/usr/lib/libkadm5clnt: broken symbolic link to kadm5clnt_mit

With Dima's fix the following symlink is created:

lrwxr-xr-x  1 root wheel     23 Jul  8 03:11 /usr/lib/libkadm5clnt.so ->
libkadm5clnt_mit.so.121

This fix hasn't been committed yet. 

Commit aad5020c709ac4231af88d4b74588a28f87c9497 only removed
/usr/lib/libkadm5clnt.so from OptionalObsoleteFiles.

In my previous e-mail I was only suggesting to remove the broken symlink:
usr/lib/libkadm5clnt.

I really hope I don't add more confusion to this issue.


Reply via email to