I'm a newbie mantainer and I'm confused about the buildbot

Ryan Schmidt ryandesign at macports.org
Thu Sep 29 16:09:21 PDT 2016


On Sep 29, 2016, at 3:10 PM, Leonardo Brondani Schenkel <leonardo.schenkel at gmail.com> wrote:

> 1. Should I open a ticket when a build broke to track the progress of fixing it?

If you can fix it right away, go ahead. If you don't know the fix and need a reminder about fixing it later, feel free to file a ticket for yourself. It's up to you.


> 2. In case a package simply cannot be built in an unsupported version/ arch of OS X (because upstream won't fix it and I don't know how to fix it), is it possible to blacklist that combination on the Portfile so the buildbot won't attempt to build it and/or users will be notified if they try to install that package on that combination?

Yes-ish. Currently, you would add a pre-fetch block and issue an error if on an unsupported system. For example, from my cliclick port:

pre-fetch {
    if {${os.major} < 10} {
        ui_error "${name} @${version} requires Mac OS X 10.6 or greater."
        return -code error "incompatible Mac OS X version"
    }
}

Make sure you get the condition right. Do not, for example, bail based on the OS version, when the actual problem is something else. For example, if the requirement is C++11, then bail if configure.cxx_stdlib does not equal libc++. (Actually, in that case, just include the cxx11 1.0 portgroup and let it deal with the specifics.)


This will notify users if they try to install, but it won't prevent the buildbot from trying to build, and from sending you an email on failure. The other mailing list thread mentioned earlier discusses the changes we need to make to MacPorts base to make this kind of thing declarative rather than imperative, so that it can be checked by both the dependency system and the buildbot.




More information about the macports-dev mailing list