Go to file
Jonathan Lebon 7697702aaa vmcheck: strengthen test harness
We now make the test harness handle restoring the VM to the original
state. The wonderful thing about ostree here is that it's a perfect
shoo-in for this. We make a 'backup' of the current ref, and just have
to make sure that the VM is back on that ref after running each test.

This will allow us to write tests without worrying as much about
cleaning up in the event of an error.

Closes: #360
Approved by: cgwalters
2016-06-29 19:17:38 +00:00
api-doc build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
buildutil build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
design design/package-layering: New file 2014-06-18 08:48:03 -04:00
docs Links for more information 2016-06-26 21:18:58 +00:00
libglnx@afe3c3a861 core: Dedup hardlink/tempfile code 2016-06-01 15:15:11 +00:00
man man page: add pkg-add and pkg-delete 2016-06-03 19:13:13 +00:00
packaging build: Update .gitignore 2016-03-26 14:22:41 +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 core: Fix up more nevra leaks 2016-06-29 15:17:18 +00:00
tests vmcheck: strengthen test harness 2016-06-29 19:17:38 +00:00
tests-container tests-container: New experimental testing code path 2016-03-11 08:38:06 -05:00
vagrant vagrant: use new 'booted' key to get current csum 2016-06-29 19:17:38 +00:00
.gitmodules Start using libglnx 2015-02-15 14:01:13 -05:00
.travis.yml Add a stub travis file to enable Homu 2016-03-15 19:34:19 +00:00
autogen.sh autogen.sh: tweak program checking logic 2015-09-11 10:24:44 -04:00
configure.ac build: Remove --enable-usrbin-atomic 2016-06-29 16:44:08 +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 make vmoverlay for faster hacking 2016-06-29 19:17:38 +00:00
LICENSE Add a LICENSE symlink 2016-04-28 13:09:22 +00:00
Makefile-daemon.am daemon: Unify PkgAdd/PkgDelete into PkgChange 2016-06-20 14:45:49 +00:00
Makefile-decls.am Import some code for using GJS 2014-01-03 17:14:10 -05:00
Makefile-lib-defines.am lib: Add RpmOstreePackage 2015-04-16 13:26:58 -04:00
Makefile-lib.am (cleanup): Move the refsack and root loading code into libpriv 2015-05-20 20:51:42 -04:00
Makefile-libpriv.am core: Initial implementation of %posttrans using bwrap+rofiles-fuse 2016-06-24 16:08:08 +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 build: Remove --enable-usrbin-atomic 2016-06-29 16:44:08 +00:00
Makefile-tests.am hacking: add make vmoverlay for faster hacking 2016-06-29 19:17:38 +00:00
Makefile.am build: Use gnu99 by default 2016-03-30 20:51:34 +00:00
mkdocs.yml docs: Start using mkdocs 2016-03-09 11:10:58 -05:00
README.md Correct location of document link 2016-06-26 12:07:47 +00:00
TODO package layering: major rework 2016-05-27 22:18:44 +00:00
Vagrantfile hacking: add make vmoverlay for faster hacking 2016-06-29 19:17:38 +00:00

rpm-ostree Overview

New! See the docs online at Read The Docs (rpm-ostree)


rpm-ostree is a hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model.

The project aims to bring together a hybrid of image-like upgrade features (reliable replication, atomicity), with package-like flexibility (introspecting trees to find package sets, package layering, partial live updates).

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.

Using rpm-ostree to build OS images/trees

See Compose Server.

Building

Releases are available as GPG signed git tags, and most recent versions support extended validation using git-evtag.

However, in order to build from a git clone, you must update the submodules. If you're packaging and want a tarball, I recommend using a "recursive git archive" script. There are several available online; this code in OSTree is an example.

Once you have a git clone or recursive archive, the next step is to install the build dependencies. At the moment, rpm-ostree has a hard requirement on a bleeding edge version of libhif. It also requires a few other libraries like librepo.

Once you have the dependencies, building is the same as every autotools project:

env NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc
make

At this point you can run some of the unit tests with make check. For more information on this, see CONTRIBUTING.md.

More documentation

New! See the docs online at Read The Docs (rpm-ostree)

Hacking

See Hacking.

Contributing

See Contributing.