On Sat, Dec 08, 2007 at 07:09:52PM -0500, Jason Dixon wrote:
> Yes, audio/workman has a BUILD_DEPEND of x11/view/config.  I assumed there was
> magic with the update target to ignore any BUILD_DEPENDs where the dependency
> won't build on ARCH.  I guess I'm stuck with SKIPDIR, which should be ok.

> Does that feel like a bug to anyone else, or is it expected behavior?

It's a limitation of the current infrastructure. You're slightly mistaken
as to what's happening and why.

There is no magic in make update. There isn't supposed to be any magic in
make update. make update simply does build every package, as it's supposed
to, and then reinstalls only whatever is already in the system.

If you want to build only what's installed, you have to maintain a list
of dirs more or less manually, with the current framework. That's what
SRC: in PKGPATH is supposed to do eventually (it kind of works now, in
fact).


What you're seeing is the fact that NOT_FOR_ARCHS is not inherited from
dependencies. So, xview is marked not for amd64, and it will quietly
be skipped when built directly, but this is still tagged as an error
when you encounter it as a dependency.

It's a difficult issue to solve, because there is value in both ways.
The current solution assumes non-marked build issues are problems. This
is somewhat correct, because you often want to see whether something will
build right at the Makefile level, without having to dig in the dependencies.
No surprise.

On the other hand, this often will require some heavy maintenance when a
common dependency changes status, because you will then have to re-edit
the broken parts in all ports of show-required-by...

The correct solution would probably be to be able to stick a tag that says
`warning, may not build because of this port', so that we could have it
both ways, even if we forget to eventually update the port.

e.g., I would just write:
BROKEN_DEPENDS=::x11/xview/config
in audio/workman, and it would tell me...

Reply via email to