From owner-freebsd-ports@freebsd.org Wed Mar 16 14:10:35 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8851CAD32C3 for ; Wed, 16 Mar 2016 14:10:35 +0000 (UTC) (envelope-from jhs@berklix.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 743C4CEE for ; Wed, 16 Mar 2016 14:10:35 +0000 (UTC) (envelope-from jhs@berklix.com) Received: by mailman.ysv.freebsd.org (Postfix) id 73933AD32C2; Wed, 16 Mar 2016 14:10:35 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7332BAD32C1 for ; Wed, 16 Mar 2016 14:10:35 +0000 (UTC) (envelope-from jhs@berklix.com) Received: from slim.berklix.org (slim.berklix.org [94.185.90.68]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D48ACCED; Wed, 16 Mar 2016 14:10:34 +0000 (UTC) (envelope-from jhs@berklix.com) Received: from mart.js.berklix.net (p5083CE79.dip0.t-ipconnect.de [80.131.206.121]) (authenticated bits=128) by slim.berklix.org (8.14.5/8.14.5) with ESMTP id u2GE9w0o074702; Wed, 16 Mar 2016 15:09:58 +0100 (CET) (envelope-from jhs@berklix.com) Received: from fire.js.berklix.net (fire.js.berklix.net [192.168.91.41]) by mart.js.berklix.net (8.14.3/8.14.3) with ESMTP id u2GEAVKa094375; Wed, 16 Mar 2016 15:10:32 +0100 (CET) (envelope-from jhs@berklix.com) Received: from fire.js.berklix.net (localhost [127.0.0.1]) by fire.js.berklix.net (8.14.7/8.14.7) with ESMTP id u2GEAEXX050283; Wed, 16 Mar 2016 15:10:26 +0100 (CET) (envelope-from jhs@berklix.com) Message-Id: <201603161410.u2GEAEXX050283@fire.js.berklix.net> To: ports@FreeBSD.org cc: "Mk/bsd.openssl.mk OpenSSL_Include_MAINTAINER=" Subject: Can ports/ make detect & rebuild all ports depending on old libcrypto.so.7 ? From: "Julian H. Stacey" Organization: http://berklix.eu BSD Linux Unix Consultants, Munich Germany User-agent: EXMH on FreeBSD http://www.berklix.eu/free/ X-URL: http://www.berklix.eu/~jhs/cv/ Date: Wed, 16 Mar 2016 15:10:14 +0100 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Mar 2016 14:10:35 -0000 Hi Ports@ cc: "Mk/bsd.openssl.mk OpenSSL_Include_MAINTAINER=" 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.