> On Mar 24, 2019, at 4:05 PM, Mojca Miklavec <mo...@macports.org> wrote:
> 
> On Sun, 24 Mar 2019 at 19:55, Craig Treleaven wrote:
>>> On Mar 24, 2019, at 1:09 PM, Mojca Miklavec wrote:
>>> On Sun, 24 Mar 2019 at 01:06, Craig Treleaven wrote:
>>>> 
>>>> There are a number of ports that require a dependency to be installed with 
>>>> a non-default variant in order to build successfully.  A short-coming of 
>>>> MacPorts is that this cannot be done progammatically
>>>> 
>>>> When this is rolled out, we don’t want to make users think that a port 
>>>> will fail to build on their system when it is just a case of needing a 
>>>> non-default variant.
>>>> 
>>>> However, I don’t know how to handle this cleanly.   Perhaps we could parse 
>>>> the build log looking for the message that informs the user how to install 
>>>> the required variant.  If found, instead of saying the build failed, we 
>>>> could indicate that the build was not attempted as the buildbot 
>>>> configuration could not support a successful install.
>>> 
>>> I totally agree with your request, but this is completely out of scope
>>> of the proposed app. This either needs a proper extension in the base,
>>> or a workaround in mpbb, preferably the former. I believe a much
>>> bigger general issue is reporting failure of port builds on OSes which
>>> are know not to be supported (like: attempting to build the latest Qt
>>> on 10.5). Again, this needs to be addressed elsewhere.
>>> 
>> This issue hits very close to home for me.  None of my MythTV ports, nor the 
>> hdhomerun-gui port, will build successfully on the buildbots.  They never 
>> have.  They *will* build successfully (on supported OS versions) if the 
>> proper variants are specified.
>> 
>> If an unknowing potential user came to page for any of these ports and found 
>> nothing but failure messages for all of the buildbots, why on earth would 
>> they want to proceed to install the port?
> 
> […]
>> If we won’t expand the scope to handle this relatively common issue, we 
>> should at very least add some static text to the web page explaining that 
>> buildbot failures don’t mean necessarily mean the port will fail for a 
>> particular user.  Even so, that is a very poor workaround.
> 
> You could equally argue that users will see that ports don't fail, but
> then they are buffled when they cannot install those ports on their
> own machine. We should really really fix the situation in MacPorts.
> 
Not the same at all.  Now, if a user doesn’t specify the right variants they 
get a message that tells them what to do.  Of course it would be better if that 
didn’t happen but this is the way things work, now.

> I would say: Don't kill the messenger. Just because one application
> exposes some issues with MacPorts, it doesn't mean that the
> application needs to be endlessly tweaked to hide those problems away.
> We should no have failing builds on the buildbot, end of story. We
> need to do everything to avoid failing builds, not to implement
> explanations and workarounds on the wrong level. Note that we'll
> probably have another student apply for a different project which
> would, if selected, expose the exact same problem on a different page.
> Should we implement those workarounds ten times?
> 
As you said, people have looked at this problem and not found a workable 
solution.  It may be a _long_ time before a “proper” solution is implemented.  
In the meantime, reporting these as failed builds *actively misinforms* users.  
When you say there will be the same problem “on a different page”, I don’t know 
what you mean.  And if we can implement a workaround, why can’t we share it 
with this other page?  Why would we have different pages reporting the same 
information?

As I see it, all we have to do is search the appropriate log for the message 
that the active_variants PortGroup spits out when it detects a dep with the 
wrong variants.  If found, we replace the text “Failed” with something like 
“Build not attempted”.  And probably add a link to a page that explains why 
not.  Clean and elegant?  No.  Hard to do?  Again, no.

> My argument is that we need to fix ports and base to avoid those
> failures, not to explain them away.

I don’t disagree.  I guess I’m not as optimistic that this will be done quickly.

Craig

Reply via email to