[maemo-developers] Autobuilder and build-dependencies from extras-devel

From: Ed Bartosh bartosh at gmail.com
Date: Wed Jun 24 23:43:11 EEST 2009
2009/6/24 Henrik Hedberg <henrik.hedberg at innologies.fi>:
> gary liquid wrote:
>
>> if you add NEW calls or references or headers into the library since you
>> last updated, it will FAIL because your app will be trying to load in
>> the older versions.
>
>    I believe many of us have had the same problems.
>
Only those, who uploads libs&apps at the same time.

>> it was something I encountered and pondered whether we could make the
>> autobuilder "cheat" and look in the "queued for updating to
>> extras-devel" list so that it found the others.
>
>    +1
>
It's not that simple as it looks from the first look.
For example how autobuilder should distinguish between package, which
needs to wait for new library to be built & uploaded to
extras-devel(app depends on new or changed API, provided by that
library) and other application, which doesn't use new API and can be
successfully built with older version of library(which is already in
extras-devel)?

This info can be get from versioning build dependencies, but I doubt
that many of Maemo contributers use them properly when changing APIs.

I was thinking about adding support for multiple package builds to
autobuilder. In this case if  packages (library and application in our
case) is inculded in one build they will be properly ordered for the
build and previous build results will be used. But there is at least
one open question here: how dput can support this. I didn't
investigate this deeper, but from first look I didn't find proper way
to support this in dput. It always operates with one package only.

Another idea is that autobuilder will always build packages in
dependency order and upload results to extras before starting to build
dependent packages.

Unfortunately this is not in my near plans. I'm going to add
functionality to check package installability to aoutobuilder first. I
think it's much more important.

>> but at the end of the day, I just uploaded and got the library through,
>> waited an hour, then sent the app.
>
>    That makes unnecessary delay between the moment your application is
> ready to be released and the final moment when it can be actually
> announced to the world. What to do in between? Drink a lot of coffee? In
> the middle of the night perhaps?
>
> 1. Upload your library into the extras assistant
> 2. Wait unspecified time (usually at least ten minutes)
> 3. See if the build succeeded. If not, go to 1.
> 4. Wait unspecified time (one hour perhaps) until the library is
> actually in the extras-devel.
> 5. Upload your application into the extras assistant.
> 6. Wait unspecified time (usually at least ten minutes)
> 7. See if the build succeeded. If not, go to 5.
> 8. Wait unspecified time (one hour perhaps) until the application is
> actually in the extras-devel.
> 9. Promote the library and the application to the extras.
> 10. Wait unspecified time (one hour perhaps) until the library and the
> application is actually in the extras.
> 11. Announce the new version of your application to users.
>
> How many hours is 1 -> 10?
>
>    Is there any possibility to make this time shorter?
>
Sure! We just need to think about it and we'll found how to do this. I
explained my ideas above. You can share yours.

If anyone is willing to help in impoving autobuilder - you're always
welcome: https://garage.maemo.org/projects/extras-cauldron/

-- 
BR,
Ed
More information about the maemo-developers mailing list