Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Mar 2004 23:52:12 -0800
From:      Kent Stewart <kstewart@owt.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: Do I really need to rebuilding *everything*
Message-ID:  <200403202352.12548.kstewart@owt.com>
In-Reply-To: <200403210708.I2L78Y8J027993@asarian-host.net>
References:  <1079841282.664.10.camel@osaka> <20040321065555.GE2097@dan.emsphone.com> <200403210708.I2L78Y8J027993@asarian-host.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 20 March 2004 11:08 pm, Mark wrote:
> ----- Original Message -----
> From: "Dan Nelson" <dnelson@allantgroup.com>
> To: "Mark" <admin@asarian-host.net>
> Cc: <freebsd-questions@freebsd.org>
> Sent: Sunday, March 21, 2004 7:55 AM
> Subject: Re: Do I really need to rebuilding *everything*
>
> > > > > Question is, can I get away with rebuilding my entire
> > > > > ports collection? With about 300 apps complied, I really
> > > > > don't want to do it. ;_;
> > > >
> > > > You only need to rebuild the ports that use the openssl libs
> > > > and link statically.  My guess is that would be zero.
> > >
> > > What do you mean? I built OpenSSL into everything; sendmail,
> > > Apache, qpopper, stunnel, php4, mod_perl, etc. Close to the 300
> > > of the original poster. :) And like him, I really feel rather
> > > upset if I'd have to do it all over again. Or are all of the
> > > above dynamically linked?
> >
> > The file command will indicate whether a program was linked static
> > or dynamic.
>
> Pardon my daftness, but how is a 'file' against, say, httpd, like
> this,
>
> file /usr/local/sbin/httpd
> /usr/local/sbin/httpd: ELF 32-bit LSB executable, Intel 80386,
> version 1 (FreeBSD), dynamically linked (uses shared libs), not
> stripped
>
> going to tell me whether httpd was dynamically linked against
> OpenSSL, or statically? It just tells me httpd uses shared libraries.
> Or does it mean it ONLY uses shared libraries?
>

I use a script that I call pkgreq (pkg-required). It is

# cat pkgreq
#! /bin/sh
cd /var/db/pkg
pkg_info -R "$1*" | more

The only thing it shows openssl being used for me is Apache-2.0.49. That 
is a no-brainer since Apache was updated to .49 after I updated 
openssl.

One thing to remember is that if a header file had been changed, which 
wasn't the case here, even dynamic library usage may have required a 
rebuild to be safe. If they had to change the typing of a variable used 
by a module, any program that used that module with the incorrect 
typing could have been passing or receiving bad data. Off by one or 
more errors occur when a structure is modified and using programs 
aren't rebuilt.

Kent

-- 
Kent Stewart
Richland, WA

http://users.owt.com/kstewart/index.html



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403202352.12548.kstewart>