Mailinglist Archive: opensuse-buildservice (239 mails)

< Previous Next >
Re: [opensuse-buildservice] Build a whole project with osc
  • From: Peter Poeml <poeml@xxxxxxx>
  • Date: Wed, 21 May 2008 17:56:34 +0200
  • Message-id: <20080521155634.GL7785@xxxxxxx>
On Wed, May 21, 2008 at 05:49:43PM +0200, Marcus Hüwe wrote:
On 2008-05-09 20:15:25 +0100, Carlos Goncalves wrote:
Hi,

As requested by darix, I'm emailing oS-buildservice to ask for a new osc
feature - capability to build a whole project (eg.
KDE:KDE4:UNSTABLE:Desktop)
with one single command.

Currently there is only possible to do things like
$ osc build PLATFORM ARCH BUILD_DESCR

Which restricts builds to a given PRJCT:PGK so if one wants to build a
whole
project the following won't work:
$ osc build PLATFORM ARCH PROJECT

With my osc feature request something like it would be possible.

For what I have understood, darix pointed out that to do that some API
changes/exposing would be needed or so, which seems to concern him a little.

Hmm I think we need one additional api call to retrieve the buildorder of a
project.
This new call could look like this:

'POST:/build/$project/$repository/$arch/_buildorder'

Then we could upload all spec files to the backend, the backend parses all
specs and calculates the buildorder. Calculating the buildorder isn't too hard
but the real problem is how to transfer all the spec files to the backend?

There actually is kind of a plan how this bit could be solved. A long
time ago, we planned to complete the local build support by sending
(from osc to the backend) the requires and provides of locally preferred
packages (so the api can take that into account). We would actually send
the local spec, plus provides and requires of the other packages cpio'ed
to the api. (I actually implemented the cpio part at the time)

I'm not sure if this is already enough to calculate the build order, but
if not it could probably achieved the same way.

I attached a potential method to calculate the buildorder (it retrieves the
spec files and other needed data in one big xml file) (note: this method isn't
complete, it should just show that the whole thing shouldn't be too hard to
implement).

So once the backend generates a buildorder xml file we can start to tweak
the clients to build a complete project.


Any opinions?:)

Yes, it would be quite interesting.

Just for the record, if the build order is known, something like

for i in pkg1 pkg2 pkg3; do
osc build ..... -k /tmp/keepdir -p /tmp/keepdir
done

works around the lack of the functionality.

Peter
--
"WARNING: This bug is visible to non-employees. Please be respectful!"

SUSE LINUX Products GmbH
Research & Development
< Previous Next >