Date: Thu, 21 Feb 2002 14:22:32 -0500 (EST) From: Garrett Wollman <wollman@lcs.mit.edu> To: "Jacques A. Vidrine" <nectar@FreeBSD.org> Cc: ports@FreeBSD.org Subject: Re: cvs commit: ports/graphics/libwmf Makefile pkg-plist Message-ID: <200202211922.g1LJMWt26636@khavrinen.lcs.mit.edu> In-Reply-To: <20020221182409.GA44592@madman.nectar.cc> References: <200202211702.g1LH2Kw69894@freefall.freebsd.org> <20020221170549.GB40194@madman.nectar.cc> <200202211713.g1LHDFF25291@khavrinen.lcs.mit.edu> <20020221171640.GA44316@madman.nectar.cc> <200202211730.g1LHUqQ25415@khavrinen.lcs.mit.edu> <20020221182409.GA44592@madman.nectar.cc>
next in thread | previous in thread | raw e-mail | index | archive | help
[N.B.: I am not on the `ports' list. Please do not CC me except in direct response to this message.] <<On Thu, 21 Feb 2002 12:24:09 -0600, "Jacques A. Vidrine" <nectar@FreeBSD.org> said: > If the version numbers were not taken into account, then there would > not be any reasonable means of detecting API changes. There still isn't. Assume, for a moment, that the author of `libfoo' follows the same rules for version numbering as we use for FreeBSD libraries. So I have a port which says something like: LIB_DEPENDS= foo.2:${PORTSDIR}/devel/libfoo At some point, the author of `libfoo' adds a new function interface. Because the new library is still compatible with old applications, he rightly leaves the version number alone. Later, my port is updated, and the new version uses the new interface. Oops! My port now will not build on any machines that have the older version of the library installed, because there's no way to express to the ports system that I need not just any libfoo.so.2, but specifically a version of libfoo.so.2 that has new_interface() in it. I have already seen this happen, and it happens regularly with anything that isn't a shared library (e.g., my patches to security/openssh-portable which depend specifically on autoconf-2.54, but won't trigger the dependency on a machine which has an old autoconf-2.13 installed since the name of the program is the same). > What exactly are you arguing? That we should drop the use of shared > library version numbers from ports? What we really need is something more like: BUILD_DEPENDS= devel/libfoo:MIN_VERSION=1.2.3_4,5 \ devel/autoconf:VERSION=2.45 This would then have to search /var/db/pkg to see which version was actually installed. Package dependencies would of course be recorded using the precise version in place. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202211922.g1LJMWt26636>