Date: Fri, 17 Feb 2012 19:35:21 -0600 From: Zhihao Yuan <lichray@gmail.com> To: "Mikhail T." <mi+thun@aldan.algebra.com> Cc: Jakub Lach <jakub_lach@mailplus.pl>, freebsd-ports@freebsd.org Subject: Re: Library numbers in LIB_DEPENDS considered harmful (Re: recent portrevision bump for libvpx) Message-ID: <CAGsORuCtBpmAqrQpoaZLtd%2BX1UamHj3E7Q-%2Br_1p0a%2BLEK197Q@mail.gmail.com> In-Reply-To: <4F3EE5A1.80407@aldan.algebra.com> References: <4F3E289D.9050605@FreeBSD.org> <4F3E2CED.90601@FreeBSD.org> <4F3E3537.9040105@FreeBSD.org> <1329478316415-5492205.post@n5.nabble.com> <4F3E5D41.9050503@aldan.algebra.com> <CAGsORuBjScOG3V1BykyELtqQhvzk-mKELoVrdUEfOk3Zh4X56w@mail.gmail.com> <4F3EBF4F.6010401@aldan.algebra.com> <CAGsORuDeENz7fWe7pg0=udfcSP-nxN_q8=0agD40gO9fwGCZPA@mail.gmail.com> <4F3EE5A1.80407@aldan.algebra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Feb 17, 2012 5:41 PM, "Mikhail T." <mi+thun@aldan.algebra.com> wrote: > > On 17.02.2012 17:05, Zhihao Yuan wrote: >> >> LIB_DEPENDS= png.6: or =png: does not affect how the lib got linked. > > Allow me to rephrase my argument from a different perspective... > > The language used in our ports' Makefiles is, largely, declarative -- various things are declared and then bsd.port.mk (and friends) interpret them to do the right thing. > > Each declaration is meant to say something, so let's examine, what a LIB_DEPENDS entry declares: >> >> LIB_DEPENDS= foo.V:${PORTSDIR}/cat/libfoo > > The above line says, that this port needs a shared library libfoo.so.V to be installed. It also says, how to install it, if it is not already present at build-time. > > If, in fact, the current port does not care, which version of libfoo is uses -- and most software does not -- then declaring an explicit V is wrong: it gratuitously tightens the build-time requirements. Unless a particular version is, indeed, required, the above line should read simply: >> >> LIB_DEPENDS= foo:${PORTSDIR}/cat/libfoo > > Let's say, you sent someone to buy a bottle of dry red wine in a store. Wouldn't you be (unpleasantly) surprised, if he returned empty-handed, because the store did not have any Californian Pinot Noir of the 2003 vintage? Huh? You did not ask for Pinot Noir. You did not specify the origin nor the year either -- why did not he get something else that matched your much wider and easier-to-satisfy requirement: "dry red wine"? So what, I come to your bar and say "10 year red wine" in1998, you give me a 1988 one. And I went your place again in 2008, and say "same wine", and you give me a 1998 one? > > A similar thing happens here: if the, say, vlc software needs libx264 to be available at build time, the FreeBSD port of vlc should not add a requirement of a particular version to that. >> >> -mi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGsORuCtBpmAqrQpoaZLtd%2BX1UamHj3E7Q-%2Br_1p0a%2BLEK197Q>