Subject: Re: Refactoring "install" and "package" phases
To: Malcolm Herbert <mjch@mjch.net>
From: Johnny C. Lam <jlam@pkgsrc.org>
List: tech-pkg
Date: 05/22/2006 01:25:05
On Mon, May 22, 2006 at 10:46:55AM +1000, Malcolm Herbert wrote:
> Firstly, how tightly will pkgsrc packages be installed into the host OS?
> eg, can a native Solaris package rely on/use a pkgsrc-supplied Perl?

No, I am intending that they would be kept separate.

> Or are you talking about maintaining pkgsrc packages independantly of
> native ones but just use the same tools to install/update them? So,
> continuing our previous example, would one need the native Perl and a
> pkgsrc Perl to support native and pkgsrc packages?

Yes, that is correct.  pkgsrc packages would have a common prefix on
the package name, e.g. "pkg-", so as to put them all under a separate,
non-conflicting namespace from the natively-supplied packages.

> In which case I can't see many benefits at all - I personally prefer
> pkgsrc precisely because it doesn't interact with the OS package manager
> yet is the same across all the supported platforms. For me, that's the
> major attraction, but I can see it being useful to ease take-up on 
> non-NetBSD platforms ... 

I tried to make the point clear in my original post but I will repeat
it here.  There are in my mind two logically distinct things that
pkgsrc does -- building software and managing installed packages.  I
am proposing that it be possible to build software using pkgsrc and
manage the installed software using the native package tools.  I don't
see this is a particularly attractive thing for FreeBSD or OpenBSD
systems where the tools are very similar, but for systems like Linux
or Solaris where there is a much longer history of using the native
package management tools, there would be no need to learn a new way
to manage the software.  Note that this is done only if certain choices
are made when building the software, e.g. PACKAGE_TYPE=svr4, because
by default, pkgsrc will always install software in the "pkgsrc" package
format to be managed by the pkg_* tools.

> Would the intent be to provide binary pkgsrc packages for other OSes?
> Would that impact on pkgsrc package builds?

I'm not looking that far ahead.  I'm only looking to provide the
capability and I will see what people can do with it.  I imagine that
Solaris or Linux folks might look at this as an opportunity to generate
package repositories of SVR4 packages or RPMs from pkgsrc, but I do
not know for sure.  I personally would like to experiment with
alternative package tools, e.g. the pkg_install rewrite which will
have a different package format, and my proposed changes would greatly
facilitate that without breaking our core strength of easily building
software on many different platforms.

	Cheers,

	-- Johnny Lam <jlam@pkgsrc.org>