Subject: document how to bump dependency (and curl)
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 01/28/2005 16:30:23
My previous curl installed was curl-7.12.1nb1 -- it provided
lib/libcurl.so.3.0.0.

When rebuilding vorbis-tools, it built and installed curl also. This is
curl curl-7.12.3nb1 which provides lib/libcurl.so.3.0.0.

The pkgsrc/www/curl/buildlink3.mk revision 1.6 with this log message: "Add
dependency on libidn, and DEPEND on latest curl version" has:
BUILDLINK_DEPENDS.curl+=        curl>=7.12.3

We need to decide and document when BUILDLINK_DEPENDS versus
BUILDLINK_RECOMMENDED is to be used.

As far as I can tell, the old curl would work fine for building new
vorbis-tools. By using BUILDLINK_RECOMMENDED and allowing a pkgsrc user to
use IGNORE_RECOMMENDED, vorbis-tools could be reinstalled using old,
previous-installed curl.

This is what should be documented:

- The BUILDLINK_DEPENDS is bumped when packages depending on it stop
building (because of API change, for example). It should not be bumped for
shared library naming changes (unless it has an ABI change).

- BUILDLINK_RECOMMENDED should be used for SONAME changes.

- BUILDLINK_RECOMMENDED should be used for for security fixes.

- In the case where only one or very few packages that depend on a certain
functionality change, then they can list the BUILDLINK_DEPENDS.${foo}
specifically for their own build.

Maybe BUILDLINK_RECOMMENDED should be used for when new features are
added? (What do you all think?)

Currently the pkgsrc documentation documents BUILDLINK_DEPENDS. but says
the dependency should be increased when "the sonames (major number of the
library version) of any installed shared libraries change".

Also the documentation doesn't document BUILDLINK_RECOMMENDED fully yet.

As for curl, can we revert the change and just use BUILDLINK_RECOMMENDED?

 Jeremy C. Reed

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