Go to file
Jonathan Lebon 6c933bbf3c lib/package: fix package diffs for multilib
Our complicated heuristics for handling multiple packages of the same
name comes back to bite us. In the multilib case, we can have packages
of the same NEVR, but different arch, sitting in the same tree.

Previously, even if the arch was different, we would still mark it as an
upgrade or downgrade. But that complicates things in the case of
multiple packages of the same name in the same tree.

We greatly simplify things here by making the diff algorithm dumber. We
now only consider a package as "modified" (i.e. upgraded/downgraded) if
it has the same NA (but different EVR). This makes handling multilib
cases natural and seems worth it overall vs trying to handle the odd
e.g. noarch <--> archful pkg transitions that could happen.

Closes: #1230
Approved by: cgwalters
2018-02-06 21:30:48 +00:00
.github Add issue template, move PR template to .github 2017-03-10 16:31:27 +00:00
api-doc lib: Expose new API around basearch 2017-07-21 16:02:41 +00:00
buildutil tap-test: create tmpdir in /var/tmp 2017-06-29 16:16:54 +00:00
ci jigdo: V4: Use archful provides for jigdoRPM Requires 2018-01-19 14:18:19 +00:00
design Introduce experimental "rpm-ostree jigdo" 2017-12-04 14:24:53 +00:00
docs compose: Add --ex-jigdo-output-rpm 2018-01-10 19:18:40 +00:00
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile 2018-01-11 14:07:17 +00:00
libdnf@e1950638d5 Switch libdnf to projectatomic branch 2018-01-16 14:14:32 +00:00
libglnx@6f1ee5db14 app/status: factor out escape chars logic 2018-01-11 15:37:57 +00:00
man Initial support for automatic updates 2018-01-27 23:52:43 +00:00
packaging Add polkit support 2017-06-19 21:19:42 +00:00
scripts bwrap: Don't use --unshare-net in nspawn by default 2017-03-10 17:27:56 +00:00
src lib/package: fix package diffs for multilib 2018-02-06 21:30:48 +00:00
tests lib/package: fix package diffs for multilib 2018-02-06 21:30:48 +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
.editorconfig tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
.gitmodules Switch libdnf to projectatomic branch 2018-01-16 14:14:32 +00:00
.papr.yml ci/papr: Bump compose tests to 4 min vCPUs 2018-01-09 16:26:32 +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
configure.ac build-sys: Fix trailing comma causing syntax error 2018-01-19 14:18:19 +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: make it easier to use a custom tree 2017-09-01 19:58:55 +00:00
LICENSE Add a LICENSE symlink 2016-04-28 13:09:22 +00:00
Makefile-daemon.am Initial support for automatic updates 2018-01-27 23:52:43 +00:00
Makefile-decls.am daemon/config: add new rpm-ostreed.conf 2018-01-16 16:51:01 +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: Expose new API around basearch 2017-07-21 16:02:41 +00:00
Makefile-libdnf.am build: Always recurse build into libdnf/ 2017-04-13 16:10:14 +00:00
Makefile-libpriv.am libpriv: add new rpmostree-types.h 2018-01-27 23:52:43 +00:00
Makefile-man.am daemon/config: add new rpm-ostreed.conf 2018-01-16 16:51:01 +00:00
Makefile-rpm-ostree.am Add cancel verb and DBus API 2017-12-07 20:12:52 +00:00
Makefile-tests.am Initial support for automatic updates 2018-01-27 23:52:43 +00:00
Makefile.am daemon/config: add new rpm-ostreed.conf 2018-01-16 16:51:01 +00:00
mkdocs.yml docs: Start using mkdocs 2016-03-09 11:10:58 -05:00
README.md README.md: libhif is now called libdnf 2017-02-16 15:40:20 +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)