8f71dcfafe
Having our binary depend on the shared library, which in turn depends on the binary (at runtime) is messy. Instead, statically compile the shlib code into our binary. This duplicates the text a bit, but it's not a lot of code. The goal is to more easily in the future to e.g. move the shared library out into a separate git repository entirely that runs on a separate lifecycle - that would still build using Automake for example while the main git repository switches to purely cargo. Another motivation is avoiding linker issues I had with other patches due to this semi-cyclical dependency. |
||
---|---|---|
.github | ||
api-doc | ||
buildutil | ||
ci | ||
completion | ||
design | ||
docs | ||
experiments-and-demos/skopeo2ostree | ||
libdnf@27ac9873ea | ||
libglnx@900caea698 | ||
man | ||
packaging | ||
rust | ||
src | ||
tests | ||
.cci.jenkinsfile | ||
.dir-locals.el | ||
.editorconfig | ||
.gitmodules | ||
.vimrc | ||
autogen.sh | ||
build.rs | ||
cargo-vendor-config | ||
Cargo.lock | ||
Cargo.toml | ||
cbindgen.toml | ||
configure.ac | ||
CONTRIBUTING.md | ||
COPYING.GPL | ||
COPYING.LGPL | ||
git.mk | ||
HACKING.md | ||
LICENSE | ||
Makefile-bash.am | ||
Makefile-daemon.am | ||
Makefile-decls.am | ||
Makefile-extra.inc | ||
Makefile-lib-defines.am | ||
Makefile-lib.am | ||
Makefile-libpriv.am | ||
Makefile-man.am | ||
Makefile-rpm-ostree.am | ||
Makefile-tests.am | ||
Makefile.am | ||
Makefile.bindings | ||
OWNERS | ||
README.md | ||
RELEASE.md |
rpm-ostree: A true hybrid image/package system
rpm-ostree is a hybrid image/package system. It combines libostree as a base image format, and accepts RPM on both the client and server side, sharing code with the dnf project; specifically libdnf. and thus bringing many of the benefits of both together.
+-----------------------------------------+
| |
| rpm-ostree (daemon + CLI) |
+------> <---------+
| | status, upgrade, rollback, | |
| | pkg layering, initramfs --enable | |
| | | |
| +-----------------------------------------+ |
| |
| |
| |
+-----------------|-------------------------+ +-----------------------|-----------------+
| | | |
| libostree (image system) | | libdnf (pkg system) |
| | | |
| C API, hardlink fs trees, system repo, | | ties together libsolv (SAT solver) |
| commits, atomic bootloader swap | | with librepo (RPM repo downloads) |
| | | |
+-------------------------------------------+ +-----------------------------------------+
Features:
- Transactional, background image-based (versioned/checksummed) upgrades
- OS rollback without affecting user data (
/usr
but not/etc
,/var
) via libostree - Client-side package layering (and overrides)
- Easily make your own:
rpm-ostree compose tree
and CoreOS Assembler
Documentation
For more information, see the project documentation or the project documentation website.
License
rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT). For more information, see LICENSE.