-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Variant support #5
base: master
Are you sure you want to change the base?
Conversation
This reverts commit f6e4681.
14e50df
to
06620d1
Compare
Allow passing variants into list-subports by separating port name and variants specification with an "@" sign. @ is not a valid character in port names and should allow us to specify variants per port in the buildbot's portlist. When not using this new syntax, the output will look exactly as it did before to avoid breaking the existing setup. Closes: https://trac.macports.org/ticket/52742
06620d1
to
60af077
Compare
Why do we need a new syntax? Can't we use the same syntax that |
I did not want to do this since the buildbot configuration currently does not support support this behavior. With the current approach, you could just put Of course this then introduces the problem of making this change in a backwards-compatible manner with the buildbot configuration, because we cannot change both at the same time. |
I see you've done a lot of work on this already so if you don't want to change it I would be happy for now if at least the API exposed to developers via the buildbot web site does not require them to use the
My only experience with Python is editing our buildbot master.cfg, so it has taken me a long time to understand what you're saying here. We do:
So the problem is that we We could change this code so that a I guess you are passing this
I suppose so. We currently process the
So the only problem there is that we call
I'm not clear what the problem is here. Nobody is specifying variants to the buildbot right now because it doesn't have that feature. Anybody specifying a port list is giving a whitespace-separated list of port names. And that would still be valid in the future. Can't we change the buildbot config and mpbb in either order without breaking anything? |
It wasn't that much work.
No, the problem is that there is no difference between the separators between a port and its variants, and separate ports. This is unnecessarily hard to parse because loops of the form
I don't think that ever happens. Not sure why we wrote the code this way.
It could be passed as a separate argument for a builder that only accepts a single port name, but then again we would have to change the buildbot configuration to achieve variant support. I do not want to cause more work on deploying changes than is necessary. Additionally, the method of only having a single field for variants doesn't fit to builders that support a portlist argument, if you want to specify separate variants.
But there would still not be an easy way to separate port names from variant specifications, as explained above. I really don't want to add lengthy parsing logic in bash but just use a
Yes, we can. I was just trying to do a fast iteration to enable variant building that could be improved on later. I think less dependencies between things are a good thing. |
I agree that the web form should not have a separate variants field; we should specify ports and variants in a single field, like we do on the command line when calling You're right, we can do it this way for now and refine it later. |
Unfortunately the revert I did at the bottom of the commit stack is not correct, so I'll have to find a different solution for that :/ |
When building pango -x11 in a clean prefix, glib2 will fail to install, because the -x11 variant is being passed down to glib2, but glib2 requires either +quartz or +x11, and +quartz was not enabled by default when x11 was disabled. This caused problems when implementing variant support for the buildbot in macports/mpbb#5 and initially caused me to think that I would have to revert macports/mpbb@f6e4681 which was added due to macports/mpbb#4 and https://lists.macports.org/pipermail/macports-dev/2017-June/035978.html. This solution should instead work without the revert and still allow the buildbot to build both wine and +quartz-x11 ports. See: https://trac.macports.org/ticket/52742
I think macports/macports-ports@45c59fe may actually fix these problems so that the revert won't be necessary. I'll test and report back. |
The code currently conflicts with 97f4db4. |
@neverpanic or @jmroot: does anyone have time to fix the conflict? |
I've looked at it, but unfortunately it's not very simple to fix. :/ |
When building pango -x11 in a clean prefix, glib2 will fail to install, because the -x11 variant is being passed down to glib2, but glib2 requires either +quartz or +x11, and +quartz was not enabled by default when x11 was disabled. This caused problems when implementing variant support for the buildbot in macports/mpbb#5 and initially caused me to think that I would have to revert macports/mpbb@f6e4681 which was added due to macports/mpbb#4 and https://lists.macports.org/pipermail/macports-dev/2017-June/035978.html. This solution should instead work without the revert and still allow the buildbot to build both wine and +quartz-x11 ports. See: https://trac.macports.org/ticket/52742
What should we do? |
Allow passing variants into list-subports by separating port name and variants specification with an "@" sign. @ is not a valid character in port names and should allow us to specify variants per port in the buildbot's portlist.
When not using this new syntax, the output will look exactly as it did before to avoid breaking the existing setup.
This requires reverting f6e4681 due to the reasons explained in a comment on this commit.
See also https://trac.macports.org/ticket/52742.