Home Home > Build-service
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for the ‘Build Service’ Category

Package Review in the Build Service

July 15th, 2009 by

If you are responsible for a package and somebody else changes  it (see my post on fixing packages in openSUSE Factory), you will receive an email from the openSUSE Build Service with a subject like “[obs undefined-request 14149] network:time/ntp: created by a_jaeger”.  The email contains instructions on what you can do with the request, let me just show the normal way (everything is fine) and refer to the documentation on the wiki about Collaboration in the Build Service and the short email.

(more…)

Reducing Size of Factory Updates

July 14th, 2009 by

Stephan Kulow, Michael Matz and others have been working on reducing the size of updates of factory (see feature #303532), so that less packages need to be downloaded each time and after Gerald pointed out two problems, I talked a bit with Stephan today about the current state.

(more…)

Official X11:lxde project now open! We need you!

July 13th, 2009 by

Thanks to Pavol Rusnak, the official project X11:lxde is now open, first packages are already there available for testing, but, some of them just fail because of code and security checks, we need some patches than, before provide you the best packages you can imagine for that DE.

WE NEED YOU!!!

if any of you want to help us providing patches and various fixing you are welcome, and of course you can begin using OBS collaboration way: http://en.opensuse.org/Build_Service/Collaboration

A fast review of the problems we have are available on that post into LXDE forum.

Right now than, if you want to use LXDE you should continue to follow instructions provided on my previous blog post here

Waiting for you and you help

Andrea

Lightweight X11 Desktop Environment, A.K.A. LXDE

July 11th, 2009 by

Lightweight X11 Desktop Environment“, is an extremely faster, performing and energy saving desktop environment. It comes with a beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM the other DE. It is especially designed for cloud computers with low hardware specifications like netbooks, mobile devices (e.g. MIDs) or older computers. It provides a fast desktop experience connecting easily with applications in the cloud. LXDE supports a wealth of programs. The source code of LXDE is licensed partly under the terms of the General Public License and partly under the LGPL.

(more…)

GSoC – summary of this week’s meeting

June 26th, 2009 by

The task for this week was to add support to the frontend so that desktop clients like osc can add the oauth specific parameters to the http “Authorization” header. The ruby library was already able to handle this and therefore I only needed to do a very small change in our urllib2 OAuthHandler which is used by osc.

Using the Authorization header has one drawback:
– the current flow looks like the following: a client makes an unauthorized API request, the API sends back a 401 to tell the client that it needs to authenticate. Therefore the response also contains the following http header: ‘WWW-Authenticate: basic realm=”Frontend login” ‘. This indicates that the client should use basic auth to authenticate with the API. The question is how we can tell the client that it could also use oauth? Sending back something like ‘WWW-Authenticate: basic, oauth realm=”Frontend login”‘ will probably break some clients. Fortunately darix had a great idea: the client simply tells the server which auth methods it supports. This can be done by adding a new http header like ‘Accept-Authentication: OpenID; OAuth;q=0.8, digest;q=0.7, Basic;q=0.5″ ‘ to each request (q indicates which method is preferred, see other http headers like ‘Accept-Language’ for the details). If the API needs authorization it looks at this header and picks the “preferred” method from this list and sends back ‘WWW-Authenticate: <preferred_and_supported_method>, realm=”Frontend login”‘ ‘. In case the Accept-Authentication header is omitted the application’s default method is used (in our case basic auth). Another thing which needs to be discussed is how the API should behave if the client only accepts methods which aren’t supported by the API (e.g. should the API send back a 401 or 406?).

Apart from thinking about this the other task for this week(end) is to add an UI for managing oauth tokens etc. The first part of this task is to decide which tasks the UI should support (like revoking tokens, authorize tokens etc.).

The next meeting will be on monday to discuss the first results.

openSUSE Factory: Fixing Packages

June 20th, 2009 by

I’m back now for some days from my two months of parental leave and decided to get reacquainted with the openSUSE Build Service and the osc command line client.

I’ve checked which packages are failing in Factory on x86-64 (via this link) and checked the log files for some low hanging fruits that I could easily fix.

(more…)

GSoC – summary of this week’s meeting

June 18th, 2009 by

The goals for the last week were to implement oauth support into osc and add something like a “ttl” so that an access token expires after some time.

In order to implement it into osc I decided to write a simple OAuthHandler class which can be added as an “opener” to urllib2. So it should be possible to add custom “openers” for other protocols (but the interface might change again).

The next action item was to add a ttl for an access token. In fact this was just a “one-liner” (apart from a small migration script). I’m really impressed how easy it was to do this with rails.

One note about the osc integration:
At the moment osc sends all required authentification stuff (e.g. oauth_token etc.) via url parameters: http://0.0.0.0:3000/source/home:Admin?oauth_consumer_key=<key>&oauth_signature_method=HMAC-SHA1… because we cannot use POST requests. It might be “nicer” to add this kind of parameters to the http header – so our plan is to use the standard http authorization or www-authenticate headers (see also here).

Action item for the next week:

  • add support to the frontend so that it can handle oauth via the authorization header.

openSUSE@ARM/GSoC: Cross-compilation & speedup

June 16th, 2009 by

This weeks topic was the integration of the cross-compilation mode into the build environment. But it’s more than just a cross-toolchain – it’s a speed-boost for our ARM build environment. As of today, the source is deployed in the repository Base:build:arm:cross. It’s not fully bootstrapped because of the current high load and the upcoming downtime – so watch out for changes there and in Base:build:arm.

But what are these “speedup’s” ? First, you’ve to know that in our build environment the ARM binaries are executed through an emulation-layer. This works on the cost of speed. The goal is now, to exchange some key parts in a transparent manner with native x86 binaries: no emulation, no slowdown. Sounds reasonable, but is it easily possible ?
I had to take care not to mix stuff too much because the environment would break. But now I’ve to say:  WOW, this worked incredibly well  😉 .

The distinctive feature of our approach in comparison to usual cross-build environments is that we use the best of native environment emulation and the speed of cross-compilation. Because of this combination we don’t have to patch the individual packages to make them cross-compilation ready. This is a new way of cross-compiling suitable also for large number of packages. A detailed overview about the different crossbuild types can be found on this page.
Another feature to note is that the exchanged binaries (replacing ARM with x86 in the build environment) also don’t need heavy patching and there’s no need to compile them as static binaries. All of them are normal distribution packages.

A switch in the project enables/disables the new features. With the new changes in place, the speed could be vastly increased. Some figures:
* package rpm
* package glibc w/o locales

Build time in minutes
x86 native armv5tel native armv5tel cross factor native factor cross
rpm 8 107 17 13,38 2,13
glibc 33 505 63 15,3 1,91

overview cross-environment

Thats a drop from about x15 to x2 in comparison to the native x86 build-time !! See it yourself when the “crosscompiled” repo in Base:build:arm is up and running.

In other words: “Warp 5, Mr. Sulu !” 😉

New/updated application

June 11th, 2009 by

Updated Application: bleachbit 0.5.1
Published in: home:saigkill and openSUSE:Factory:Contrib

openSUSE@ARM/GSoC: weekly status

June 6th, 2009 by

openSUSE@ARM/GSoC: weekly status

The topic of this week was to speed up the build. As I mentioned last week, the
prototype in Base:build:arm is compiling in an emulated environment and thus is
quite slow.

I prepared a cross-toolchain from the sources of binutils, gcc44 and glibc from
openSUSE:Factory. Now its time to integrate this into the build process.
This will improve the performace of the compilation itself. But other areas
in the build process can also be improved, just think of the bash.

Some patches for the Build Service were also commited to svn.

In progress / todo:
* prepare / submit fixes for rpm
* more work on cross-toolchain