Yapı Servis/Yol Haritası

Şuraya atla: kullan, ara
Transfer-icon-big.gif This article has been transferred to the http://wiki.opensuse.org/openSUSE:Build_Service_Roadmap . Please use new location for your contributions.

Don't create permanent links to the http://wiki.opensuse.org. It is temporary location and it will be switched back to http://en.opensuse.org after sufficient number of articles is there, or latest by July 12th, 2010.

You can help us and speed up the process by participating in creation of a new wiki that will replace the current one. See Transition guidelines for more details.

The openSUSE Build Service development team roadmap

This is the current plan what will be done by the current build service development team. Please understand the dates as target estimations, but not as guaranteed dates. Some functionality might arrive earlier, while other features may need some more time.

We are also to happy to help anyone to start working on any of these functionalities, if you would like to see it earlier available. Please drop a mail in that case to mailto:opensuse-buildservice@opensuse.org (preferred) or a private mail if needed to mailto:adrian@suse.de .

The roadmap covers the next year and has the following important milestones, which are explained in more detail below.

Please check also the open feature requests in FATE for OBS.

Upcoming Releases

Milestone (Version 2.0, estimated in June 2010)

Headline of this release is the new, improved webui interface. All other features will come in if they are ready in time.

  • Revised webui, driven by openSUSE Booster Team
    • Better overview about outstanding submissions
    • Better overview about distribution state
  • Project source linking
  • Open web interface to anonymous users to some degree (FATE #306381)
  • Source Services as stable feature
    • server side download and validation of sources, to get sure that tar balls come from listed upstream project.
    • Server side SCM checkout support for svn and git (to be extendable for more).
  • Review mechanism improvements
    • Auto adding reviewers for projects or packages
    • Mass approval of reviewed submissions
  • User group handling as stable feature
  • History for project config
  • Undelete function for projects or packages
  • Add move request type
  • Driver Update Disk support via kiwi
  • Build Dependency Cycles are visible via the api
  • Complete patchinfo support is a candidate

Milestone (Version 2.5)

This milestone is not complete planned yet. Candidates for this release are:

  • Integrated QA support to run all kinds of additiional testsuites.
  • Better visibility and provide more build data, like dependencies, states and offer requests for things like "what would change, when I ..."
  • Better integration of products, offer another view for it as alternative to project orianted view.
  • Improved Quota handling.
  • Improve support for using packages and metadata from external ftp trees. Supports .deb and .rpm style meta data and package types. Downloads the packages on demand into a cache. Does not need a remote OBS for this. Working implementation is available in the OBS developer packages, documentation is also available. A first version is supplied with OBS 1.5.
  • Support for an API so the worker communicates its capabilities to the backend, and to interrupt activities before and after the work. Should superseed current implementation of baselibs.conf, kiwi, imaging, cross developmen. A first version of a concept is written.

Past Releases

Milestone (Version 1.7), 9th February 2010

  • Allow full management of Factory distro packages (obsolete SUSE internal package data base). (done)
    • Attribute system (API will be able to store key/values for each binary package). (done)
    • Add missing requests
      • DELETE request (done)
      • Update devel informations in a package (done)
    • Support for package description translations, needed for product creation. (DROPPED, will be done via packages)
    • Allow review mechanism for requests (partly done)
    • api and osc enhancements for the following usecases:
      • "osc maintainer" shall output a list of people responsible for a certain package. (done)
      • "osc whatdependson" shall output which packages get triggered by a certain package. (done)
  • Repository state repoirting shows the state as calculated by the scheduler. The state may be marked as dirty, so the user knows that a re-calculation will happen. (done)
  • api side tar ball download support to improve source review. This will get implemented via the Source Services. (done, declared as experimental feature for 1.7)
  • Build trigger reporting, the reason why a package got triggered to build is stored now and requestable. (done)
  • The web interface is themable now. (done)
  • Clean product builds, using the packages (kiwi,...) from the projects (done)
  • maintenance support aka patchinfo (partly implemented)
  • General smaller improvements and bugfixes all over the place.

Milestone (Version 1.6), June 2009

  • Cross Development support. Other architectures are handled with a combination of emulation and optional cross compilation. Can handle existing native distros. This time as official feature. Uses emulator technology, but can also be combined with cross compilation for performance reasons. Working implementation is available in the OBS developer packages, documentation is also available. A first version is supplied with OBS 1.5. (Implemented)
  • Factory Build Optimizations.
    • Drop unchanged package builds (Implemented)
    • Support creation of delta rpms (Might get postponed)

Milestone Aster (Version 1.5), March 2009

The feature head line is to provide everything, what you need, to build your own distribution. openSUSE 11.1 is build with this functionality and can be used as base for own variations.

  • Factory ftp tree generation. Build the official FTP tree of openSUSE:Factory with the OBS. (done)
  • Basic quota handling. Default and individual repository size quotas, only configurable on the backend without api access. (partly done, rest moved to later milestone)
  • Automated Media Image builds.
    • Product Image build support. This creates medias to be used for installation, like the openSUSE 11.1 DVD. (done)
    • Live Image build support. Images like the LiveCD ISOs get build automated within the OBS. (WIP)
  • Offline image build support. Enable everybody to build an iso, with or without variation on own workstation. (not yet).
  • Provide Build Informations:
    • Offer interface for scheduler data.
    • Project build history.
  • Handling of Power Build Hosts. To be able to build single large and time critical packages fast. This has the status of nice-to-have.
  • Cross Development support. Other architectures are handled with a combination of emulation and optional cross compilation. Can handle existing native distros. EXPERIMENTAL FEATURE !
  • Download on Demand of external binary packages. With fast and easy steps, existing distros for type .deb or type .rpm can be added as build targets.

Milestone Daffodil (Version 1.0), June 2008

Development of packages for openSUSE Factory distribution will be really transparent and enables everybody to join the development. It should be easy to make source submissions to any project, including openSUSE:Factory which is the base for the next upcoming openSUSE release.

We have to improve source handling in the Build Service for that. The goal is improve the code submission between projects. From now on it will be no difference anymore, if an external or internal community member (employee for internal case) does a submission to our distribution.

Real community development gets enabled by this, for next openSUSE distribution, for creating official updates for existing openSUSE releases or any OBS project in general.

Details:

  • enable openSUSE:Factory contributions. The OBS running at opensuse.org will be enabled to accept contributions for openSUSE:Factory.
  • Easy patch generation (branching) of existing packages. This means a user should be able to just start working on any package, but the tools will store only the difference in his own project over the link to the original package.
  • "Devel Project" support. Packages, esp in openSUSE:Factory can define in which other project they get developed for participation. This was known as "maintainedin" feature before.
  • Automatic debuginfo generation. Backend creates debuginfo packages based on build flags.

Milestone Crocus (Version 0.9), April 2008

This milestone brings the implementation to provide code changes for non-writable projects via branching and submitting the change. In addition, the Inter Build Service connectivity will allow an easy setup of an own instance and in addition also to grow the Build Service instances to a connected world wide network.

  • Submit request mechanism. In case the user has no direct write premissions for the package, a way to request a merge of the owner of the package is needed. This is basically the way autobuild submissions work right now with a different implementation (not suitable for externals) and this is needed to keep certifications like EAL. This should not be limited to package source changes, but also work for pattern, image configuration and even project/package meta data changes. (done)
  • Creating interface for viewing existing submit requests and select them. Also refusal reasons should be possible to state. (done)
  • Submission handling. For accepting and doing a merge, additionally also for refusing a merge request with reason statement. (done)
  • Inter build service connection functionality to connect multiple instances of the build service. We can grow a network of instances all over the world, which can reuse project resources from others directly. This increases the size of the system and makes it highly scalable. (done)
  • Support the build of all current distribution packages. Multiarchitecture handling to reuse packages from other architecture and automated base libs package building. (done)
  • Automated Image Creation. The Build Service will be able to build automatically images using KIWI descriptions. (done)
  • Signing key handling. The OBS will handled different gpg keys per project. Keys can get reused from upper projects and offers an interface to create and delete them. (done).
  • QEMU support in build script. The build script can be used to build packages on different hardware architectures. (done)
  • Integrate rpmlint check support. For validating basic requirements for accepted packages in openSUSE distributions. (done)

Milestone Poinsettia (Version 0.5), end of 2007

This milestone collects a number of urgent needed implementations to increase the stability of our service. This is esp. needed because openSUSE 10.3 makes more use of the OBS services.

The following items are missing features or bugfixes which are causing the most trouble currently.

  • Improved repository generation. The repositories get generated out of process of the scheduler. This makes the scheduler faster and more reliable. (Status: done)
  • Improved signing for repositories. Each project will get its individual gpg key for the repositories. So it will become possible to distinguish between the projects for increasing security and trust aspects. (Status: done)
  • Implement convenient project deletion. Make the api call for project deletion work completely, also removing repositories on the public servers. (Status: done)
  • Bugzilla linkage. Add a link to create new Bugzilla reports for certain projects or packages. We need to use iChain email addresses for this first. (Status: done)
  • Improve statistic collection performance. We do not update the download statistics data because of performance problems atm. A small redesign is needed to get this performing better. ( Status: WIP )
  • Stabilize code. Stabilize esp. the backend code and make it more robust against bugs or hardware problems.

Independent tasks

The End User interface got launched in an initial version. Future plans are to involve the end users more, to give them a feeling of being a part of the openSUSE community. This can be done to allow simple contributions like comments or rating for certain software, but we should also make it easy to allow them to submit real contributions, maybe just starting with package description changes. The Build Service developer interface should be only one click away ...

Features are collected at

http://en.opensuse.org/Build_Service/End_User_Frontend