No description
Find a file
Ondřej Budai 7765c53ecc mockbuild: use s3cmd put instead of sync to speed up the RPM upload
s3cmd sync actually downloads metadata for all objects in a s3 bucket.
We have built a lot of RPMs, thus this takes 5 minutes on AWS and 25 minutes
on my laptop (!!!).

Let's use recursive put instead. This doesn't delete any files on the remote
side. As we upload RPMs only once, this also shouldn't fail on "the
object already exists". Using this method, we should be able to upload the
RPMs in seconds.

The same patch was applied in osbuild-composer cf73edd2
2021-06-10 09:35:04 +01:00
.devcontainer devcontainer: specify the workdir 2021-04-08 12:56:06 +02:00
.github ci: update images to F33 2021-03-17 14:31:26 +00:00
assemblers aarch64: use single qemu-img thread 2021-06-09 11:57:26 +02:00
devices devices: add support for loopback devices 2021-06-09 18:37:47 +01:00
docs Docs: Document --inspect option in the man page 2021-01-17 13:07:14 +01:00
inputs inputs/files: support for pipeline origins 2021-06-09 18:37:47 +01:00
mounts mounts/btrfs: mount support for btrfs 2021-06-09 18:37:47 +01:00
osbuild objectstore: sub-tree support for read_at 2021-06-09 18:37:47 +01:00
runners aarch64: use single qemu-img thread 2021-06-09 11:57:26 +02:00
samples stages/noop: fix the schema to allow any props 2020-07-16 19:02:25 +02:00
schemas osbuild: introduce mount host service 2021-06-09 18:37:47 +01:00
schutzbot mockbuild: use s3cmd put instead of sync to speed up the RPM upload 2021-06-10 09:35:04 +01:00
selinux selinux: allow nnp and nosuid transitions 2020-08-10 14:05:24 +02:00
sources sources/curl: Implement new way of getting RHSM secrets 2021-06-04 18:23:05 +01:00
stages stages: extend org.osbuild.rhsm stage to configure subscription-manager 2021-06-10 10:32:50 +02:00
test stages: extend org.osbuild.rhsm stage to configure subscription-manager 2021-06-10 10:32:50 +02:00
tools tools: add inline-source.py 2021-05-12 14:26:16 +02:00
.editorconfig editorconfig: include markdown specifications 2020-10-23 16:29:50 +02:00
.gitignore test: add coverity targets to the Makefile 2020-06-24 10:01:24 +02:00
.travis.yml ci: move test_boot to github-actions 2020-05-13 22:00:27 +02:00
LICENSE Revert "Fill in the license template" 2019-11-18 12:23:10 +01:00
Makefile test: update test manifests to use Fedora 34 2021-06-07 12:15:26 +02:00
NEWS.md NEWS: update for osbuild version 28 2021-04-08 19:27:48 +02:00
osbuild.spec spec: move all ostree modules to the sub-package 2021-06-08 22:30:51 +02:00
README.md readme: add IRC 2021-06-04 15:10:12 +02:00
requirements.txt Makefile: use pytest for nicer output 2020-12-04 18:24:48 +01:00
setup.cfg setup.cfg: set max line length in pycodestyle 2021-05-12 14:26:16 +02:00
setup.py 28 2021-04-08 19:27:48 +02:00

OSBuild

Build-Pipelines for Operating System Artifacts

OSBuild is a pipeline-based build system for operating system artifacts. It defines a universal pipeline description and a build system to execute them, producing artifacts like operating system images, working towards an image build pipeline that is more comprehensible, reproducible, and extendable.

See the osbuild(1) man-page for details on how to run osbuild, the definition of the pipeline description, and more.

Project

Requirements

The requirements for this project are:

  • bubblewrap >= 0.4.0
  • python >= 3.7

Additionally, the built-in stages require:

  • bash >= 5.0
  • coreutils >= 8.31
  • curl >= 7.68
  • qemu-img >= 4.2.0
  • rpm >= 4.15
  • tar >= 1.32
  • util-linux >= 235

At build-time, the following software is required:

  • python-docutils >= 0.13
  • pkg-config >= 0.29

Testing requires additional software:

  • pytest

Build

The standard python package system is used. Consult upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

python setup.py build
python setup.py install --skip-build --root=/

The man-pages require python-docutils and can be built via:

rst2man docs/<input-file>.rst <output-file>

Repository:

License:

  • Apache-2.0
  • See LICENSE file for details.