Colin Walters
349083194d
otutil: Correctly add ref to bytes when creating GVariant
...
This one went undiscovered for a while because it turned out we
weren't using it...
2014-04-29 08:53:28 -04:00
Colin Walters
5346e0615b
libotutil: Fix two bugs in usage of posix_fallocate()
...
* It's invalid to call it with a size of 0, so don't do that.
* posix_* apparently don't set errno. So capture the return value and
use that.
2014-04-29 07:40:25 -04:00
Colin Walters
18aaa49724
libotutil: Make use of dirfd-relative API in ot_gfile_replace_contents_fsync()
...
It's just more efficient.
2014-04-11 18:43:27 -04:00
Colin Walters
b19aea441a
libotutil: Add API to create directory hierarchy recursively *and* fsync
...
To be really sure that any directory entries have hit disk we need to
call fsync() on the directory fd. This API allows us to conveniently
create a directory hierarchy, fsyncing all of it along the way.
2014-04-11 18:43:13 -04:00
Colin Walters
d4d4ef552d
libotutil: Fix mistaken return of TRUE in error path
...
Gah, must have been a refactoring bug.
2014-04-09 01:51:43 -04:00
Colin Walters
76a976817f
deploy: Call fsync() on parent directory before/after symlink swap
...
Let's be conservative here and try hard to ensure the symlink has the
correct content on disk.
2014-04-03 22:39:41 -04:00
Colin Walters
829e0382ab
bootloader: fdatasync() bootloader configuration
...
Let's be a bit more conservative here and actually fdatasync() the
configurations we're generating.
I'm seeing an issue at the moment where syslinux isn't finding the
config sometimes, and while I don't think this is the issue, let's try
it.
2014-04-03 22:32:30 -04:00
Colin Walters
2d6374822b
Initial basic static delta code drop
...
This has a very basic level of functionality (deltas can be generated,
and applied offline). There is only some stubbed out pull code to
fetch them via HTTP.
But, better to commit this now and improve it from a known starting
point, rather than have it languish in a branch.
2014-02-04 10:31:44 -05:00
Colin Walters
d0d98d3abe
libotutil: Fix a possible uninitialized free() in error path
...
Spotted by gcc.
2014-01-18 04:52:45 -05: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
326be41d12
Revert "libotutil: Make use of GBytes in ot_variant_read()"
...
This reverts commit c77908bf514d61e75798932f61b5b414d9e36a3c; we can't
do this since g_variant_get_data_as_bytes() is a GLib 2.36 API.
2013-08-18 07:51:25 -04:00
Colin Walters
b35840e1b8
libotutil: Drop accidental use of GLib 2.36 API
...
Sticking with 2.34 for a while longer.
2013-08-18 07:50:50 -04:00
Colin Walters
abe2320039
libostree: Fix many gtk-doc warnings
2013-08-17 08:41:31 -04:00
Colin Walters
c77908bf51
libotutil: Make use of GBytes in ot_variant_read()
...
This is just cleaner; we avoid using GObject data, etc.
https://bugzilla.gnome.org/show_bug.cgi?id=706031
2013-08-14 19:55:34 -04:00
Colin Walters
76cd7ae4ea
libotutil: Add API to create an "ay" GVariant from GBytes
...
We used to have a version of this, but since I'm trying to use
GBytes more, this became a more common operation, and it's annoying
to type out the whole G_VARIANT_TYPE ("ay") each time, and pass
TRUE for trusted.
https://bugzilla.gnome.org/show_bug.cgi?id=706031
2013-08-14 19:23:33 -04:00
Stef Walter
462bcd86de
Add --verbose and -v arguments to ostree for details
...
Use the GLib debug mechanism to handle verbose output.
https://bugzilla.gnome.org/show_bug.cgi?id=705905
2013-08-13 15:37:12 +02: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
3b9da094d8
main: Drop log builtin
...
We may revive this later, but commits in their current form aren't
very useful for humans to read, so it doesn't make sense to have a
tool to show a history of useless stuff.
More interesting things are diffs between commits, object statistics,
etc.
2013-07-23 18:19:14 -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
5ad0671cd2
Switch to #pragma once for headers
...
It's just less tedious, and we're GCC/LLVM specific anyways.
2013-07-09 18:53:22 -04:00
Colin Walters
4b170d656c
Switch to libgsystem local allocation macros
...
And drop our compatibility wrapper.
2013-07-07 12:27:44 -04:00
Colin Walters
e3dc0c91df
gioutils: Many new utility functions
...
Reading symbolic links becomes a much more common thing now.
2013-06-29 12:51:29 -04:00
Colin Walters
8e4b296a96
libotutil: Drop is-hidden from fast queryinfo
...
Since now we look at .hidden files and bang on the mainloop for every
file lookup if that's specified =(
2013-04-29 22:08:56 -04:00
Colin Walters
4271f84755
waitablequeue: Only use API from GLib 2.34
...
As intended.
2013-04-03 00:50:16 -04:00
Colin Walters
bac4d7a0d2
pull: Rework threading communication model
...
Previously, I've observed bugs where we either:
1) Exit too early, leaving undownloaded objects
2) Hang while downloading
This rewrite hopefully fixes both.
2013-04-01 18:56:38 -04:00
Colin Walters
fafb256f57
Update to the latest libgsystem
2013-01-23 15:20:19 -05:00
Colin Walters
ccfdf22bb8
core: Drop dead prototypes from header
...
Followup to previous commit.
2013-01-04 19:47:56 -05:00
Colin Walters
cd5fce713c
core: Reuse more libgsystem API in utils
...
More code drain to libgsystem.
2013-01-04 19:46:02 -05:00
Colin Walters
47bd290065
core: Drain fdatasync() API into libgsystem
...
Just code cleanup.
2013-01-04 17:25:32 -05:00
Colin Walters
9bd4d35c2b
pull: Fix a race condition causing an early exit
...
This is a little less magical than what we had before.
2012-12-23 17:22:08 -05:00
Colin Walters
19df2d372d
core: Use new libgsystem GSSubprocess API
...
It's less screwing around with GPtrArray in most cases.
2012-12-21 11:52:28 -05:00
Colin Walters
3d41d1d2db
OtWorkerQueue: Don't exit until we've fulfilled initial requests
...
This counts as an implicit "hold" on the first items, which we must
complete. Otherwise there are race conditions where the queue may
signal idle when in fact the main process is still working.
2012-12-21 09:36:38 -05:00
Colin Walters
fddc11ca74
Update to latest libgsystem
...
Has a bugfix change to gs_subprocess_new().
2012-12-20 21:14:31 -05:00
Colin Walters
227d22adca
Update to the latest libgsystem
2012-12-03 12:05:41 -05:00
Colin Walters
7fcebed4e8
cleanup: Rebase spawn API on top of libgsystem GSSubprocess
...
We didn't need most the parameters anyways, so this is fewer lines of
code. It also helps me test GSubprocess.
2012-12-01 16:53:06 -05:00
Colin Walters
6dda8da6c5
Switch to using libgsystem shutil
...
More code moved into libgsystem.
2012-11-29 17:11:24 -05:00
Colin Walters
1ac307e6b8
Switch to libgsystem file reading API
...
More draining common utilities into libgsystem.
2012-11-29 16:58:39 -05:00
Colin Walters
f3d765c903
Switch to libgsystem directory creation API
...
More code being dropped into a common place.
2012-11-29 16:40:17 -05:00
Colin Walters
6d81120455
otutil: Move checksum related bits into checksum-utils.[ch]
...
This paves the way for slimming ot-gio-utils.[ch] into libgsystem.
2012-11-29 16:28:24 -05:00
Colin Walters
5761733218
Drop some bits from libotutil that are now merged in libgsystem
2012-11-29 16:24:49 -05:00
Colin Walters
d1ddfc973c
libotutil: Drop dead prototype
...
Was never implemented.
2012-11-29 15:56:17 -05:00
Colin Walters
05e7b6d596
pull-local: Make multithreaded
...
We were blocking for easily 1/10 or 1/5 of a second in fdatasync(),
which drastically slows down the whole process.
This threading isn't quite as good as the ostree-pull command, but it
lets us avoid the dependency on libsoup everywhere, and it's simpler.
2012-11-19 12:08:41 -05:00
Colin Walters
de1ce843f1
core: Drop old GLIB_CHECK_VERSION(2.32) bits
...
We hard require 2.34 now; if it doesn't exist on the system, that's
what embedded dependencies are for.
2012-11-18 15:44:21 -05:00
Colin Walters
d6956bfc19
core: And one more race in multithreaded mkdir -p
...
Sigh =(
2012-10-15 10:49:48 -04:00
Colin Walters
c159188b81
core: One more minor tweak to recursive directory creation
...
We would fail in the case where we were trying to create a
subdirectory of /; this didn't actually happen, just noticed
via code inspection.
2012-10-13 17:54:19 -04:00
Colin Walters
6b09f90122
core: Threadsafe recursive direction creation is harder than it appears
2012-10-13 10:47:03 -04:00
Colin Walters
b4d408f483
core: Fix regression in previous commit
2012-10-12 15:25:25 -04:00
Colin Walters
4436ed34d8
core: Make mkdir -p function safer
...
Recursing here is just a more obvious way to do it, rather than
relying on the semantics of g_file_make_directory_with_parents().
2012-10-12 15:10:39 -04:00
Colin Walters
ee73c0fa34
core: Add dynamic uncompressed object cache for archive-z
...
This gives us something closer to the advantages of archive and
archive-z when using the latter. Concretely we get deduplication
among multiple checkouts, along with the "devino" hash table trick
during commits to avoid checksumming content again.
This is enabled by default.
2012-10-11 18:33:03 -04:00
Colin Walters
efe27f1b05
pull: Ensure worker queue finishes if we unhold an empty queue too
2012-10-04 20:32:14 -04:00