tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: understanding relations between binary packages



Thanks for your answers.

On Thu, Mar 28, 2013 at 08:39:44AM -0400, Greg Troxel wrote:
> 
> "Filip Hajny" <filip%joyent.com@localhost> writes:
> 
> > Also note that the boundary between base- and pkgsrc-provided libs may
> > vary from user to user too: there are controls that you can use to
> > tell pkgsrc which features to use from the base system, and which to
> > build from pkgsrc. For instance, at Joyent we configure our pkgsrc
> > builds to prefer (almost) everything from pkgsrc, so that there are as
> > few dependencies to the base system as possible, even though we could
> > re-use things like libz or libbz2 from the base system.
> 
> Entirely true, but this will result in NEEDS being in /usr/pkg more than
> /usr/lib, so it should be reasonably easy for the analyzer to understand
> this.
> 
> But your note brings up another point that is perhaps surprising to
> those used to Linux: it's relatively normal for people/groups at various
> scales to tweak some config variables and do a build of many packages.
> I have the impression that in Linux there is no convenient bulk build
> mechanism and it's very odd for someone to say rebuild all of Debian
> with different compiler flags.

Yes, this is definitely a difference with most GNU/Linux distributions. These
define the collection of binary packages as their main product. You can of
course fetch the source packages and recompile them yourselves, but there is
in general few support for changing compilation options across all packages.
Debian, for instance, defines only a few compilation options, and respecting
them is not even mandatory [1]. A notable exception might be Gentoo which is
source-based, but I have never looked at how flexible their source packages are.

Another main difference is that you have this dichotomy between base system and 
packages that are manged with pkgsrc. This is also different in all GNU/Linux
distros that I know, there you have everything under the control of the
packaging system (including the kernel, boot loader, basic libraries). Those
packages that are flagged as essential constitute the base system, in some
sense, but this is defined by the distribution and not up to the user. The
advantage is that you may depend on a particular version of an essential 
package -
you know of course that the essential package must be installed, but this way
you may force the packaging system to upgrade that package to a particular
version.

Anyway, for me the conclusion of this discussion is that the work of the 
translating the pkgsrc format to the CUDF format (our universal package format)
should be done by someone who is a user of pkgsrc, just to make sure that the
translation actually makes sense. I think Julian has already created a
project description on the netBSD wiki.

Thanks to everybody who participated in the discussion, that was very 
interesting for me. -Ralf.

[1] http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
-- 
Ralf Treinen
Laboratoire Preuves, Programmes et Systèmes
Université Paris Diderot, Paris, France.
http://www.pps.univ-paris-diderot.fr/~treinen/
=====> New email address: treinen%pps.univ-paris-diderot.fr@localhost <=====


Home | Main Index | Thread Index | Old Index