Subject: Re: the netbsd way
To: Quentin Garnier <cube@cubidou.net>
From: Marc Espie <espie@nerim.net>
List: tech-pkg
Date: 10/31/2006 12:46:25
On Tue, Oct 31, 2006 at 12:39:07PM +0100, Quentin Garnier wrote:
> On Tue, Oct 31, 2006 at 12:28:02PM +0100, Marc Espie wrote:
> > On Tue, Oct 31, 2006 at 08:10:31PM +0900, SODA Noriyuki wrote:
> > > >>>>> On Tue, 31 Oct 2006 11:32:08 +0100, Marc Espie <espie@nerim.net> said:
> > 
> > > > We rewrote our pkgtools infrastructure.
> > 
> > > Unfortunately, they are written in perl.
> > > Since NetBSD will never import perl into the base system, OpenBSD
> > > pkgtools cannot be used on NetBSD (as a tool in the base system,
> > > I mean).
> > 
> > I would probably not use as strong language as `never'... things change,
> > you know.
> [...]
> > Perl was chosen for our pkgtools rewrite because of its RAD value.  This
> > does not mean you have to start from scratch, you can definitely use a
> > lot of the lessons we learned there while writing traditional C code.
> 
> You complain about pkgsrc people not knowing OpenBSD enough;  may I
> remind you that pkgsrc is not dedicated to NetBSD?  perl is not suitable
> for NetBSD because it's been long said that perl is persona non grata in
> NetBSD base system, but that's only for NetBSD.
> 
> For other systems, it's more complicated;  bootstrapping perl just to
> get the pkgtools running has a very high cost.  The only thing we can
> reasonably rely on is a C compiler.

I think you're missing some point there. I'm talking `design', you're
talking `languages'. There are a lot of problems there that are always
there, whatever language you choose to tackle them.

And the solutions are always the same.

For instance:
what does redhat rpm and OpenBSD pkg_add have in common ?

Answer: a lot !

We took a large part of redhat's approach to solving some problems. Making
shared libraries a first class citizen when it comes to solving dependencies.
Or having `distribution' config files and using checksumming to figure out
when we can delete configuration files.

This is the part where you CAN reuse a lot of stuff.
All the `wedge' stuff as well. I think the idea originated in NetBSD for the
x11 pkg wedge. But calling extra wrappers for a lot of tools has gone a long
way since then...