ostree/README.md

76 lines
2.4 KiB
Markdown
Raw Normal View History

OSTree
======
2012-04-19 04:36:16 +04:00
OSTree is a tool that combines a "git-like" model for committing and
downloading bootable filesystem trees, along with a layer for
deploying them and managing the bootloader configuration.
2012-04-19 04:36:16 +04:00
Traditional package managers (dpkg/rpm) build filesystem trees on the
client side. In contrast, the primary focus of OSTree is on
replicating trees composed on a server.
**Features:**
- Atomic upgrades and rollback
- GPG signatures and "pinned TLS" support
- Support for parallel installing more than just 2 bootable roots
- Binary history on the server side
- Introspectable shared library API for build and deployment systems
Projects using OSTree
---------------------
[rpm-ostree](https://github.com/projectatomic/rpm-ostree) is a tool
that uses OSTree as a shared library, and supports committing RPMs
into an OSTree repository, and deploying them on the client.
[Project Atomic](http://www.projectatomic.io/) uses rpm-ostree
to provide a minimal host for Docker formatted Linux containers.
[xdg-app](https://github.com/alexlarsson/xdg-app) uses OSTree
for desktop application containers.
[GNOME Continuous](https://wiki.gnome.org/Projects/GnomeContinuous) is
a custom build system designed for OSTree, using
[OpenEmbedded](http://www.openembedded.org/wiki/Main_Page) in concert
with a custom build system to do continuous delivery from hundreds of
git repositories.
Building
--------
Releases are available as GPG signed git tags, and most recent
versions support extended validation using
[git-evtag](https://github.com/cgwalters/git-evtag).
However, in order to build from a git clone, you must update the
submodules. If you're packaging OSTree and want a tarball, I
recommend using a "recursive git archive" script. There are several
available online;
[this code](https://git.gnome.org/browse/ostree/tree/packaging/Makefile.dist-packaging#n11)
in OSTree is an example.
Once you have a git clone or recursive archive, building is the
same as almost every autotools project:
```
env NOCONFIGURE=1 ./autogen.sh
./configure --prefix=...
make
make install DESTDIR=/path/to/dest
```
More documentation
------------------
2015-03-11 04:51:20 +03:00
Some more information is available on the old wiki page:
https://wiki.gnome.org/Projects/OSTree
2015-03-11 04:51:20 +03:00
The intent is for that wiki page content to be migrated into Markdown
in this git repository.
Contributing
2014-12-08 01:19:42 +03:00
------------
See [Contributing](CONTRIBUTING.md).