Building all ports when setting up a new buildbot builder

Ryan Schmidt ryandesign at macports.org
Wed Dec 3 06:57:36 PST 2014


On Dec 3, 2014, at 8:54 AM, Joshua Root wrote:

> On 2014-12-3 15:34 , Ryan Schmidt wrote:
>> On Dec 2, 2014, at 9:42 PM, Joshua Root wrote:
>> 
>>> On 2014-12-3 13:38 , Ryan Schmidt wrote:
>>>> On Dec 2, 2014, at 8:39 AM, Joshua Root wrote:
>>>> 
>>>>> On 2014-12-2 21:57 , Ryan Schmidt wrote:
>>>>>> I am assuming that if we set the portlist to e.g. "name:^[0-9a-d]" instead of "all" that it would work.
>>>>> 
>>>>> No, it won't. You can't use regexes and it's not a list of port names,
>>>>> it's a list of portdirs.
>>>> 
>>>> I see. But somehow the special keyword "all" is being handled; I assumed it was being passed on to `port` and that we could use any of the port-selection methods `port` allows. Is there a reason why it was not done that way?
>>> 
>>> Because MPAB does a lot more than just run 'port install <something>'.
>> 
>> The mpab readme, which is admittedly 4 years old and possibly outdated or completely inaccurate by now, shows an example of getting a list of ports by running a `port` command:
>> 
>> 
>>> To build only a certain set of ports you need a file containing the
>>> list of the port names. The `port list' command adds more information
>>> than you want here, like version and category.  To create an list for
>>> mpab consumption, you can use something like this:
>>> 
>>>  port echo maintainer:YOURNAME > own_ports
>>> 
>>> and then
>>> 
>>>  sudo ./mpab buildports own_ports
>> 
>> 
>> If that works, then it should also be able to handle:
>> 
>>  port echo name:^[0-9a-d] > own_ports
>>  sudo ./mpab buildports own_ports
> 
> But not `echo 'name:^[0-9a-d]' > own_ports`.

Sure, "echo 'name:^[0-9a-d]'" would not work, but "port echo 'name:^[0-9a-d]'" should.


> You can indeed put any list of port(dir)s you like in the text field
> when you force a build. (The documentation certainly predates subports.)
> 
>>>> On Dec 2, 2014, at 8:40 AM, Daniel J. Luke wrote:
>>>> 
>>>>> (and maybe also set things up to upload archives as they become available?)
>>>> 
>>>> I don't know what that would involve, having not looked at the buildbot infrastructure that much. I just know that from the buildbot web interface, it's clear that uploading archives is currently implemented as a separate step, after building. (In fact, gathering archives is another separate step, currently.) So putting the gathering and uploading steps into the building step would involve rearranging some code.
>>> 
>>> It has to be a separate step if we use buildbot's built-in support for
>>> uploading files.
>> 
>> Though it's probably not too difficult to write a couple lines using curl to upload files manually.
> 
> I eagerly await your patch. ;)
> 
> Just uploading them in the build step doesn't help, they'll still sit
> there until the "deploy achives" step which signs them and moves them
> onto the packages server.

I'm probably not going to be working on this right now since it's not code I've worked on before and I have other things I'm working on right now.




More information about the macports-dev mailing list