Go to file
Colin Walters e02fff3d5a Move some small daemon layering lookup into Rust
Prep for more oxidation work.  One notable improvement here is that about half
of the callers of the mega function `rpmostree_deployment_get_layered_info`
only wanted the base information, not the layered package lists
for example - so we were passing 4 `NULL`s to ignore those.

This Rust API returns a simple shared struct instead for those
cases.  I also changed things so that `base_commit` is always
set, avoiding the callers needing to do that.
2021-03-08 23:01:50 +00:00
.github github: update dependabot config 2021-01-20 09:32:14 -05:00
api-doc
buildutil
ci Remove cbindgen 2021-03-03 16:51:38 -05:00
completion
design design/package-layering.md: Remove 2021-03-04 16:21:51 -05:00
docs docs/architecture-core.md: New file 2021-02-24 22:01:23 +01:00
experiments-and-demos/skopeo2ostree
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 install: Add --apply-live 2021-03-08 20:54:18 +01:00
packaging Remove cbindgen 2021-03-03 16:51:38 -05:00
rust Move some small daemon layering lookup into Rust 2021-03-08 23:01:50 +00:00
src Move some small daemon layering lookup into Rust 2021-03-08 23:01:50 +00:00
tests install: Add --apply-live 2021-03-08 20:54:18 +01:00
.cci.jenkinsfile ci: Drop tests/vmcheck/image.qcow2, use COSA_DIR/.cosa 2021-02-23 17:23:26 -05:00
.dir-locals.el
.editorconfig .editorconfig: Adjust for CXX files 2021-01-23 17:12:09 +01:00
.gitmodules
.vimrc
autogen.sh build-sys: Fix use of libglnx configure bits 2017-12-15 16:32:39 +00:00
build.rs rust: Add SPDX-License-Identifier and validate it in ci/codestyle.sh 2021-02-19 15:56:23 -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 build(deps): bump serde from 1.0.123 to 1.0.124 2021-03-08 11:06:40 -05:00
Cargo.toml build(deps): bump serde from 1.0.123 to 1.0.124 2021-03-08 11:06:40 -05:00
configure.ac Remove cbindgen 2021-03-03 16:51:38 -05:00
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links 2016-07-12 15:46:53 +00:00
COPYING.GPL
COPYING.LGPL
git.mk build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
HACKING.md
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 Install rpm-ostree sysusers config and countme units 2021-02-25 16:58:14 +01:00
Makefile-decls.am Change main entrypoint to be Rust 2021-02-01 08:17:52 -05:00
Makefile-extra.inc
Makefile-lib-defines.am
Makefile-lib.am build: Drop introspection+clang hack 2021-02-10 14:30:37 -05:00
Makefile-libpriv.am Add a C++ rpmdb-diff API wrapping the C one, bind in Rust 2021-02-19 09:08:22 -05:00
Makefile-man.am countme: Add DNF Count Me support 2021-01-13 14:53:50 -05:00
Makefile-rpm-ostree.am app: Rename dbus-helpers to clientlib 2021-03-04 09:17:21 -05:00
Makefile-tests.am ci: Drop tests/vmcheck/image.qcow2, use COSA_DIR/.cosa 2021-02-23 17:23:26 -05:00
Makefile.am build-sys: Ignore .cosa 2021-02-16 18:18:27 -05:00
Makefile.bindings Remove cbindgen 2021-03-03 16:51:38 -05:00
OWNERS
README.md
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.