Commit Graph

392 Commits

Author SHA1 Message Date
Colin Walters
e8f508ac6b Add --enable-libsoup-client-certs
The goal of this is to hard-fail if the API isn't present in the
buildroot, as some downstreams may explicitly require it.
2014-06-26 08:03:33 -04:00
Colin Walters
a5b2a233e8 Release 2014.5 2014-06-09 18:39:14 -04:00
Colin Walters
b4d21e9406 deploy: Set the immutable bit on the deployment root
This prevents people from creating new directories there and expecting
them to be persisted.  The OSTree model has all local state to be in
/etc and /var.

This introduces a compile-time dependency on libe2fsprogs.

We're only doing this for the root directory at the moment.

https://bugzilla.gnome.org/show_bug.cgi?id=728006
2014-06-03 13:41:48 -04:00
Colin Walters
25ad4a9f65 pull: Add tls-client-cert-{path,key} (if we have new enough libsoup)
This is an actually working version of client-side certificates.
Depends on:
See: https://bugzilla.gnome.org/show_bug.cgi?id=334021

We detect whether libsoup is new enough for this.

https://bugzilla.gnome.org/show_bug.cgi?id=729356
2014-05-01 17:13:13 -04:00
Colin Walters
006e8f0073 deltas: Link to liblzma, add internal API to use it
For future static deltas work, we'll be linking to liblzma.  Since
it's fairly widespread, let's just make it a hard dependency.
2014-04-29 10:59:57 -04:00
Colin Walters
32663a5a50 build: Remove --enable-embedded-dependencies
This is going to bitrot too much; we'll figure out a better way to do
this when someone if a RHEL6 port ever happens.  Probably Software
Collections.
2014-04-22 09:08:35 -04:00
Colin Walters
7cb7d8f741 Release 2014.4 2014-04-13 10:50:27 -07:00
Colin Walters
1bdabda5f3 Use external libgsystem 2014.2
It's been split off for a while, let's kill the code duplication.

Among other things, this fixes the systemd detection for the journal
logging.
2014-04-04 16:52:37 -04:00
Colin Walters
6c463f0b20 Release 2014.3 2014-03-21 14:54:03 -04:00
Colin Walters
ba4f7ac7be Remove custom SELinux policy
This was a temporary hack until the requisite bits landed upstream in
the Fedora SELinux policy.
2014-03-15 13:16:14 -04:00
Colin Walters
cca4cf3e62 build: Add --enable-selinux-custom-policy
Don't use this.

It's just for me, and only temporarily until this stuff all lands in
the Fedora (and ideally upstream) selinux-policy.
2014-03-01 15:10:40 -05:00
Colin Walters
5bda4b4347 Release 2014.2 2014-03-01 13:55:55 -05:00
Colin Walters
cc49096044 Add internal SELinux policy overrides
In the future, this will likely include an ostree_t domain.  For now,
this is just a few additional allow rules.
2014-02-19 08:40:19 -05:00
Colin Walters
8c2a3efadb build: Drop SELinux required version a bit earlier
Apparently EPEL7 only has 2.1.13, but we should be fine with that.
2014-02-02 11:53:22 -05:00
Colin Walters
2313bdcb62 Add SELinux support
The trees as shipped come with /usr/etc, which should just be labeled
as usr_t.  When we do a deployment, we need to relabel the copies of
the files we're making in /etc.

SELinux support is compile and runtime optional.
2014-01-31 08:10:55 -05:00
Colin Walters
c7bcfc1c61 build: Look for /usr/bin/gpgv2 vs /usr/bin/gpgv
For some reason, RHEL has gpgv, but Fedora doesn't.  We need to detect
which to use, since presumably Debian only has gpgv.
2014-01-30 19:32:59 -05:00
Colin Walters
a5ff7eaf37 Release 2014.1 2014-01-24 04:26:43 +00:00
Daniel Narvaez
ccb10d592d Add support for mkinitcpio
https://bugzilla.gnome.org/show_bug.cgi?id=710682
2013-10-24 14:27:49 -04:00
Colin Walters
b35d1499b8 Release 2013.7 2013-10-15 16:44:35 -04:00
Colin Walters
2b37abf7b6 build: Also make gjs-based tests conditional on introspection support
Since they use imports.gi.OSTree.
2013-10-11 12:04:24 -04:00
Jeremy Whiting
7d5aa74dae core: Use libgpgme to add GPG signatures to detached metadata for commit object
Add an optional dependency on gpgme to add GPG signatures into the
detached metadata, with the key "ostree.gpgsigs", as an "aay", an
array of signatures (treated as binary data).

The commit command gains a --gpg-sign=<key-id> argument.  Also add an
argument --gpg-homedir to set the GPG homedir where we look for
keyrings.
2013-09-28 16:12:35 -04:00
Colin Walters
58a8d6d6ef tests: Add a gjs-based test
This covers introspection, and in general is a much better way to get
API coverage tests.
2013-09-18 12:02:12 -04:00
Colin Walters
23e2593b6d repo: Use non-deprecated API with sufficiently new libarchive
Based on a patch Tobias Hunger <tobias.hunger@gmail.com>
2013-08-30 14:34:32 -04:00
Colin Walters
0590684e03 Release 2013.6 2013-08-25 23:34:51 -04:00
Colin Walters
5f90502482 Release 2013.5 2013-08-17 17:05:17 -04:00
Colin Walters
12ccbffad7 build: Fix and prettify build option output
The documentation one was broken by the gtk-doc changes, and let's
align things.
2013-08-17 15:21:31 -04:00
Colin Walters
9c79b352a1 build: Fix the build without documentation
Just key everything of gtk-doc.
2013-08-16 23:14:30 -04:00
Colin Walters
17560a57bf Add gtk-doc support
Yes, it's really me.  Colin Walters.  Writing documentation.  You
don't need to do a DNA test.
2013-08-16 22:56:12 -04:00
Colin Walters
5a4b7d708f configure: Use AS_IF() consistently
See https://bugzilla.gnome.org/show_bug.cgi?id=681413
2013-08-15 18:33:19 -04:00
Sjoerd Simons
a00eb681a0 Install systemd units in the right location
Debian uses /lib/systemd/system for system unit files, while i'm
putting ostree under the /usr prefix which means the hardcoded path
fails. Leave it to configure to work out the right location for systemd
units (method copied from pollkit).

Furthermore instead of installing the unit in local-fs.target.wants by
hand add a [Install] section so systemctl enable does the right thing

https://bugzilla.gnome.org/show_bug.cgi?id=705864
2013-08-15 18:28:04 -04:00
Colin Walters
a5d43bb959 Install a shared library
This required a fair bit of surgery because previously ostree.h
included otutil.h, but that's supposed to be a private library.
2013-07-26 19:25:07 -04:00
Colin Walters
7f4ba736ea Release 2013.4 2013-07-16 20:41:47 -04:00
Colin Walters
124416d832 Use AC_USE_SYSTEM_EXTENSIONS instead of #define _GNU_SOURCE
It's less copy/paste, works everywhere, etc.

Also fix some missing #include "config.h".
2013-07-10 13:25:35 -04:00
Colin Walters
305cd02e0c Drop obsolete GRUB2 and kernel update hooks
We only support syslinux at the moment; grub2 should learn to parse
the bootloader spec.
2013-07-07 21:56:54 -04:00
Colin Walters
48f7186e13 Release 2013.3 2013-07-07 21:35:29 -04:00
Colin Walters
26cef497a6 Remove built in "triggers"
Originally, the idea was that clients would replicate "OS/tree"s from
a build server, but we'd run things like "ldconfig" on the client.
This was to allow adding e.g. the nVidia binary driver.

However, the triggers were the only thing in the system at the moment
that really had expected knowledge of the *contents* of the OS, like
the location of binaries.

For now, it's architecturally cleaner if we move the burden of
triggers to the tree builder (e.g. gnome-ostree or RPM).  Eventually
we may want OSTree to assist with this type of thing (perhaps
something like RPM %ghost), but this is the right thing to do now.
2013-07-07 14:37:59 -04:00
Colin Walters
6496abacbd Add --with-dracut
This installs a Dracut module which parses the ostree= kernel command
line argument, and if given, sets up the OS/ at /sysroot, which
systemd's switch-root then moves into.  This only works if dracut is
configured to use systemd itself.
2013-06-03 15:28:09 -04:00
Colin Walters
82f444020e Add a --version argument that also outputs features
And use it in the tests to skip libarchive tests when the build
doesn't support it.
2013-05-01 19:15:06 -04:00
Colin Walters
e9a181c67d Install tests
Matching https://live.gnome.org/GnomeGoals/InstalledTests
2013-05-01 15:26:21 -04:00
Colin Walters
9cbae4f2fd Release 2013.2 2013-04-01 22:23:46 -04:00
Colin Walters
ff3e83a5e1 Release 2013.1 2013-04-01 21:36:40 -04:00
Colin Walters
a5a46317f1 build: Bump GLib dependency to 2.34.0
Just cleaner than an unstable version.
2013-03-12 18:45:27 -04:00
Colin Walters
02217ba74a build: Use AC_SYS_LARGEFILE
So we do the right thing on 32 bit.
2013-02-24 06:35:23 -05:00
Colin Walters
9598efd001 Release 2012.13 2012-12-23 17:36:42 -05:00
Colin Walters
2769ff36ff Release 2012.12 2012-10-31 22:02:35 -04:00
Colin Walters
5f25762122 admin: Install grub2 config file if we detect /etc/grub.d
Decouple this from the kernel postinst one, since it's possible to
have one but not the other.
2012-10-01 19:34:25 -04:00
Colin Walters
758d6132e3 Release 2012.11 2012-09-25 22:25:06 -04:00
Colin Walters
503535da48 Release 2012.10 2012-09-25 18:08:18 -04:00
Adrian Perez
b314b25e6a configure.ac: Fix checks for libarchive
When configuring without passing --enable-triggers-only, checks for
libarchive were not being done. Shuffling around the checks solves
the issue.
2012-08-28 16:36:07 +03:00
Colin Walters
4b9faa421e Release 2012.9 2012-08-26 13:58:23 -04:00
Colin Walters
c63cca53d7 build: Add --enable-triggers-only
For bootstrapping gnome-ostree, we need to install the triggers early
on, before we actually build the real ostree binary.
2012-08-26 13:58:23 -04:00
Colin Walters
419965e6e3 build: Make /etc/kernel scripts default to automatic
When not cross compiling, we can test for /etc/kernel.  This fixes the
build automatically on RHEL6 for example.
2012-08-23 15:19:41 -04:00
Giovanni Campagna
a97bcc68d7 Add infrastructure for automatic kernel updates
If the distribution supports running arbitrary scripts at kernel
updates, we can hook into it and update the ostree side of things
automatically.
2012-08-20 23:01:58 +02:00
Colin Walters
22aa38a7da configure: Fix libsoup detection
* The configure arg was named incorrectly; we don't rely on
libsoup-gnome, just libsoup.
* We need to use AS_IF
2012-08-14 13:11:45 -04:00
Colin Walters
da43fb6db5 Hard require GLib 2.34
Anyone wanting to build against an earlier version can use the
embedded-dependencies system.
2012-07-15 18:22:41 -04:00
Colin Walters
31b439b84c Release 2012.8 2012-06-27 22:38:12 -04:00
Colin Walters
667c3bcb10 Make more compiler warnings into errors
In particular, I want -Werror=format=2 to catch format string bugs.
2012-06-27 22:26:16 -04:00
Colin Walters
0cb4fe66f8 build: Fix syntax error in non-embedded build case 2012-06-20 15:42:19 -04:00
Colin Walters
10bf223f0a Support building with embedded libsoup 2012-06-14 19:34:28 -04:00
Colin Walters
78b0d99238 Support building with embedded glib 2012-06-14 13:45:59 -04:00
Colin Walters
270dc05176 ostbuild: Move to gnome-ostree module
Since we want to keep "ostree" buildsystem-independent, let's move
ostbuild out into the gnome-ostree module.

http://git.gnome.org/browse/gnome-ostree/commit/?id=04ba1926e33b442af1e357460e4415d4c0311e87
2012-06-08 19:01:25 -04:00
Colin Walters
2df5294ce8 build: Actually, we need bleeding edge libsoup
The stable version compiles, but just hangs =/
2012-06-06 22:12:51 -04:00
Colin Walters
a496c464b9 build: Bump libsoup dependency 2012-06-06 22:06:30 -04:00
Colin Walters
8f2dda3e25 core: Just require libsoup, not libsoup-gnome 2012-05-31 10:25:41 -04:00
Colin Walters
14a597131b Release 2012.7 2012-05-24 21:17:43 -04:00
Colin Walters
cefbe90281 Release 2012.6 2012-05-08 11:59:59 -04:00
Colin Walters
e4bc1494af Release 2012.5 2012-05-05 16:03:53 -04:00
Colin Walters
15eef27b87 Release 2012.4 2012-05-05 11:53:05 -04:00
Colin Walters
471c04605e Release 2012.3 2012-05-05 11:06:59 -04:00
Colin Walters
ef7bedc04e Release 2012.2 2012-04-11 22:47:48 -04:00
Colin Walters
3134cb6b24 Release 2012.1 2012-04-02 13:49:23 -04:00
Colin Walters
047602c56f Release 2012.0
This marks a new versioning scheme.
2012-03-31 12:34:11 -04:00
Colin Walters
a90e091037 build: Note the status of libsoup-gnome and libarchive
So fewer people accidentally compile without one.
2012-02-24 15:40:52 -05:00
Colin Walters
fbaf32f776 build: Check for attr/xattr.h 2012-02-20 13:59:52 -05:00
Colin Walters
3c351a09e5 build: Add --disable-documentation flag
We may have xsltproc, but no DTDs.
2012-01-13 16:30:39 -05:00
Colin Walters
8854ec59be Add an initial man page - ostree(1)
Heavily cribbed from systemd - thanks Lennart!
2011-12-23 18:46:19 -05:00
Colin Walters
122b31ed3b ostbuild: Make new 'ostbuild' main entry point, and compile-one a subcommand
The collection of Python scripts here have gotten to the point where
we need to share code.  Start refactoring things so that we have one
main command which imports subcommands as libraries.
2011-12-23 10:40:27 -05:00
Colin Walters
17cc772cf3 core: Support for committing from any libarchive-supported format
We really want the ability to take a .tar.gz and directly import
it into a repository, without creating a temporary filesystem tree.

First, doing it this way is significantly faster.  Also, this allows
us to handle importing tar files with e.g. uid 0 files into packed
repositories as non-root, which is very useful for tests and builds.
2011-12-04 14:08:55 -05:00
Colin Walters
e8865af09e core: Split pull functionality into separate ostree-pull binary
This is to avoid everything depending on libsoup.
2011-11-30 09:21:14 -05:00
Colin Walters
3ac841d931 core: Make libostree.so an installed library
This will make it easier to have multiple binaries.
2011-11-29 18:25:07 -05:00
Colin Walters
56a9a68993 configure: Actually disable soup-gnome if not found 2011-11-27 18:08:18 -05:00
Colin Walters
bcdfe03e72 core: Support being built without libsoup-gnome
While bootstrapping gnomeos, it's really handy if we can be built
without pull support, because libsoup-gnome pulls in a huge set of
dependencies.
2011-11-14 15:08:09 -05:00
Colin Walters
f5cf1a54de Switch to using explicit WARN_CFLAGS
The rationale is documented well in the automake manual.
2011-11-11 06:55:14 -05:00
Colin Walters
a160a2a5fa Add support for pulling from remote archives
This necessitated a large set of changes.

We now support an "archive" mode for repositories.  In this mode,
files are stored "packed" rather than hard linked.  This allows one to
e.g. store an OSTree repository with root-owned files as non-root.  It
is also used as the basis for serving repositories via HTTP.

While doing this I realized that GVariant is endianness-dependent; I
decided to just store all data in big endian.
2011-10-31 20:28:47 -04:00
Colin Walters
03943c659f Drop glib requrirement to 2.28
This lets it build on more currently-released systems like Fedora 15.
2011-10-26 14:12:13 -04:00
Colin Walters
37bea9f29d configure: Use AC_PROG_LIBTOOL
This apparently helps autoreconf know we're using libtool.
2011-10-26 13:52:42 -04:00
Colin Walters
ad4ae3c0f1 configure: make missing prototypes an error always 2011-10-21 11:27:40 -04:00
Colin Walters
b7d45436a0 Don't use g_variant_new_from_fixed_array(), it was only added in 2.31
g_variant_new_from_data() works, and actually allows us to avoid
a memdup()/free().
2011-10-20 10:20:51 -04:00
Colin Walters
b27df6fd72 "Hacktree" is now known as "OSTree"
It just sounds better.
2011-10-18 14:44:48 -04:00
Colin Walters
98a043c671 Add probably working commits 2011-10-14 21:09:11 -04:00
Colin Walters
73a4b1a5f1 Rename from gbuild to hacktree 2011-10-10 18:46:57 -04:00
Colin Walters
f874ac043d Initial commit 2011-10-09 17:03:08 -04:00