Home Home > Infrastructure > Build-service
Sign up | Login

Archive for the ‘Build Service’ Category

OBS supports new branch and merge handling

January 11th, 2010 by

Michael Schröder put some effort into supporting a new way of doing a branch and merge of a package with openSUSE Build Service (OBS). This is a new feature of OBS 1.7 release and is active now on build.opensuse.org by default. This new way is almost the same way as subversion or git are working.

The former branch command created just a “_link” file and stored changes beside in a patch file.

The new mechanism is doing a full copy of the sources, but still trace the origin via a _link file. The diff is created via the diff3 application (which is also used by git).

The advantage of this new method is that in some cases no more conflicts are generated, for example when line X is edited in the master branch and line X+1 in your branch. The former mechanism created a conflict here, because it was part of the patch.

Please note that this has only an effect in your devel packages, if you recreate the package branch (eg. remove the package and call “osc branch openSUSE:Factory $package $your_project”. Or you use the new beta version of osc 0.125, it supports a “osc linktobranch” command which just converts your package on the server. You can find this beta osc package in the openSUSE:Tools:Unstable project.

While all this is similar to git there is still a difference. When you branch with git, even in tracked mode your branch always stays on the version where you have branched from until you call “git pull”. The OBS always tries to merge the latest revisions together, the rational behind this is that we want to see the build results of latest merge revisions. So a “osc up” or a fresh checkout gets the merged sources already.

However, the latest osc 0.125 beta 1 also supports the git way. This means staying at the branched revision and you need to call the also new command “osc pull” to update to latest code. You can switch on this mode by adding “linkcontrol: 1” to your ~/.oscrc config file.

There will be more development in this area soon :)

openSUSE Build Service 1.5 Announced

March 19th, 2009 by

The openSUSE Project is proud to announce the 1.5 release of the openSUSE Build Service. This release takes developers beyond just building packages. You can now build your own distribution using the openSUSE Build Service!

The 1.5 release makes it possible to build entire releases within the build service. and export ISO images and FTP trees. All users can create images locally using “osc build,” and permission can be granted to build images using the hosted build service as well. A presentation on KIWI imaging with the openSUSE Build Service can be found online (PDF).

The openSUSE 11.1 release was built entirely in the openSUSE Build Service, and it’s now possible for other projects to be created in the openSUSE Build Service as well. Whether you’re creating a derivative distribution or product like the openSUSE Education CDs, the openSUSE Build Service now has you covered.

Building Appliances and Live CD Images

OBS 1.5 includes the ability to automatically calculate dependencies and create installable images, such as the live CDs and network deployment images for the openSUSE:Tools build hosts.

In addition to ISO images, OBS 1.5 can create images for installable USB sticks, Xen images, and VMware images.

Another benefit to the 1.5 release is the ability to create product add-ons, such as the openSUSE nonfree add-ons for 11.1.

Experimental Features

OBS 1.5 also includes several experimental features added by the openSUSE Community, including:

* Support for cross-architecture build support, added by Martin Mohring of 5e Datasoft as part of the work towards supporting the ARM architecture with openSUSE.

* Package download on demand support thanks to Marcus Hüwe.

* Filtering of build results via the Web monitor. This means that OBS users can view only relevant results – like failed builds or only builds targeted at specific distributions.

These features are not considered production ready, but are available for developers looking to have early access to these features

The OBS team is always looking for additional feedback and contributors to improve the openSUSE Build Service. To discuss Build Service development, subscribe to the opensuse-buildservice list (opensuse-buildservice+subscribe@opensuse.org), and see the #opensuse-buildservice channel on Freenode.

Wanted: Build Service Contributors

January 15th, 2009 by

Have you ever wanted to join Build Service development, but you had no idea what to implement? Would you like a real opportunity to learn Ruby on Rails? This is a great time to start!

The OBS developers have collected smaller projects on this wiki page. These projects are ideal for anyone new to OBS development. All you need is a local copy of the Web Client, which can easily be deployed on your development system.

Most of the jobs will enable functionality which is already implemented, but not available in the web client. The web client is great for browsing the content and the status of the projects. These improvements will help developers to get a better overview about their builds and sources.

(more…)

openSUSE Webclient Survey Started

October 17th, 2008 by

Today we started an openSUSE Build Service Webclient online survey. We want to get more informations about the openSUSE Build Service Webclient users, the used hard and software and (potential) use cases.

If you use, used or want to use the OBS, please participate on the survey and help us to make a solid Webclient 2.

The survey is available via this link.

Thanks for your participation!

openSUSE Build Service Did It!

September 22nd, 2008 by

The openSUSE 11.1 beta 1 release marks a significant change for openSUSE. For the first time in 11 years, a SUSE release was not built in the SUSE internal AutoBuild service — openSUSE 11.1 beta 1 was built using the openSUSE Build Service!

(more…)

openSUSE Build Service 1.0 Released

July 9th, 2008 by

The openSUSE Project is proud to announce the 1.0 release of the openSUSE Build Service. The 1.0 release provides all the features necessary to support building openSUSE in the public build systems and allowing direct contributions to openSUSE from all contributors. Developers can now submit contributions to openSUSE directly at build.opensuse.org.

The openSUSE Build Service allows developers to create and maintain packages for openSUSE and many other Linux distributions, including CentOS, Debian, Fedora, Mandriva, Red Hat, and Ubuntu. With the 1.0 release, the openSUSE Build Service expands its scope to building the entire openSUSE release, and provides everyone with the same access and transparent interface to work on the openSUSE distribution.

The openSUSE Build Service has offered a simple collaboration system since its inception for groups to work closely together on packages or solutions stacks. The 1.0 release improves on existing functionality to allow the Build Service to scale to larger projects like openSUSE’s Factory distribution, and to allow building openSUSE’s stable releases in the open.

What the changes mean for contributors:

  • Anyone can find a package’s working copy as maintained by the official packager or packaging team. Contributors can submit changes against the working copy.
  • The submission handling and notification system has been put in place, allowing any contributor to request a merge of their changes to a project.
  • Quality assurance happens before contributions are merged. Test builds of a suggested change are accessible to anyone.
  • Improved branch handling. It is easy to set up a branch of a package. The branch will build in the same way as the original package, but can be modified.
  • Source handling is improved in 1.0. It’s now possible to easily maintain a branch, and modifications are stored without creating a full copy. This makes it easier to maintain features based on the latest copy of package. The Build Service builds the latest packages, including modifications, automatically.

The majority of this functionality is implemented on the server side. The rest can be implemented by the various Build Service clients, so that contributors can take advantage of the new features.

The Build Service team has also introduced a number of smaller improvements and bugfixes to make the system more scalable and usable.

The openSUSE Build Service is now considered “feature complete” for collaboration. The Build Service team is looking for additional feedback on improving the openSUSE Build Service as it will now be the standard tool for working on the distribution.

openSUSE Build Service 1.0 RC 1 released

June 11th, 2008 by

The openSUSE Project has released the first release candidate of the openSUSE Build Service 1.0. With the release candidate, all the features are now in place to support external collaboration with the community to build openSUSE in the open. Developers can now submit contributions to openSUSE directly at build.opensuse.org.

The openSUSE Build Service has offered a simple collaboration system since its inception for groups to work closely together on packages or solutions stacks. The 1.0 RC 1 release improves on existing functionality to allow the Build Service to scale to larger projects like openSUSE’s Factory distribution.

What the changes mean for contributors:

  • Anyone can find a package’s working copy as maintained by the official packager or packaging team. Contributors can submit changes against the working copy.
  • The submission handling and notification system has been put in place, allowing any contributor to request a merge of their changes to a project.
  • Quality assurance happens before contributions are merged. Test builds of a suggested change are accessible to anyone.
  • Improved branch handling. It is easy to set up a branch of a package. The branch will build in the same way as the original package, but can be modified.
  • Source handling is improved in 1.0. It’s now possible to easily maintain a branch, and modifications are stored without creating a full copy. This makes it easier to maintain features based on the latest copy of package. The Build Service builds the latest packages, including modifications, automatically.

The majority of this functionality is implemented on the server side. The rest can be implemented by the various Build Service clients, so that contributors can take advantage of the new features.

The Build Service team has also introduced a number of smaller improvements and bugfixes to make the system more scalable and usable.

The openSUSE Build Service is now considered “feature complete” for collaboration, but the team is expecting a lot of user feedback since this now is our standard tool for working on the distribution. We will be releasing frequent updates to improve the Build Service based on this feedback. Contributors can discuss the build service on the mailing list and on Freenode in the #opensuse-buildservice channel.

KDevelop and the openSUSE Build Service

June 4th, 2008 by

Building packages for multiple distros can be a major pain — which is why we provide the openSUSE Build Service. One of the Build Service’s many features is the ability to create packages for many distros — including openSUSE, SUSE Linux Enterprise, Debian, Fedora, CentOS, and Ubuntu. One of the projects making the most of the Build Service is KDevelop. We talked with KDevelop developer Amilcar do Carmo Lucas about how the KDevelop project is using the build service.

(more…)

Games in the openSUSE Build Service

April 30th, 2008 by

Games

Hello avid gamers and game developers!

We decided to restructure and cleanup the games projects in the openSUSE Build Service. Before the change we had 8 projects for each game genre (action, adventure, arcade, board, puzzle, roleplay, strategy/realtime, strategy/turn-base) and one separate project for game libraries (so you can play games even on older distributions with obsoleted libraries).

This situation was causing more harm than good, so now we will only have one “games” repository with all game genres together. If you have already added old game repositories, please remove them and add the brand new one located at download.opensuse.org/repositories/games/ and then the directory of your distribution. The old URLs for the individual games repositories will no longer work.

If your favorite game is not yet packaged you can add it to the Games Wishlist at openSUSE wiki. Or even better, you can try to package it by yourself and when you are finished contact Pavol Rusnak and we will add the game to the repository. You can also ask on the opensuse-packaging@opensuse.org (subscribe) mailing list you have any troubles with the packaging.

Game On!

openSUSE Project Releases Major Update to openSUSE Build Service

April 16th, 2008 by

The openSUSE team is proud to announce another major release of the openSUSE Build Service (OBS). This release brings a new level to OBS scalability by adding the ability for OBS instances to interact.

The 0.9 release will help grow a world-wide network of build service instances. OBS instances can automatically interact with each other and reuse projects residing on other OBS instances. New installations of OBS are automatically configured to work with the main openSUSE Build Service, which makes it easy to set up new instances and minimize network traffic while keeping data in sync automatically.

(more…)