Why do so many builds fail?
ryandesign at macports.org
Wed Mar 9 20:48:03 PST 2016
> On Mar 9, 2016, at 10:24 PM, Bachsau <web at bachsau.name> wrote:
>> Am 09.03.2016 um 17:01 schrieb Ryan Schmidt <ryandesign at macports.org>:
>> There is no "stable" release of MacPorts. Everything is provided as-is and best-effort. We are all volunteers, not being paid to work on this.
> I know, thats okay. I don't demand anyone to support his ports like a commercial product and no one is forced to supply always the latest version, thouroughly tested. I'm also a developer and contribute to others OSS projects or my own in my spare time. When I release something to the public I also don't give any guarantees. But, when I push out something that is supposed to work for many people, I try to make it work, because my motivation for sharing it is to make people happy, not causing trouble, or else I'm not going to release it or share it in ways where people don't expect it to work out of the box, a git repository for example. If somethings not ready or you don't have time to test it or even continue development, thats perfectly fine, and I don't demand getting all the latest bleeding-edge versions in time. No one is forced to contribute to MacPorts, but if you do, it should work.
> It is just somewhat frustrating when you're coding and get in need for some librarys, then do a port install or port upgrade outdated and it breaks the whole thing. People then often tell me: If you don't like it, fix it yourself. But I can't contribute to everything I use, so there's projects I contribute to and projects I don't. If you don't know about the codebase of a project its hard and time consuming to get in. Furthermore, I don't know that much about C/C++. Enough to do some slight modifications but when something horribly fails, especialy in build phase, I'm having a very hard time fixing this myself. This is why I report it to mailing lists or bug trackers, as for a maintainer it's often much easier to understand whats going on. I know you're all volunteers. Sorry for being that pissy yesterday.
I understand everything you've said. Don't really have much more to add. Obviously nobody is going to commit something they believe is broken, but it does sometimes end up being the case for some subset of users. When it does, and we learn that it has happened, we try to fix it. If everybody had to test everything on a clean system on every version of OS X and every version of Xcode before committing, nobody would ever commit anything because nobody has the time and resources to do all that testing. We do have automated build machines that do build every commit on a clean system with no ports installed with several versions of OS X and the latest version of Xcode for those systems. That automated system did catch this webkit2-gtk build problem on El Capitan, and the maintainer was able to fix it. It did take some time, because the maintainer wanted to verify the fix worked before committing it, and webkit2-gtk takes hours to build.
>> Am 09.03.2016 um 18:12 schrieb David Evans <devans at macports.org>:
>> Was this on El Capitan or another version of OS X? Can you attach (to the ticket) a copy of your build log (compressed)
>> from a clean build showing the failure mode? What variants are you using? Anything else relevant?
> I just tried to upgrade again and it succeeded. Glad to see you got it fixed, but I will consider this in future reports. Was on El Capitan and variants are -x11 +no_x11 +quartz +bash_completion.
> PS: Is there a way to tell port upgrade to just skip failed builds and continue to upgrade the rest of the packages? That could come in handy.
Yes, to an extent. This question comes up often.
sudo port upgrade outdated and not webkit2-gtk
However, if any other outdated port (let's say yelp for example) depends on webkit2-gtk, attempting to upgrade that port will again try to upgrade webkit2-gtk. If you don't want that, you have to list that other port too.
sudo port upgrade outdated and not \( webkit2-gtk yelp \)
And so on.
More information about the macports-users