mirror of
https://github.com/ostreedev/ostree.git
synced 2025-02-03 17:47:40 +03:00
64ebe2b82a
I don't much like Docbook (and am considering converting the man pages too), but let's start with the manual. I looked at various documentation generators (there are a lot), and I had a few requirements: - Markdown - Packaged in Fedora - Suitable for upload to a static webserver `mkdocs` seems to fit the bill.
76 lines
2.4 KiB
Markdown
76 lines
2.4 KiB
Markdown
OSTree
|
|
======
|
|
|
|
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.
|
|
|
|
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
|
|
------------------
|
|
|
|
Some more information is available on the old wiki page:
|
|
https://wiki.gnome.org/Projects/OSTree
|
|
|
|
The intent is for that wiki page content to be migrated into Markdown
|
|
in this git repository.
|
|
|
|
Contributing
|
|
------------
|
|
|
|
See [Contributing](CONTRIBUTING.md).
|