Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AOSC-Dev/acbs
A Package Tree Management Utility
https://github.com/AOSC-Dev/acbs
autobuild
Last synced: 11 days ago
JSON representation
A Package Tree Management Utility
- Host: GitHub
- URL: https://github.com/AOSC-Dev/acbs
- Owner: AOSC-Dev
- License: lgpl-2.1
- Created: 2017-01-01T07:29:44.000Z (almost 8 years ago)
- Default Branch: production
- Last Pushed: 2024-10-23T15:52:32.000Z (28 days ago)
- Last Synced: 2024-10-23T19:53:43.958Z (28 days ago)
- Topics: autobuild
- Language: Python
- Homepage: https://AOSC-Dev.github.io/acbs
- Size: 722 KB
- Stars: 7
- Watchers: 3
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ACBS
====**ACBS is still under heavy development, but is currently deployed for packaging
for AOSC OS.**ACBS (AutoBuild CI Build System) is a re-implementation of the original ABBS
(AutoBuild Build Service) in Python. The re-implementation aims to improve
the horrible reliability and agility of its predecessor, adding with:- Multi-tree support (a "forest", so to speak).
- Checksum verification support.
- Cache cleaning and management support.
- Logging support.
- Proper dependency calculation (automatic build sequences, useful for
bootstrapped bases).Extra blings are also included:
- Build timing utilities.
- More detailed error messages.Dependencies
------------Mandatory:
- Python 3 (>= 3.6): Running the program itself.
- GNU File (libmagic): File type detection.
- Util-Linux: File checksum verification.
- LibArchive (bsdtar): Archive handling.
- GNU Wget or Aria2: Source downloading.
- [Autobuild4](https://github.com/AOSC-Dev/autobuild4): Package building.Optional:
- libmagic: Python module to detect file type.
- libapt-pkg: Query package information.
- libarchive-c: Python module to handle archives.
- pycrypto: Python module to verify file checksums.
- ptyprocess, pexpect: Build logging.Deployment
----------ACBS could be deployed in any appropriate directories, and is invoked by calling
`acbs-build.py` (you may create a symlink for your convenience). You would need
to create a configuration file before using ACBS.ACBS uses an INI-like configuration controlling trees to be used, the
configuration file should be stored in `/etc/acbs/forest.conf`.A bare-minimal example is shown below:
```
[default]
location = /usr/lib/acbs/repo
```If you are feeling smart, variable substitutions are also acceptable:
```
[vars]
base = /mnt[default]
location = ${vars:base}/aosc-os-abbs
```By default, ACBS builds packages from the tree defined in the `[default]` block.
Usage
-----```
usage: acbs-build [-h] [-v] [-d] [-t ACBS_TREE] [-q ACBS_QUERY] [-w] [-c] [-k] [-g] [-r STATE_FILE] [packages [packages ...]]ACBS - AOSC CI Build System
Version: 20210227
A small alternative system to port abbs to CI environment to prevent from irregular bash failurespositional arguments:
packages Packages to be builtoptional arguments:
-h, --help show this help message and exit
-v, --version Show the version and exit
-d, --debug Increase verbosity to ease debugging process
-t ACBS_TREE, --tree ACBS_TREE
Specify which abbs-tree to use
-q ACBS_QUERY, --query ACBS_QUERY
Do a simple ACBS query
-w, --write Write spec changes back (Need to be specified with -g)
-c, --clear Clear build directory
-k, --skip-deps Skip dependency resolution
-g, --get Only download source packages without building
-r STATE_FILE, --resume STATE_FILE
Resume a previous build attempt
```