Date: Mon, 4 May 2015 04:36:43 +0300 From: Kimmo Paasiala <kpaasial@gmail.com> To: Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au> Cc: Matthew Seaman <matthew@freebsd.org>, freebsd-ports-local@be-well.ilk.org, freebsd-ports <freebsd-ports@freebsd.org> Subject: Re: Broken _DEPENDS logic Message-ID: <CA%2B7WWSc4Q%2BncgJJtsY0bjT2-0TnwmB1paKW5iBJaoXMTCr7JwQ@mail.gmail.com> In-Reply-To: <5546B03B.9050604@heuristicsystems.com.au> References: <20150503043317.73FD0DAD@hub.freebsd.org> <44a8xlqv8x.fsf@lowell-desk.lan> <55469545.9000404@FreeBSD.org> <5546B03B.9050604@heuristicsystems.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 4, 2015 at 2:33 AM, Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au> wrote: > On 4/05/2015 7:38 AM, Matthew Seaman wrote: >> On 03/05/2015 21:08, Lowell Gilbert wrote: >>> But, generally, the answer to your question is "no," becuase it is often >>> the case that more than one port can serve as a dependency for another >>> port. Your suggestion amounts to saying that only one port can satisfy a >>> dependency for another port, which is not the case. >> You're correct as far as the ports goes, but not when you're dealing >> with precompiled packages. Once you've built the package, the >> dependency on the specific version of the other port is baked into it. >> That's something which is likely to change in the not too distant >> future, but it's going to mean some fundamental changes in the ports in >> order to bring about. >> >> At the moment, therefore, the advice for pkg users when you want to make >> customizations like eg. using a different version of postfix is to set >> up your onw instance of poudriere and build your own. >> >> Cheers, >> >> Matthew >> >> > I read Lowell's issue as indirectly suggesting an enhancement to the > packaging system. > > For the sake of the discussion, lets assume a dependency hierarchy of: X > depends upon Y. > While building X, rather than assume the prefix for Y, and test for the > existence of a file installed by Y (and this is very often used), use > pkg to ascertain the dependency's origin and lookup the prefix for Y, > prior to the test. > > And please can we not assume that everyone is using poudriere. > > Regards, Dewayne. It is quite weird that you have to test for the existence of a file to test for the existence of a dependency when the first thing that comes to mind would be to just ask pkg(8). This seems to be from the time when you couldn't assume that there is a package database that you could query for an installed package and its properties. Grep NO_PKG_REGISTER in /usr/ports/Mk to see how that was possible. -Kimmo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7WWSc4Q%2BncgJJtsY0bjT2-0TnwmB1paKW5iBJaoXMTCr7JwQ>