Buildbot now fails to build wine dependencies

Clemens Lang cal at macports.org
Tue Jul 4 20:00:16 UTC 2017


Hi,

On Tue, Jul 04, 2017 at 04:23:13PM +0200, Rainer Müller wrote:
> I still don't understand why we pass *default* variants to
> dependencies at all. As I see it, the problem would go away if we
> would not request default variants explicitly...
> 
> @Clemens,
> as you originally added this to mpbb/tools/dependencies.tcl, do you
> still remember the reason?

You were right on it when you mentioned the failcache. However, you only
considered the reading part of the failcache, not the writing part of
it.

We need to know the canonical (i.e., fully-expanded) set of variants for
every port we build, because even when a port is only installed as a
dependency, we update the failcache when it fails.

Failure to do this would possibly cache a build failure of what mpbb
thinks is 'cairo +quartz' (but actually is 'cairo +quartz+x11') cached
for 'cairo +quartz-x11' (i.e. canonically 'cairo +quartz').


> I am attaching a patch to only print active variants that are not
> enabled by default (or disabled default variants). To me the result
> looks like what we want to have:
> 
> $ tools/dependencies.tcl wine | grep -E 'glib2|cairo'
> glib2 +universal
> cairo +universal
> $ tools/dependencies.tcl gtk3 +quartz | grep -E 'glib2|cairo'
> glib2 +quartz
> cairo

No, this won't work, because with this output you can no longer
distinguish 'cairo (default variants)' from 'cairo -quartz-x11'. This is
probably not a valid configuration for the cairo port specifically, but
you get the idea.

I think a patch that does not return a default variant if a conflicting
other variant was selected should work fine, though (and is exactly what
MacPorts itself would do in these situations, afaik).

-- 
Clemens


More information about the macports-dev mailing list