Date: Sun, 1 Sep 2013 08:21:37 -0500 From: Bryan Drewery <bdrewery@FreeBSD.org> To: Alexey Dokuchaev <danfe@FreeBSD.org> Cc: "svn-ports-head@freebsd.org" <svn-ports-head@freebsd.org>, "svn-ports-all@freebsd.org" <svn-ports-all@freebsd.org>, "ports-committers@freebsd.org" <ports-committers@freebsd.org> Subject: Re: svn commit: r325807 - in head: . Mk Message-ID: <A888D446-5B5B-4C48-9083-328F70653049@FreeBSD.org> In-Reply-To: <20130901091427.GA77614@FreeBSD.org> References: <201308311356.r7VDu8N8094811@svn.freebsd.org> <20130831141013.GA27765@FreeBSD.org> <5221FA9D.7020005@FreeBSD.org> <20130901091427.GA77614@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 1, 2013, at 4:14, Alexey Dokuchaev <danfe@FreeBSD.org> wrote: > On Sat, Aug 31, 2013 at 09:15:57AM -0500, Bryan Drewery wrote: >> make build-depends USE_PACKAGE_DEPENDS >> This installs dependencies from packages if present, else, fallback on >> source. >>=20 >> make build-depends USE_PACKAGE_DEPENDS_ONLY >> This installs dependencies from packages only. >=20 > Yes, that's how I understood it. I still fail to see how it can be useful= > for regular ports users (vs. bulk builders like poudriere or tinderbox) It is not intended to. > Several things are immediately not clear to me: 1) as a ports user, I do > not have any binary packages repositories around (except tinderbox cache);= > 2) even if I would, how can it be decided on per-ports basis what *user* > wants to use, ports or packages: I don't see the reason to expose this at > the ports' Makefile level; 3) it looks (even without looking at the detail= s > of implementation) like some sort of hack, and that bothers me. >=20 >> It has nothing to do with misspelling anything. >=20 > I was referring to the cases when wrongly spelled LIB_DEPENDS results in > ports rebuilding already-installed-from-package dependencies because, say,= > package installs libfoo.so.4, but port says libfoo.so.3 because of missed > shlib version bump. In this case, build log would be polluted with the > build of the dependency, which normally would not happen (only lines like > "package libfoo-1.42 already installed" and "... depends on libfoo.so.4 - > found" should be there). >=20 >> These are used to install dependencies from packages using the ports >> framework. The alternative is to have the package building tool install >> the dependencies themselves, which tinderbox _and_ portbuild do wrong! >=20 > Perhaps I don't quite understand this particular point here, but why not > fix tinderbox/portbuild instead? Are we talking about some really hard to= > track down and fix bug(s) here? >=20 >> The reason for _ONLY is that if a dependency failed to build, a port >> would still, in some race-condition cases, run build-depends, not find >> the dependency packages, then try to build them. Having no network >> access, it would hit fetch errors; it shouldn't be building missing >> dependencies, it should immediately fail because dependencies were not me= t. >>=20 >> The PR has more information and linked patches which demonstrate the issu= e: >>=20 >> http://www.bayofrum.net/~crees/scratch/log.log >>=20 >> With fix: >>=20 >> http://www.bayofrum.net/~crees/scratch/loglog.log >=20 > What I see exactly proves my point: these knobs belong inside the bulk > builder, not in the ports' Makefiles. If I would see, as a user, that I'm= > having some network problem, I would rather go and fix it, and continue > to play with my ports. This obviously may not work for bulk builders, > but that's totally different use case and definitely not something normal > ports users should case about or even know =3D see those USE_PACKAGE_DEPEN= DS* > knobs. >=20 > ./danfe
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A888D446-5B5B-4C48-9083-328F70653049>