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