To: None <>
From: Jonathan Perkin <>
List: tech-pkg
Date: 10/24/2002 11:15:30
On Wed, Oct 23, 2002 at 05:14:28PM -0500, avon barksdale wrote:

> On Wed, Oct 23, 2002 at 01:18:54PM +0200, Alistair Crooks wrote:
> > We would very much like to get your help in "implementing the
> > second".  pkgsrc runs on many different operating systems, and we
> > would like to see it run on more.  Anything that can be done to help
> > this is good. 
> I've always wondered why you bother to support Sun & Mac OSX.  It
> seems to me that it adds unneeded complexity.  I really am curious and
> I'm not trying to be obnoxious.  I'd like to hear your comments.

As far as I can see, it adds no real great unneeded complexity.  Most of
the non-NetBSD handling is done in separate .mk files, with minimal
ifdefs polluting the main ones and specific pkgsrc Makefiles.

The benefit of these "hacks", in my experience, is huge.  I was amazed,
frankly, when I first investigated pkgsrc at work, where we all have
managed Sun desktops, no root access, and a /cache directory to write
to.  Beforehand, I was just doing the old ./configure;make;make install
dance and trying to manage packages under the /cache hierarchy with
encap/epkg.  Headache.  Then I played with zoularis a bit, and after a
few days cleaning up and fixing, I was happily installing 20 packages in
one go with a simple "bmake".  Superb.  NetBSD once again showed me how
versatile it was, even for 3rd party packages.

Alistair's work on bootstrap-pkgsrc has now made this even better.
Zoularis is superb, but requires checking out a load of basesrc / gnusrc
/ syssrc with the correct CVS date tag and then hacking a ${PREFIX}/bsd
path to stuff.  However, bootstrap-pkgsrc is a modification of the tools
needed to use pkgsrc to make them portable to unix-like operating
systems.  I'm now using this exclusively, and have done away with
zoularis.  I look forward to when the last minor niggles are done with
bootstrap-pkgsrc (I have a few open pr's on this), and I can use it out
of the box.

Sure, I still need a few hacks to get pkgsrc working properly here, but
they are *so* worth it, and 90% of them are probably because I don't have
root so need to make a few minor adjustments.

-% cvs diff | egrep '^(<|>)' | wc -l

Not a great pain (20 of them are whitespace after I removed some lines).

NetBSD is the world's most portable OS, running on a vast number of
different architectures.  Why shouldn't its package manager follow suit
and be the world's most portable package manger (if it isn't already),
running on a vast number of operating systems?  Sounds reasonable to me.

Jonathan Perkin - Internet Operations Engineer - BBC Internet Services