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

arm worker on i586 host

September 1st, 2008 by

Last week I joined the obs-cross “task-force” 😉 and Martin Mohring posted two nice articles about it ([1] [2]).

Today I played with it and got a i586 worker to build for arm.

Here’s a summary what I did:

  • Installed a cross-obs, as done in Martin’s article
  • Copied init_basesystem and build from /usr/lib/build/ to /usr/obs/server/build (to have the same changes as for ‘osc build’ for the worker)
  • search for “my %cando” in bs_dispatch, bs_repserver and bs_worker and change 2 lines to:

  • 'i586' => ['i586', 'armv4l'],
    'i686' => ['i586', 'i686', 'armv4l'],

  • (note: this is just a hack to get it running – our obs-experts are already working on a smarter solution)
  • update: not needed anymore!: added BUILD_USER=root at line 1201 in file /usr/obs/server/build/build to make dh_testroot happy (HACK!)
  • update: use this! Edit /usr/lib/obs/server/build/build , uncomment line with “-rfakeroot” and comment out next line. Also replace “-rfakeroot” with “-rfakeroot-tcp”
  • run sh /usr/sbin/qemu-binfmt-conf.sh
  • start the worker (on the same machine! – otherwise at least install the mentioned qemu!)
  • Now the worker gets a job assigned and does the same magic arm-build as shown in Martin’s posts.

    An enhancement would be to let the workers advertise their “cando”-archs and assign the jobs according to the info recieved by the workers.

    Hackweek review

    September 1st, 2008 by

    Tnx to Andreas Jaeger I could join the Hackweek crew for the cross-obs on Tuesday and also talk to several others on Wednesday. E.g. me and Beineri visited Andreas Bauer got him to include the link to the Monitor-page on “My Projects” (r4789).
    Atm I’m looking at how kiwi can/could work with cross-obs.

    And for all – Here’s a collage of some of AJ’s pictures from Tuesday:
    collage

    Hackweek Day 3: cross-build with OBS Part 2

    September 1st, 2008 by

    This is the second part of my article series about the Hackweek Project “cross-build in the OBS”. The first part can be found here.

    Before I come back to our Hackweek project, some information about the qemu emulator. As a preparation to Hackweek, I talked with Uli Hecht and Jan Kiszka. Uli Hecht is the Novell/SUSE Maintainer of the qemu packages in openSUSE:Factory/qemu and maintainer of the OBS project Emulators, where every emulator you can imagine is maintained for a couple of linux distributions. Also I consulted Jan Kiszka, one of the reviewers and maintainers of the qemu upstream project about the status of the qemu in general, “User Mode” and status of important architectures specifily.

    (more…)

    Enlightenment

    August 31st, 2008 by

    Glad to announce the release of Enlightenment LiveCD based on OpenSUSE-11.0.

    Download page
    ‘Welcome’ notes (PDF)
    Direct link to the .iso image

    Login details:

    User: linux
    Pass: soad

    User: root
    Pass: soad

    A lot of people helped me to manage this. THANK YOU VERY MUCH! My deepest apologizes that I can’t mention all of you by name. But I’ll try to make it ‘in general’:

    Enlightenment Development Team and Enlightenment Community
    OpenSUSE Build Service Team
    OpenSUSE KIWI Team (schaefi, cyberorg, pzb, cgoncalves – THANKS!)
    Stalwart, thanks for the hosting!
    Packman Team
    Novell
    Dear engineers and developers, THANKS! Using SuSE since 8.2 (Pro) Decided to contribute not so long ago…

    It’s the result of my modest efforts. Hope you like it.

    Regards,
    sda

    Hackweek Day 2: cross-build with OBS Part 1

    August 31st, 2008 by

    I took the chance to meet with the openSUSE Buildservice Developers on tuesday and discuss with them the progress made so far. Although the OBS was not a theme at Hackweek that much, I found two people participating.

    Dirk Müller, Marcus Hüwe and me decided to meet at Hackweek to accelerate the development by adding a way to build for architectures, where the buildhost is different from the architecture you are working at. Dirk was inspired by the call of some KDE akademy participants to get the Maemo Project used in the Nokia N810 building and running in OBS. We were all motivated by all the embedded systems out there and a secenario of running embedded openSUSE on them. Also, Adrian told me very often that cross-build is one of the most wanted features requested when openSUSE and OBS is beeing presented at an event.

    (more…)

    Build for Another System

    August 26th, 2008 by

    This is about what I did yesterday in the first day of hackweek:

    hello world

    It is a hello world program. No, the interesting thing about that is not that I am finally able to write a hello-world (which I copied from the internet anyway) but the system on which it is running is unusual for me. It is another system than Linux, it is Windows.

    Still somehow boring to let run a hello world on Windows? Yes, but I did not build it on Windows. I build it on Linux on a free software stack. I yesterday set up a mingw compiler ready for cross compiling Windows binaries on Linux. Maybe this can be the first little step towards a Windows build target in the Buildservice.

    What do you think?

    Accessing the Build Service from Eclipse

    August 13th, 2008 by

    One of this year’s Google Summer of Code projects is a an Eclipse plugin to access the Build Service, developed by Long Hong from Beijing. If you are interested, read on.

    open Build Service perspective

    While there are still issues to be solved, I think it’s in a state that everybody can try it out. Grab a package from my home project, launch eclipse and open the Build Service perspective. Please note that the package itself is a bit experimental and was only tested to work on openSUSE 11.0. Enjoy! 😉

    screenshot of the properties view

    screenshot of the remote view

    screenshot of the build result view

    Buildservice and L3

    July 10th, 2008 by

    These days some people from various teams spent a lot of time the last days discussing topics around L3. L3 means Level-3 support and is one of the services that we offer for our enterprise product series. It is about bugs which are not solvable through our support organisation but require developer eyes to stroll through source code.

    What that has to do with openSUSE you might wonder. Well, since we’re currently working on switching our internal build process to a Buildservice based solution, L3 comes into play as well as other parts that are hardly visible for the community but important for the business.

    L3 is a really tough game: Customers are paying money for the service and if they call they expect premium service quickly. Often enough enterprise operations are endangered by L3 bugs (or it is said that it is 😉 and clearification is needed quickly to relax the situation.

    For the brave guys offering this service that means that they need to replay the customer situation quickly, debug, find the bug and if needed provide a fix for the customer.

    The customer of course can tell more or less accurate which system he is running on which hardware. But than it’s getting rough for us: Finding the correct source for this constellation might sound easy, but if one adds up the amount of products that we maintain, it’s subflavours and service packs and also considers the lots of maintenance updates that the customer is expected to install, it becomes clearer that there are lots of possibilities and huge hard drives with content ;-).
    Having found the correct source debugging (often together with the customer under time preasure), fixing and providing a fixed package begins.

    L3 is an impressive bussiness for me, done by courageous guys.

    Even more nice that the Buildservice helps a lot here because it makes at least building of debug info packages and fixes easy. A well thought through project structure in the Buildservice linked together with sourcelinks and aggregrations (which is a science for itself which one where 😉 eases (at least) the source organisation a lot. Other things also sound promising.

    There is still some work to do until all peaces fit together but we are looking forward to helping the L3 collegues to improve their processes with the Buildservice and maybe some other tools.
    I know, this is not exactly related to community questions but I thought it might be interesting to read about these things from time to time as well…

    new osc package released

    July 10th, 2008 by

    After two or three weeks of coding (not mine mostly, but by Marcus and Dirk), a lot of good stuff has accumulated in the osc development tree. Time to release a new package. It is a particularly good moment because today the 1.0 release of the Build Service has been announced.

    The list of changes is long, the NEWS file has it all. Overview:

    • version 0.105
    • easier usage of osc submitreq: It is less picky on commandline arguments, can be called in working copies or project directories, figures out which build service instance to use, and has improved output. Also, there is a osc submitreq delete action now (which only works if you have write permissions on the destination though)
    • osc search: added option -i|–involved, to show in which projects/packages a developer is involved
    • osc importsrcpkg: no signature check anymore
    • osc linkpac: –revision option added.
    • osc copypac: use the correct userid when copying to another api host
    • osc build: double check the buildinfo for local builds.
    • osc buildhist: change the output into a format which better matches actual RPM filenames.
    • osc commit: give commit message tempfiles a “.diff” suffix, so syntax highlighting automatically works in capable editors
    • don’t expand/unexpand if the working copy has local modifications – this is a workaround for #399247 but this way the working copy isn’t screwed up. Also, make sure no _linkerror files end up in working copies.
    • better error reporting in a whole number of cases, especially printing out more available detail. For instance, osc meta now prints out a concrete text why something you submitted was not accepted.

    Have a lot of fun with it.

    And just a note, remember that it is very easy to write osc plugins in order to extend or alter the functionality! Here’s the documentation.

    Hermes grows up

    June 20th, 2008 by

    As promised in my other blog about Hermes it grew up a bit since then. I was able to install it finally on the Buildservice production machines. Darix and Adrian helped me to get things underway. As the first process of the backend, the srcserver is notifying Hermes about things that happen: Commits to packages, udpates of packages etc.

    Since starship is not yet in the shape that we really want to use it, we’re only offering RSS feeds so far, not yet personalized. Under the URL http://build.opensuse.org/feeds/allevents.rdf you find a RSS feed with all notifications the srcserver comes up with so far.

    We realise that this feature is especially interesting for collaboration in general and especially for the new request stuff coming with the upcoming release 1.0. As a consequence we have created a feed that only contains the notifications about requests: Creation, change and deletion are reported to http://build.opensuse.org/feeds/requests.rdf

    This is the first step with Hermes in production. Note that it is still beta and nothing one could expect proper functioning from. I am leaving to a two week vacation today and this is what I could still come up with before. Hope you enjoy it a bit – please give feedback, especially which notifications you would like to see coming through.

    These are the areas where I would continue to work on after vacation if you don’t come up with other prios:

    • Starship – Message displaying, configuration of notification subscriptions.
    • Personalization – only show me notifications about projects where I am involved.
    • More output agents – mail, jabber, personal RSS
    • More usefull notifications, with help from the backend people

    If you want to know more about Hermes find it in the infrastructure svn module (don’t miss the docu in the doc directory)