School Network/Open Build Service

Revision as of 10:08, 9 October 2011 by Alsroot (talk | contribs)

Summary

This is patched Sugar Labs instance of Open Build System (OBS) that is intended to be a:

  • The place where software creators need to upload (directly or indirectly) sources to spread this software among the community.
  • If uploaded software requires building phase, it will be automatically processed for all supported platforms.
  • The resulting files will be accessible via sweets.sugarlabs.org and download.sugarlabs.org.
  • The convenient instrument to create, using already uploaded software, 3rd party repositories with native packages for all supported GNU/Linux distributions.

The Sweets Usage workflow doesn't include interacting people with OBS at all. Sweet project developers will use clients like sweets utility to interact with OBS. The full featured interaction with OBS (via packages.sugarlabs.org) will require only if people need to create 3rd party repositories with native packages.

For detailed information, read the original Open Build System documentation.

Sites

obs.sugarlabs.org

This is an API site, all OBS clients use it to get access to OBS. There is no need to work with site directly but it is possible.

Site uses HTTP Basic authentication. To get access, create Sugar Labs Central Login account.

packages.sugarlabs.org

This is an original OBS Web client. It is intended to be used only by people who need to create native packages, i.e., not for most of Sugar developers. But, until creating more appropriate tool for Sugar needs, it is the only one Web client to manage already released software (the releasing is being processed by sweets command).

Content

The contend on OBS might be several kinds:

Projects

Projects are directories of Packages and might be two types:

  • top level, regular projects, like base or sdk;
  • user's home projects, like home:<user>.

Packages

Packages represent particular software projects and contain all files associated with these projects, e.g., tarballs with sources.

There are several types of package supported on OBS:

  • packages that represent sweets,
  • native packages based on sweets,
  • native packages with using sweet recipes as spec files,
  • aliases,
  • regular OBS packages.

See Usage section for more details.

Repositories

Every project has repositories to build its packages against. Repositories might be two types:

  • inherited from another project;
  • initial repositories, aka downloaded-on-demand, that are associated with particular GNU/Linux distribution release;
  • sweets.sugarlabs.org repository should present if Packages need to be distributed via Zero Install.

Every repository has supported architectures, e.g., i586 or x86_64. There is also special architecture, 0install, only for sweets.sugarlabs.org.

Supported platforms

There is special project, named base, it contains all GNU/Linux distributions that are supported on OBS. All other projects need to inherit repositories from this project.

Usage

Sweets

Sweet packages

Recipe based packages

Aliases

Regular packages

Policy

  1. REDIRECT School Network/Open Build Service/Policy

Resources