We are proud to announce the availability of OBS 2.4.0 RC 1.
Plenty of features and other improvements went into this release.
In short, it supports new packaging formats, new architectures, supports
new virtualization methods, offers new collaboration workflows and
can handle build job distribution better.
As a release candidate, it may get released unmodified, but please
give it a final test before.
One thing which is currently in unclear state is the LDAP support.
While there is a group working on improving it, the current code
is completely untested by SUSE. It would be great if someone could
test it before release.
The release rpms and appliances can be found in OBS:Server:2.4 project:
The version is currently tagged as 2.3.95.
Please find the full release notes below:
# Open Build Service 2.4
Please read the README.SETUP file for initial installation
instructions or use the OBS Appliance from
There is also an install medium with installs OBS on hard disc now.
dist/README.UPDATERS file has informations for updaters.
OBS Appliance users who have setup their LVM can just replace
their appliance image without data loss. The migration will
* LDAP support is not tested and in unknown state (not part of test suite)
(A rewrite of it is WIP)
* source service editor in webui is not available anymore
Changes on purpose:
* Migration to Ruby 1.9 and Rails 3.2
* request database got moved from backend to the api. Directly
after update all requests seem to have vanished, but a delayed
job is importing them again. This can take some hours dependening
on the amount of requests.
* package meta of package copy command is not copying
relationships and devel definitions anymore
* Requests do require a description now in any case
* webui configurations got moved from environments/*.rb to config/options.yml.
* Package conflicts and obsoletes are taken into account when resolving
dependencies for build jobs. This improves build consistency but may also lead
to new "unresolvable" errors, since they were ignored so far. The old
can be restored by adding the following line into the project configuration:
* cross architecture build directives in project configuration
CBInstall and CBPreinstall are not supported anymore. Use standard "Install"
"Preinstall" directives instead.
=> all architectures can be used as host for cross build now.
* The api file/distribution.xml is obsolete, the config gets stored in the SQL database
now. Existing file gets imported during migration.
The list from remote instances can displayed and updated automatically now.
* Arch Linux package format support got added.
* Build Job Constraints handling. It can be used to define build
instance requirements for certain build jobs. Either for defined
package sources or for all repositories.
Documentation about this can be found here:
* Support of preinstall images, which can be used to speed up build
jobs. They need to be build manually, but get automatically used for
creating a build instance base in a faster way than just with installing
* Static links (without version and release numbers) for binary results
in the published repositories can be configured now. This can be done via
the "staticlinks" keyword in Repotype: definition.
* Build Prerequires can be used also with the FileProvides feature in the
build configuration now.
* Regular users can copy entire projects (without binary results) now.
* Upload of binaries via api is allowed to administrators now.
* Data about used resources of build jobs get collected. However it
gets not yet used for build job assignment
* Requests can be listed also for given groups now.
* Checkout of delete packages does not require a srcmd5 sum anymore.
* Delete Requests can be used to request deletion of repositories from
* Support of creation of application data xml which can be used for app
stores for application centric browsing versus package browsing.
* Support hugetable memory usage for kvm workers.
* Support building cross build formats, eg. building an rpm with a kiwi
build description or an deb package via a .spec file.
* Efficient transport of product build results from worker to backend.
* aarch64 architecture added (aka armv8 or arm64)
* New generic "emulator" virtualization support. Can be used to build inside
of system emulators (for foreign hardware for example)
* New s390 z/VM virtualization support.
The following calls have been marked as deprecated, they will get removed in OBS 3.0
- /person/$LOGIN/group -> use /group?login=$LOGIN instead
- /search/project_id -> use /search/project/id instead
- /search/package_id -> use /search/package/id instead
* The deprecated support to copy qemu binaries from external build host into
build environment has been removed. This includes also the CBInstall and CBPreinstall
project configuration directives.
Notes for systems using systemd:
OBS is using init scripts, not systemd style .service files. This will stay until
we will switch from SLES 11 to SLES 12 as default production platform.
openSUSE installations may use systemd (instead of sysvinit) and it should work
in general. Not working are usages like
# rcobssrcserver status
You will only get the systemd status here.
Also stopping services may not kill all processes, which leads to abstract errors
when trying to restart them. We heard also about trashed MySQL databases when using
To avoid these problems you need switch directory to avoid the systemd mapper:
# cd /etc/init.d
# ./obssrcserver status|stop|start
SUSE Linux Products GmbH