Do I really need to rebuilding *everything*

Kent Stewart kstewart at owt.com
Sat Mar 20 23:52:48 PST 2004


On Saturday 20 March 2004 11:08 pm, Mark wrote:
> ----- Original Message -----
> From: "Dan Nelson" <dnelson at allantgroup.com>
> To: "Mark" <admin at asarian-host.net>
> Cc: <freebsd-questions at 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


More information about the freebsd-questions mailing list