#
# Open Build Service 2.8
#


Please read the README.SETUP file for initial installation
instructions or use the OBS Appliance from

  http://openbuildservice.org/download/

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.


Features
========

UI:
 * Allow triggering services from the UI.
 * Show a hint to project maintainers, when he/she is not a package maintainer of
   the target package of a request
 * Main projects list is now filtered based on a configurable (by the admin) regular expression
 * Users can download the public key and SSL certificate for a project via the project home page
 * import of kiwi build descriptions is supported (obs-service-kiwi_import)

API:
 * Allow admins to lock or delete users and their home projects via new command
 * Users can be declared as sub accounts of other users. Useful for automated scripts.
 * New API route to get public key and SSL certificate: GET /source/:project_name/_keyinfo
 * New feature toggle config file. Use config/feature.yml to enable/disable features in the OBS.

Backend:
 * multibuild: allow to build multiple jobs from one source package without the need
               of creating local links
 * experimental support of snap package format
 * workers are now also tracked when they went away (new states "down", "away" and "dead")
 * worker capabilities can be requested
 * usable workers can be requested with uncommited constraints
 * functionality to remove published packages (osc unpublish)
 * New obsservicedispatch service to handle source service runs in a queue
   and asynchron.
 * preinstall images can be used for local building
 * improved speed of diffing sources
 * Support caching of pulled git sources

Shipment:
 * optional docker container to run source services is provided

Wanted changes:
===============

 * kiwi builds: build configuration changes from the project where the kiwi
                file is stored have always an effect now.

 * maintenance_release requests are locking only the source packages on
   creation now. They don't lock the patchinfos. The project gets locked on release
   now.

 * service wrapper script for LXC got replaced by a docker alternative

Other changes
=============
 * Server side pagination on user show page for improving the performance.

 * The way to identify spiders got changed. A separate configuration via
   apache is no longer required. See the Administration Guide.

 * Frontend stack is using ruby 2.4 and rails 5.0.1 now

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
systemd.

To avoid these problems you need switch directory to avoid the systemd mapper:

 # cd /etc/init.d
 # ./obssrcserver status|stop|start
