Go to file
Jonathan Lebon 5cb1fa5460 libtest: add build_rpm function
Having to prepare RPMs in advance separately from the tests that use
them severely limits our ability to test various cases and to iterate
quickly when creating tests.

Add a new `build_rpm` function which can basically build the RPM on the
fly and update the yum repo afterwards. It makes it trivial to test
things like package updates:

    build_rpm foo 1.0 1
    <stuff>
    build_rpm foo 1.0 2
    <stuff>

The RPMs are all created inside the temporary test directory and thus
cleaned up on exit.

I'm doing this in a separate commit because it's the most important diff
of the transition and might be easy to lose in the larger diff where we
move all the tests to make use of this.

Closes: #854
Approved by: cgwalters
2017-06-29 16:16:54 +00:00
.github Add issue template, move PR template to .github 2017-03-10 16:31:27 +00:00
api-doc build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
buildutil tap-test: create tmpdir in /var/tmp 2017-06-29 16:16:54 +00:00
ci Remove all tabs ⭾ in *.[ch] and add a CI check for them 2017-06-22 01:20:55 +00:00
design design/package-layering: New file 2014-06-18 08:48:03 -04:00
docs compose: Add tmp-is-dir option to make /tmp a directory 2017-05-24 17:49:36 +00:00
libdnf@cf8f45da8b libdnf: bump for stale cache fix 2017-06-23 18:33:51 +00:00
libglnx@caa51ac24f libglnx: bump for GLNX_HASH_TABLE_FOREACH macros 2017-06-20 14:09:24 +00:00
man rebase: allow rebasing to a local branch 2017-05-05 21:01:26 +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 libpriv/passwd: Port to new style 2017-06-26 18:03:12 +00:00
tests libtest: add build_rpm function 2017-06-29 16:16:54 +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
.papr.yml Remove all tabs ⭾ in *.[ch] and add a CI check for them 2017-06-22 01:20:55 +00:00
autogen.sh autogen.sh: tweak program checking logic 2015-09-11 10:24:44 -04:00
configure.ac Add polkit support 2017-06-19 21:19:42 +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 daemon: Install dbus introspection files 2017-06-23 19:15:42 +00:00
Makefile-decls.am build: Always recurse build into libdnf/ 2017-04-13 16:10:14 +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 build: Always recurse build into libdnf/ 2017-04-13 16:10:14 +00:00
Makefile-libpriv.am libpriv: Add a helper function to print pkg diff 2017-04-26 14:26:00 +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 app: add experimental support for pkg removals 2017-06-05 20:48:50 +00:00
Makefile-tests.am tests/check: remove test-compose.sh 2017-06-29 16:16:54 +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
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)