Skip to content

ACBS AOSC

Mingcong Bai edited this page Apr 18, 2017 · 4 revisions

The AOSC OS Tree

Packages of AOSC OS are stored in a single repository aosc-os-abbs. This is a tree with thousands of package configurations for AOSC OS.

Multiple packagers work on a daily basis to maintain this tree.

Rationale

For more than three years (from late 2011 to currently season 2 of 2015), AOSC OS has been built with Autobuild - however - without any recording and enforcement of build process. The worst of all, although patches and source modifications are recorded, no source link was provided. And consequently raises skepticism from our users and inside of the development team.

To amend the issue

With this repository, all packages in AOSC OS will be recorded in the new "abbs tree" model that includes source code specs (that includes download link for the source code, and the versions), and unified configurations for various architectural ports.

Routines and protocols

Unlike an ACBS tree one may plant for their own packages, the AOSC OS tree is the key of maintaining AOSC OS to ensure that:

  • Packages are up to date and ready for users of AOSC to use.
  • Packages have a high quality standard.
  • Security updates may be provided in a timely manner.

Certain routines and protocols specific to the AOSC OS tree are described here.

Who can push to the repository

AOSC-Dev members with writing access to the aosc-os-abbs repository. However, third-party contributions are welcome as Pull Requests, as they will be reviewed by developers of the tree, and merged when all criterion are met according to the developers.

Branches

There are two branches in the repository, the staging branch and the master branch.

  • The staging branch contains to-second updates to the tree, where changes are only built but not tested of their usabilities. Security updates are also first pushed to this branch.
  • The master branch contains built, and tested packages and changes to the packages. Changes must be merged to this branch from staging before packages are pushed to the community repository - therefore available to AOSC OS users.

Grabbing the tree

As usual, you will clone the aosc-os-abbs repository with the command below:

git clone https://github.com/AOSC-Dev/aosc-os-abbs

And record the tree into ACBS's "forest" configuration:

[aosc-os]
location = /path/to/aosc-os-abbs

When committing / submitting a PR

Contributors are expected to use the following format for their commit messages.

package: description of commit

Description of commit should include whether the commit consists of:

  • A bug fix;
  • An update, security updates should be marked as "security update";
  • A release version bump;
  • An import from the repository;

All commits/PRs must be pushed to staging first, any commit/PRs pointing directly at master will be discarded with hard reset.

Update your system

Before you build any package from the tree - especially those to be pushed to the community repository - please update your system with the following command as root...

apt full-upgrade

Get in touch

The AOSC OS tree is open for participation, and it is easy to gain your permission to push to the repository. Get in touch with us at our IRC channel #aosc.