pkgsrc-Users archive

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

Re: How to automatically update dependencies when building a package?

On Fri, 11 Feb 2011, Thomas Mueller wrote:

> Wherever is it necessary to upgrade all packages just to install one 
> new one?  Surely not in FreeBSD ports or any Linux I know of.  Only in 
> NetBSD with pkgsrc?

I think there is a misunderstanding here. In Pkgsrc you don't need to 
upgrade all packages and most the time you don't need to upgrade any 
dependencies. My systems using pkgsrc have packages built years ago and 
also this week, a complete mix -- but I still use fine for my work and 

Your earlier example said "build of links-gui" needed an upgrade of 
libpng. If you can share an example of any Linux package build system 
such as automated build using RPM specs or dpkg source or gentoo (not 
packages) that build and install to the system for live use (not a 
chroot for example) that can do this upgrade better, it would be 
appreciated. I'd like to research how they do it better.

If you use a stable branch, this should never happen except maybe in 
very rare case where we decided backporting a security fix was not worth 
it (versus using an updated fixed version).

But every few months we do have a new stable branch, so upgrading may 
involve upgrading dependencies. If you know of a situation where a 
dependency upgrade was needed by pkgsrc but you know it was really not 
needed, please let us know.

(As for me, I take the risk to use USE_ABI_DEPENDS=NO on a few systems.)

The problem is basically two different things:

1) If building, then we are at the mercy of interface changes. Unless 
you really want to use old software, but that doesn't help when you want 
to use some new software that requires the newer interfaces provided by 
dependencies. One solution to that is to install multiple copies of the 
dependencies in different places. Pkgsrc can do that. It can become very 
messy, and over time use lots of space :)

2) If using binary packages, the package vendor (such as TNF) needs (a) 
to consistently provide complete collection (we define a standard set of 
packages that must exist for some platforms) and (b) keep it to updated 
(new packages within 24 hours for pkgsrc stable updates, for example) 
with (c) correct corresponding pkg_summary(5) database; and (d) tools 
that work for using them (such as pkgin and pkgnih) in default install.

Anyone who wants to use special build options, latest current pkgsrc, or 
a mix or local-built and vendor-provided packages can use the other 
ideas for upgrading.

Home | Main Index | Thread Index | Old Index