Go to file
Kelvin Fan 261b9cbb87 app/status: factor out get_sd_unit_objpath() function
Factor out a `get_sd_unit_objpath()` function into `libbuiltin`
so we can reuse the code in `builtin_upgrade`.
2021-02-17 11:43:34 -05:00
.github github: update dependabot config 2021-01-20 09:32:14 -05:00
api-doc rust/treefile: Support dash convention for all options 2019-03-02 19:20:21 +00:00
buildutil buildutils: Add libglnx.m4 to .gitignore 2018-04-05 15:26:46 +00:00
ci ci: Rework build/test dependency install 2021-02-16 18:18:27 -05:00
completion Add support for bash completion 2019-03-01 21:36:39 +00:00
design Initial renaming pass of "jigdo" to "rojig" 2018-02-26 15:32:50 +00:00
docs Misc doc tweaks/cleanups 2021-02-12 16:45:46 -05:00
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile 2018-01-11 14:07:17 +00:00
libdnf@27ac9873ea Change main entrypoint to be Rust 2021-02-01 08:17:52 -05:00
libglnx@4c9055ac08 extensions: Don't try to chown RPM packages 2021-02-10 10:20:38 -05:00
man countme: Add DNF Count Me support 2021-01-13 14:53:50 -05:00
packaging ci: Rework build/test dependency install 2021-02-16 18:18:27 -05:00
rust Add an rpmostree-client sub-crate 2021-02-16 19:22:26 -05:00
src app/status: factor out get_sd_unit_objpath() function 2021-02-17 11:43:34 -05:00
tests Add an rpmostree-client sub-crate 2021-02-16 19:22:26 -05:00
.cci.jenkinsfile ci: Rework build/test dependency install 2021-02-16 18:18:27 -05:00
.dir-locals.el
.editorconfig .editorconfig: Adjust for CXX files 2021-01-23 17:12:09 +01:00
.gitmodules Rebase to latest libdnf 2019-03-19 14:29:15 +00:00
.vimrc tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
autogen.sh build-sys: Fix use of libglnx configure bits 2017-12-15 16:32:39 +00:00
build.rs Add --enable-sanitizers (not on by default yet) 2021-02-10 14:30:37 -05:00
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 Add an rpmostree-client sub-crate 2021-02-16 19:22:26 -05:00
Cargo.toml Add an rpmostree-client sub-crate 2021-02-16 19:22:26 -05:00
cbindgen.toml Switch to using cxx-rs for treefile 2021-02-11 15:44:38 -05:00
configure.ac ci: Rework build/test dependency install 2021-02-16 18:18:27 -05: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 Rename livefs → apply-live in more places 2021-01-12 03:15:49 -05:00
Makefile-decls.am Change main entrypoint to be Rust 2021-02-01 08:17:52 -05:00
Makefile-extra.inc ci: Verify rustfmt 2018-11-21 21:16:03 +00:00
Makefile-lib-defines.am
Makefile-lib.am build: Drop introspection+clang hack 2021-02-10 14:30:37 -05:00
Makefile-libpriv.am Rework bindgen/cxx.rs usage and CI build 2021-01-04 13:17:35 +01:00
Makefile-man.am countme: Add DNF Count Me support 2021-01-13 14:53:50 -05:00
Makefile-rpm-ostree.am build-sys: Always run makecargo build 2021-02-12 15:18:45 -05:00
Makefile-tests.am Change main entrypoint to be Rust 2021-02-01 08:17:52 -05:00
Makefile.am build-sys: Ignore .cosa 2021-02-16 18:18:27 -05:00
Makefile.bindings Makefile.bindings: Also generate pure rust/cxx.h 2021-01-27 19:36:34 -05:00
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.