Go to file
Colin Walters 92a1fa5bc3 Complete move to cxx-rs for utils
This makes the C++ side a bit uglier because the "variable mapping"
is more Rust-native but we only use it Rust side anyways.
(We can't yet move the basearch bits to rust because it depends on
 libdnf, which requires buildsystem unification)

But all the unsafe FFI conversion drops out, as do the duplicated
C unit tests.
2021-01-07 11:46:52 -05:00
.github Move bindgen into tooling/, add dependabot 2020-12-08 16:32:24 -05:00
api-doc rust/treefile: Support dash convention for all options 2019-03-02 19:20:21 +00:00
buildutil
ci Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
completion Add support for bash completion 2019-03-01 21:36:39 +00:00
design
docs Default to sqlite rpmdb backend on f34 2020-12-21 19:01:48 -05:00
experiments-and-demos/skopeo2ostree
libdnf@2ee2a47e19 build(deps): bump libdnf from 0aa50cc to 2ee2a47 2020-12-21 09:41:53 +00:00
libglnx@900caea698 build(deps): bump libglnx from a8b4418 to 900caea 2020-12-07 10:06:37 -05:00
man Add new ex initramfs-etc command 2020-10-30 00:48:54 +01:00
packaging Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
rust Complete move to cxx-rs for utils 2021-01-07 11:46:52 -05:00
scripts Remove unused build cruft (Vagrantfile, old Dockerfile etc) 2020-12-10 21:29:19 -05:00
src Complete move to cxx-rs for utils 2021-01-07 11:46:52 -05:00
tests Complete move to cxx-rs for utils 2021-01-07 11:46:52 -05:00
vagrant vagrant: Add header noting coreos-assembler 2019-05-13 19:50:58 +00:00
.cci.jenkinsfile ci: Don't run autotools twice 2021-01-04 15:36:22 -05:00
.dir-locals.el
.editorconfig
.gitmodules Rebase to latest libdnf 2019-03-19 14:29:15 +00:00
.vimrc
autogen.sh
cargo-vendor-config Move the main Rust infra (i.e. Cargo.toml) to the toplevel 2020-12-09 17:42:35 -05:00
Cargo.lock Bump to cxx-rs 1.0.20 2021-01-05 10:26:00 -05:00
Cargo.toml Add support for some GObject bridging to cxx-rs 2021-01-05 10:26:00 -05:00
cbindgen.toml Move the main Rust infra (i.e. Cargo.toml) to the toplevel 2020-12-09 17:42:35 -05:00
configure.ac Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
CONTRIBUTING.md
COPYING.GPL Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
COPYING.LGPL Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
git.mk
HACKING.md docs: Import Hacking page 2020-10-01 12:01:25 -04:00
LICENSE Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
Makefile-bash.am build: Hook up bash completions 2019-03-07 00:47:39 +00:00
Makefile-daemon.am build-sys: Drop autoconf bits to find dbus service directory 2020-12-22 17:14:19 -05:00
Makefile-decls.am Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
Makefile-extra.inc
Makefile-lib-defines.am
Makefile-lib.am lib: Drop dependencies on internal librpmostree-priv 2020-12-20 15:23:53 +00:00
Makefile-libdnf.am Rebase to latest libdnf 2019-03-19 14:29:15 +00:00
Makefile-libpriv.am Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
Makefile-man.am
Makefile-rpm-ostree.am Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
Makefile-tests.am buildsys: Make one big rpmostreeinternals.la, enable unit tests again 2020-12-23 17:45:29 +01:00
Makefile.am Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
Makefile.bindings Makefile.bindings: Use content-based change detection 2021-01-04 13:17:35 +01:00
mkdocs.yml
OWNERS OWNERS: extend/reorder approvers section 2020-10-30 19:42:31 +01:00
README.md README.md: Keep it short and sweet 2020-10-01 14:29:37 -04:00
RELEASE.md docs: Import Release page 2020-10-01 12:01:25 -04:00

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.