svn commit: r325807 - in head: . Mk

Bryan Drewery bdrewery at FreeBSD.org
Sun Sep 1 13:31:51 UTC 2013


On 9/1/2013 4:14 AM, Alexey Dokuchaev 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.
>>
>> make build-depends USE_PACKAGE_DEPENDS_ONLY
>>   This installs dependencies from packages only.
> 
> 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).
> 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 details
> of implementation) like some sort of hack, and that bothers me.
> 
>> It has nothing to do with misspelling anything.
> 
> 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).
> 
>> 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!
> 
> 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?
> 
>> 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 met.
>>
>> The PR has more information and linked patches which demonstrate the issue:
>>
>> http://www.bayofrum.net/~crees/scratch/log.log
>>
>> With fix:
>>
>> http://www.bayofrum.net/~crees/scratch/loglog.log
> 
> 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 = see those USE_PACKAGE_DEPENDS*
> knobs.

Yes of course. As the log message said, USE_PACKAGE_DEPENDS *did not
change*. This *adds a feature* for package building.

> 
> ./danfe
> 


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-ports-all/attachments/20130901/ec09540d/attachment.sig>


More information about the svn-ports-all mailing list