Go to file
Colin Walters 83c7c90b83 tree-wide: Convert g_return.*if_fail to g_assert
See https://github.com/rpm-software-management/libdnf/pull/1127

Basically IMO the "return if fail" pattern is a carry-over
from C GTK+ apps where the idea is it's better to try to stumble
forward than have the app crash for the user.

In our case though, IMO we absolutely should just crash
if our assertions trip, because we're maintaining the user's
root filesystem.
2021-02-01 04:02:52 -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: Re-enable make check 2021-01-27 19:09:33 -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 app: Add rpm-ostree compose extensions 2021-01-23 17:12:09 +01:00
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile 2018-01-11 14:07:17 +00:00
libdnf@e92a15a5da build(deps): bump libdnf from 1ebad38 to e92a15a 2021-01-26 19:20:46 +01:00
libglnx@900caea698 build(deps): bump libglnx from a8b4418 to 900caea 2020-12-07 10:06:37 -05:00
man countme: Add DNF Count Me support 2021-01-13 14:53:50 -05:00
packaging Makefile.bindings: Also generate pure rust/cxx.h 2021-01-27 19:36:34 -05:00
rust rust/passwd: minor cleanup, use write_file_with_sync 2021-01-29 12:41:20 -05:00
src tree-wide: Convert g_return.*if_fail to g_assert 2021-02-01 04:02:52 -05:00
tests Bridge "next version" API to Rust, use it for unit tests 2021-01-29 05:29:47 -05:00
.cci.jenkinsfile ci: Make msrv test do full build + unit tests 2021-01-26 10:31:57 +01:00
.dir-locals.el .dir-locals.el: Global Emacs style settings 2017-01-12 16:09:16 +00:00
.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 rust: Link to our C/C++ dependencies and internal library 2021-01-26 13:47:56 +01: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 libc from 0.2.82 to 0.2.84 2021-02-01 03:37:52 -05:00
Cargo.toml build(deps): bump libc from 0.2.82 to 0.2.84 2021-02-01 03:37:52 -05:00
cbindgen.toml rust/passwd: finish moving group and passwd parsers 2021-01-25 19:43:54 +01:00
configure.ac lib: Don't link to libdnf 2021-01-28 11:15:44 -05:00
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links 2016-07-12 15:46:53 +00:00
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 build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
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 Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
Makefile-extra.inc ci: Verify rustfmt 2018-11-21 21:16:03 +00:00
Makefile-lib-defines.am lib: Add version macros and version checking function 2017-07-21 20:35:26 +00:00
Makefile-lib.am lib: Don't link to libdnf 2021-01-28 11:15:44 -05: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 countme: Add DNF Count Me support 2021-01-13 14:53:50 -05:00
Makefile-rpm-ostree.am lib: Don't link to libdnf 2021-01-28 11:15:44 -05:00
Makefile-tests.am Make make check work again 2021-01-20 13:10:14 -05:00
Makefile.am build: Use -std=c++17 2021-01-29 14:28:21 -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.