Skip site navigation (1)Skip section navigation (2)
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>