Subject: Re: Confusing "current" versions of IPF (a.o.?)
To: Frederick Bruckman <fb@enteract.com>
From: David Burgess <burgess@mitre.org>
List: port-i386
Date: 05/23/2001 15:54:19
Frederick Bruckman wrote:
> 
> On Wed, 23 May 2001, T@W wrote:
> 
> > >We have openssh in pkgsrc for folks who use pkgsrc on older systems, where
> > >openssh isn't in the base system.
> >
> > They're advantaged :) because they get a later version (read below).
> > And I still feel that both ssh installs should check for other versions
> > already installed.
> 
> What's to stop you from using the pkgsrc version?
> 
> Normally, there would be a check in the package so it wouldn't build
> or install on a system that already had the base system binary (see
> archivers/bzip2, sysutils/top), but folks have specifically asked to
> be able to install the openssh package, even though there's a very
> similar openssh in the base system. There are actually quite a few
> packages that occasionally lead the base system for various reasons:
> maybe they're too new, and haven't been evaluated adequately, or maybe
> they have grown incompatible licenses, or both -- databases/db*,
> net/bind*, net/ntp4. The bottom line is, the NetBSD base system is
> constructed to be a coherent release, while pkgsrc isn't that at all,
> but instead servers many masters.

A Freudian expression of the state of the pkgsrc collection, for sure.
:-)

To my simple brain, I would expect that there should be a way to install
a pkgsrc version of a program in place of the existing system binaries. 
A good example is 'sendmail', which I install with OpenLDAP support from
the pkgsrc directory.  I'm sure there's a simple option on the make
command that I can use to get it to install everything in the right
place (change /usr/pub to /usr/ for everything except /usr/pub/etc/,
which gets converted to /etc).  I just don't have the right frob to make
it work.  The hack I use now is to install the program, and go though
the PLIST file looking for /bin/.  I move those in over the 'delivered'
executables, just in case.  You never can be sure, with both versions
loaded, which one will be executed.  Instead of guessing, I simply link
the program together with symlinks, and away we go.

Note that most of the programs listed are simple enough if you change
the 'DESTDIR (???)' symbol to not point at /usr/pub.  The only time you
really run into a jam is when you are installing a new version over an
existing version *AND* the program relies on a directory that isn't in
the '/usr' tree (/usr/pub/var instead of /var, for example).

The nameserver is another example.  I'm wanting to run version 9 as my
production DNS, but I'm not sure there's a really clean way to install
it over the 'delivered' DNS.  I usually just end up copying the files by
hand and calling it good.

Dave