openSUSE Build Service - Packages Gone Wild: The openSUSE Ecosystem, Part 4
• James Mason
On Thursday, February 4th I gave a talk for the Bellingham Linux Users Group (BLUG), 'touring' openSUSE 11.2 as a desktop OS, and giving a broad overview of the projects and community that culminates in the openSUSE Linux distribution. For those who missed it, here's part four of the written interpretation of my discussion.
OBS allows developers to automatically build, package, and distribute software for all major Linux distributions. OBS builds RPM packages for openSUSE, SLE, CentOS, Fedora, RHEL, Mandriva, and DEB packages for Debian and Ubuntu/Kubuntu/etc-buntu.
Developers utilize the service by uploading source code and build instructions to the service, and selecting a set of target distributions. Packages are automatically built when one of your uploads, dependencies, or target distros change. Packages are arranged in projects, which provide hooks for subscribing via variety of nativepackage handlers (such as YaST, zypp, rug, etc.)
For each project build, a new virtual machine is constructed from a distro image, dependencies installed, your source added, packaging performed, results & log extracted to download. opensuse.org, then then VM is destroyed. This ensure that build is always pristine, never subject to unknown/unrecognized changes to the build environment. Those packages are hosted for free download through the downloads.opensuse.org mirrors, and registered on the search interface at software.opensuse.org/search , protecting developers from potentially costly bandwidth fees.
OBS also provides tools to aid in contributing to a project. For example, a developer can link an existing project, upload patches, then build and publish that customized package. Local tools are also available for expediting builds outside of the build cluster, and for integrating with existing source control management systems, to further simplify the process of getting your changes into the service.
OBS is flexible and scalable, allowing developers to work on small independent projects, or large groups to collaborate asynchronously. openSUSE 11.2, the pre-releases before it, and the current Factory builds are all produced completely within OBS, along with over 90,000 other packages in over 10,000 projects, by over 20,000 users!