Date: Wed, 16 Mar 2016 15:10:14 +0100 From: "Julian H. Stacey" <jhs@berklix.com> To: ports@FreeBSD.org Cc: "Mk/bsd.openssl.mk OpenSSL_Include_MAINTAINER=" <dinoex@FreeBSD.org> Subject: Can ports/ make detect & rebuild all ports depending on old libcrypto.so.7 ? Message-ID: <201603161410.u2GEAEXX050283@fire.js.berklix.net>
next in thread | raw e-mail | index | archive | help
Hi Ports@ cc: "Mk/bsd.openssl.mk OpenSSL_Include_MAINTAINER=" <dinoex@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603161410.u2GEAEXX050283>