Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
176 lines (113 sloc) 6.01 KB
# 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
happen automatically.
* 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
* More database constraints have been introduced to avoid inconsistent databases.
As a result this may cause problems during update if the database is already
inconsistent. Please use the script check_database script to fix these
kind of issues:
# cd /srv/www/obs/api
# RAILS_ENV=production ./script/check_database
It may return a number of SQL commands to make the database consistend again.
* 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 behaviour
can be restored by adding the following line into the project configuration:
ExpandFlags: ignoreconflicts
* cross architecture build directives in project configuration
CBInstall and CBPreinstall are not supported anymore. Use standard "Install" and
"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.
* The api has no html pages anymore. The user and group management went into the
standard webui configuration module.
* 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
a project.
* 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.
* Secure Boot signing support
* 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.
* Asynchronus mode for handling interconnects is available. This will avoid
scheduler hangups with slow or broken network to a remote instance.
Enable this via
our $sched_asyncmode = 1;
in file. It is the default for new OBS installations.
The following calls have been marked as deprecated, they will get removed in OBS 3.0
* api
- /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
Something went wrong with that request. Please try again.