Go to file
Jonathan Lebon 051492b3e6 upgrader: switch to stateless model
This is the culmination of the work paved by the previous commits. We no
longer handle package set mutations in the upgrader, but rather let
clients modify the origin as needed for that. As such, the upgrader is
now completely memoryless. We no longer try to error out if a package is
already in the base and we no longer drop out packages previously
layered packages that are now in the base. *Which* packages actually get
layered is determined during deployment and not coded in the origin.

At an API level, the deployment variant returned (and thus what gets
printed by `status --json`) now has both "packages" and
"requested-packages". The former retains its original semantic: it's the
set of packages that are *actually* layered. The latter contains
everything from the origin, which includes the former set + dormant
packages.

Accordingly, the output of `rpm-ostree status` also now distinguishes
between "RequestedPackages" and "LayeredPackages". Extra: we now quote
provides that contain spaces.

Closes: #646
Approved by: cgwalters
2017-02-27 19:53:19 +00:00
api-doc build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
buildutil tests: Honor TEST_SKIP_CLEANUP like ostree 2017-01-13 20:08:24 +00:00
design design/package-layering: New file 2014-06-18 08:48:03 -04:00
docs compose-tests: add more tests 2016-12-09 16:18:11 +00:00
libdnf@53ed18ac98 libdnf: bump to latest 2017-02-13 20:21:21 +00:00
libglnx@abd37a4790 libglnx: Update to master (for -fsanitize=undefined fixes) 2016-10-28 18:25:33 +00:00
man daemon: Implement "reload" 2017-02-24 21:36:45 +00:00
packaging packaging: Add a cccp.yml and tweak Dockerfile 2016-09-13 13:35:12 +00:00
scripts compose: Add check-passwd/group JSON options, fails compose if uids/gids change 2014-12-18 16:59:33 -05:00
src upgrader: switch to stateless model 2017-02-27 19:53:19 +00:00
tests daemon: Implement "reload" 2017-02-24 21:36:45 +00:00
vagrant Vagrantfile: specify full path to using_sshfs 2016-12-21 20:00:43 +00:00
.dir-locals.el .dir-locals.el: Global Emacs style settings 2017-01-12 16:09:16 +00:00
.gitmodules submodules: Use new repo for libdnf 2017-02-06 19:13:19 +00:00
.redhat-ci.Dockerfile ci: Install ostree too 2017-02-21 20:38:24 +00:00
.redhat-ci.ssh-config .redhat-ci.yml: run vmcheck tests 2016-11-22 17:15:20 +00:00
.redhat-ci.yml Support "system/regenerate-initramfs=true" flag in origin 2017-01-20 16:17:51 +00:00
autogen.sh autogen.sh: tweak program checking logic 2015-09-11 10:24:44 -04:00
configure.ac build: Deal with gperf 3.1 changing to size_t 2017-02-17 18:51:53 +00:00
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links 2016-07-12 15:46:53 +00:00
COPYING COPYING: Update to latest LGPLv2+ 2014-03-10 16:40:16 -04:00
git.mk build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
HACKING.md hacking: add builddep command 2016-11-21 16:07:35 +00:00
LICENSE Add a LICENSE symlink 2016-04-28 13:09:22 +00:00
Makefile-daemon.am Merge daemon binary into main binary 2017-02-07 16:07:09 +00:00
Makefile-decls.am Switch to using libhif as a git submodule 2016-06-30 14:27:55 +00:00
Makefile-lib-defines.am lib: Add RpmOstreePackage 2015-04-16 13:26:58 -04:00
Makefile-lib.am Update for libhif -> libdnf 2016-08-04 01:10:08 +00:00
Makefile-libdnf.am Update for libhif -> libdnf 2016-08-04 01:10:08 +00:00
Makefile-libpriv.am daemon: Introduce an origin structure 2017-01-13 20:08:24 +00:00
Makefile-man.am build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
Makefile-rpm-ostree.am daemon: Implement "reload" 2017-02-24 21:36:45 +00:00
Makefile-tests.am importer: Error importing RPMs which install to /opt (outside of /usr) 2017-02-14 22:15:56 +00:00
Makefile.am Makefile.am: add rpm-ostreed stub to GITIGNOREFILES 2017-02-21 14:13:42 +00:00
mkdocs.yml docs: Start using mkdocs 2016-03-09 11:10:58 -05:00
PULL_REQUEST_TEMPLATE compose-tests: add more tests 2016-12-09 16:18:11 +00:00
README.md README.md: libhif is now called libdnf 2017-02-16 15:40:20 +00:00
TODO upgrader: Prune pkgcache repo 2016-08-30 19:53:24 +00:00
Vagrantfile Vagrantfile: specify full path to using_sshfs 2016-12-21 20:00:43 +00:00

rpm-ostree Overview

rpm-ostree is a hybrid image/package system. It uses OSTree as a base image format, and supports RPM on both the client and server side using libdnf.

For more information, see the online manual: Read The Docs (rpm-ostree)

Features:

  • Atomic upgrades and rollback for host system updates
  • A server side tool to consume RPMs and commit them to an OSTree repository
  • A system daemon to consume OSTree commits as updates

Projects using rpm-ostree

Project Atomic uses rpm-ostree to provide a minimal host for Docker formatted Linux containers. Replicating a base immutable OS, then using Docker for applications.

Manual

For more information, see the online manual: Read The Docs (rpm-ostree)