Date: Mon, 5 Apr 2004 20:55:03 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Gary Kline <kline@thought.org> Cc: freebsd-questions@freebsd.org Subject: Re: pkgdb -F issues Message-ID: <20040405195503.GB10534@happy-idiot-talk.infracaninophile.co.uk> In-Reply-To: <20040405182858.GA73304@tao.thought.org> References: <200404052024.40022.bastill@adam.com.au> <20040405111806.GA68885@happy-idiot-talk.infracaninophile.co.uk> <20040405182858.GA73304@tao.thought.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--gatW/ieO32f1wygP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 05, 2004 at 11:28:58AM -0700, Gary Kline wrote: > On Mon, Apr 05, 2004 at 12:18:06PM +0100, Matthew Seaman wrote: > > [*] Lest this leads to much wailing and gnashing of teeth, I should > > stress here that you'll also have to recompile any ports that link > > against the OpenSSL shlibs so that they pick up the shlibs from the > > base system. =20 > Matthew, is there any way of collecting a list of these ports > so they may be automated, at least ro some degree? Run=20 > portupgrade at a low prio else at night? >=20 > I'm looking for some way of upgrading what must be upgraded, > with MIN intervention... . Hmmm... Well, one way of proceeding would be to find all of the ports that have the USE_OPENSSL=3D yes macro set in their port Makefiles: #!/bin/sh =20 cd /usr/ports for m in `find . -mindepth 3 -maxdepth 3 -name Makefile -print` ; do d=3D`echo $m| sed -e 's,/[^/]*$,,` ssl=3D`(cd $d && make -V USE_OPENSSL) | tr a-z A-Z` =20 if [ x"$ssl" =3D x"YES" ]; then echo $m fi done (we could just grep for USE_OPENSSL, but there are quite a few slave ports which we'd miss by doing it that way) then compare that list against the list of all the ports you have installed, and recompile anything that appears in both places, but only after you've sorted out which openssl libs you want installed. % pkg_info -oa | grep '.*/.*' | sort > installed % find-ssl | sort > uses-openssl % comm -3 uses-openssl installed You could also define 'WITH_OPENSSL_BASE=3Dyes' in /etc/make.conf or pkgtools.conf -- see the comments at the top of /usr/ports/Mk/bsd.openssl.mk Defining that will override the automatic check that usually happens so you should be quite clear that you are using a patched version of openssl before you do that. Note that there is a simple and obvious and time saving improvement to the way of doing the check outlined above; which I am embarrassed not to have thought of immediately, but which I'll leave as an exercise for the student... Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --gatW/ieO32f1wygP Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAcbmXdtESqEQa7a0RAmFAAKCBjHN7egaAX3QLeuoXp6V9Flq6ZACaAvaB UD6cRwo8qZuKkYdbXAVh8EM= =4qqE -----END PGP SIGNATURE----- --gatW/ieO32f1wygP--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040405195503.GB10534>