Hi Ports@
cc: "Mk/bsd.openssl.mk OpenSSL_Include_MAINTAINER=" <din...@freebsd.org>

Can ports/ make detect & rebuild all ports depending on old libcrypto.so.7 ?

With current src & ports, After I upgraded with:
  mergemaster -p # compares files essential for installworld
  make installworld
  mergemaster -iF # Update remainder
  make delete-old
  reboot
xinit failed with:
        Shared object "libcrypto.so.7" not found, required by "X"

ls -l /usr/local/lib/libcrypto.so*
            14 Mar 11 22:36 /usr/local/lib/libcrypto.so@ -> libcrypto.so.8
       2420177 Mar 11 22:36 /usr/local/lib/libcrypto.so.8

pkg which /usr/local/lib/libcrypto.so.8
  /usr/local/lib/libcrypto.so.8 was installed by package openssl-1.0.2_4

pkg delete openssl-1.0.2_4
  Deinstallation has been requested for the following 355 packages
  The operation will free 4 GiB.
  Proceed with deinstalling packages? [y/N]: n

pkg info -o openssl-1.0.2_4 # security/openssl
        ( I didnt go further with the package route, as I always
        prefer the source route, wanting to rebuild every port that
        depends on something old.)

cd /usr/ports/security/openssl; unsetenv NOCLEANDEPENDS; make clean;
make reinstall-recursive

cd /pub/FreeBSD/branches/-current/ports;
find . -type f | xargs grep libcrypto.so.
... grep libcrypto.so.7 # just 4 lines:
        misc/compat10x/pkg-plist.amd64:lib/compat/libcrypto.so.7
        misc/compat10x/pkg-plist.amd64:lib32/compat/libcrypto.so.7
        misc/compat10x/pkg-plist.i386:lib/compat/libcrypto.so.7
        security/linux-f10-openssl/pkg-plist:lib/libcrypto.so.7

I cleaned & reinstalled misc/compat10x & xdm restarted ! 
(Not sure why, wouldn't have expected anything central to have used compat10x)
- What was looking for libcrypto.so.7 ?
- Might other things remain broken, relying on libcrypto.so.7 ?
        nm: /usr/local/bin/xinit: no symbols
        csh
        touch /tmp/strings
        cd /usr/local
        foreach i ( `find bin sbin -type f` )
                echo >>  /tmp/strings
                echo "FILENAME $i" >>  /tmp/strings
                strings $i >>  /tmp/strings
                end
        vi -c/libcrypto.so. /tmp/strings
                FILENAME bin/lftp
                FILENAME bin/curl
                ...
        grep libcrypto.so. /tmp/strings | sort | wc
                107     129    1907
        grep libcrypto.so.7 /tmp/strings | wc
                82      82    1230
        grep libcrypto.so.8 /tmp/strings | wc
                24      24     360
- Why are ports below referring to old specific libcrypto.so.[0-9] ?

Does ports/ infrastructure support auto remake on changed .so content ? With
        cd /usr/ports
        make BERKLIX_CLIENT=YES package-recursive
                ( BERKLIX_CLIENT selects #ifdef in my ports/*/Makefile.inc )
most don't rebuild, (it merely checks if dependencies already exist), 
I'd prefer a check on datestamp of content of sym linked minor version.
Maybe that's more than FreeBSD can provide, 
but I guess we should purge minor numbers listed below, shown from
        cd /pub/FreeBSD/branches/-current/ports
        find . -type f | xargs grep libcrypto.so.

An aside on static:
        To avoid future similar problems, one might be tempted to 
        recompile all one's own ports) with
                /etc/make.conf CFLAGS += -static
        but I have old notes that too used to cause trouble, viz:
        #       Do not leave -static on, else some ports eg devel/libzvbi
        #       will build without creating shared libraries.
        #       uname=8.2-RELEASE src/usr.sbin/ppp fails to build with this.
        #       9.0-RELEASE src/sbin/atm/atmconfig fails to build with this

Mk/bsd.openssl.mk:OPENSSL_SHLIBFILE!=   ${PKG_INFO} -ql ${OPENSSL_INSTALLED} | 
${GREP} "^`${PKG_QUERY} "%p" ${OPENSSL_INSTALLED}`/lib/libcrypto.so.[0-9]*$$"
devel/asmutils/Makefile:LIBRARIES=      libc.so.0 libcrypto.so.0 libm.so.0
misc/compat10x/pkg-plist.amd64:lib/compat/libcrypto.so.7
misc/compat10x/pkg-plist.amd64:lib32/compat/libcrypto.so.7
misc/compat10x/pkg-plist.i386:lib/compat/libcrypto.so.7
misc/compat4x/Makefile:OPENSSL_LIBS=            libcrypto.so.1 libcrypto.so.2 
libssl.so.1 libssl.so.2
misc/compat4x/pkg-plist.freebsd4:%%FORBIDDEN:%%lib/compat/libcrypto.so.1
misc/compat4x/pkg-plist.freebsd4:%%FORBIDDEN:%%lib/compat/libcrypto.so.2
misc/compat4x/pkg-plist.freebsd5:%%FORBIDDEN:%%%%LIBDIR%%/compat/libcrypto.so.1
misc/compat4x/pkg-plist.freebsd5:%%FORBIDDEN:%%%%LIBDIR%%/compat/libcrypto.so.2
misc/compat5x/pkg-plist:%%AMD64%%lib32/compat/libcrypto.so.3
misc/compat5x/pkg-plist:lib/compat/libcrypto.so.3
misc/compat6x/pkg-plist.alpha:lib/compat/libcrypto.so.4
misc/compat6x/pkg-plist.amd64:lib/compat/libcrypto.so.4
misc/compat6x/pkg-plist.amd64:lib32/compat/libcrypto.so.4
misc/compat6x/pkg-plist.i386:lib/compat/libcrypto.so.4
misc/compat6x/pkg-plist.sparc64:lib/compat/libcrypto.so.4
misc/compat7x/pkg-plist.amd64:lib/compat/libcrypto.so.5
misc/compat7x/pkg-plist.amd64:lib32/compat/libcrypto.so.5
misc/compat7x/pkg-plist.i386:lib/compat/libcrypto.so.5
misc/compat9x/pkg-plist.amd64:lib/compat/libcrypto.so.6
misc/compat9x/pkg-plist.amd64:lib32/compat/libcrypto.so.6
misc/compat9x/pkg-plist.i386:lib/compat/libcrypto.so.6
multimedia/plexmediaserver-plexpass/pkg-plist:%%DATADIR%%/libcrypto.so.1.0.0
multimedia/plexmediaserver/pkg-plist:%%DATADIR%%/libcrypto.so.1.0.0
net/spideroak/pkg-plist:%%DATADIR%%/libcrypto.so.1.0.0
security/libressl-devel/pkg-plist:lib/libcrypto.so.37
security/libressl-devel/pkg-plist:lib/libcrypto.so.37.0.0
security/libressl/pkg-plist:lib/libcrypto.so.35
security/libressl/pkg-plist:lib/libcrypto.so.35.0.0
security/linux-c6-openssl-compat/pkg-plist.i686:usr/lib/.libcrypto.so.0.9.8e.hmac
security/linux-c6-openssl-compat/pkg-plist.i686:usr/lib/.libcrypto.so.6.hmac
security/linux-c6-openssl-compat/pkg-plist.i686:usr/lib/libcrypto.so.0.9.8e
security/linux-c6-openssl-compat/pkg-plist.i686:usr/lib/libcrypto.so.6
security/linux-c6-openssl-compat/pkg-plist.x86_64:usr/lib64/.libcrypto.so.0.9.8e.hmac
security/linux-c6-openssl-compat/pkg-plist.x86_64:usr/lib64/.libcrypto.so.6.hmac
security/linux-c6-openssl-compat/pkg-plist.x86_64:usr/lib64/libcrypto.so.0.9.8e
security/linux-c6-openssl-compat/pkg-plist.x86_64:usr/lib64/libcrypto.so.6
security/linux-c6-openssl/pkg-plist.i686:usr/lib/.libcrypto.so.%%PORTVERSION%%.hmac
security/linux-c6-openssl/pkg-plist.i686:usr/lib/.libcrypto.so.10.hmac
security/linux-c6-openssl/pkg-plist.i686:usr/lib/libcrypto.so.%%PORTVERSION%%
security/linux-c6-openssl/pkg-plist.i686:usr/lib/libcrypto.so.10
security/linux-c6-openssl/pkg-plist.x86_64:usr/lib64/.libcrypto.so.%%PORTVERSION%%.hmac
security/linux-c6-openssl/pkg-plist.x86_64:usr/lib64/.libcrypto.so.10.hmac
security/linux-c6-openssl/pkg-plist.x86_64:usr/lib64/libcrypto.so.%%PORTVERSION%%
security/linux-c6-openssl/pkg-plist.x86_64:usr/lib64/libcrypto.so.10
security/linux-f10-openssl/pkg-plist:lib/libcrypto.so.%%PORTVERSION%%
security/linux-f10-openssl/pkg-plist:lib/libcrypto.so.7
security/openssl-devel/pkg-plist:%%SHARED%%lib/libcrypto.so.%%SHLIBVER%%
security/openssl/pkg-plist:%%SHARED%%lib/libcrypto.so.%%SHLIBVER%%

Cheers,
Julian
-- 
Julian Stacey, BSD Linux Unix Sys Eng Consultant Munich http://berklix.eu/jhs/
 Mail plain text,  No quoted-printable, HTML, base64, MS.doc.
 Prefix old lines '> '  Reply below old, like play script.  Break lines by 80.
_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to