Subject: Re: CVS commit: pkgsrc/databases/db4
To: Johnny C. Lam <jlam@NetBSD.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 12/28/2004 19:42:56
On Wed, 29 Dec 2004, Johnny C. Lam wrote:

> I admit that I'm fuzzy about when we should do PKGREVISION bumps, too.
> Can anyone else please clarify this matter?

Some library provided by a package depends on your old
libdb4-4.2.so.2.0.52. Because of our open-ended dependencies and no
checking for shared libraries, this package could be installed with your
newer package providing libdb4-4.3.so.3.0.21.

The technical reason is one package with a specific version number
contains tools or libraries that use a SONAME file. If you rebuild the
package and it now uses a different shared library, the package is
obviously different and the package should have a different package
version.

I see this all the time when I build new packages on one system and reuse
on other systems. I do not update all packages, but only the software I
need -- and hope that the dependencies are correct.

The PKGREVISION bumps make it so packages that depend on a package that
depends on your package will only accept a newer in-between dependency.

This is still the wrong approach, because it only matters if you install a
package that actually depends on newer version.

A better fix would be to have pkg_add use the REQUIRES (but get rid of
superfluous libraries) and PROVIDES information. Another fix would be to
have no open-ended dependencies -- but that would be bad.

 Jeremy C. Reed

 	  	 	 BSD News, BSD tutorials, BSD links
	  	 	 http://www.bsdnewsletter.com/