| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Per comment, this was a temporary non-atomic hack, and it's time to
remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=731051
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression introduced with https://git.gnome.org/browse/ostree/commit/?id=7baa600e237b326899de2899a9bc54a6b863943c
The original code in "ostree admin upgrade" had a comment:
/* Here we perform cleanup of any leftover data from previous
* partial failures. This avoids having to call gs_shutil_rm_rf()
* at random points throughout the process. */
But since I deleted that initial cleanup call, we *do* need to do the
cleanup during the process run. It turns out there are only a few
places this is necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=733030
|
|
|
|
|
|
|
|
|
| |
While looking to fix a different bug here, I found the current
state of things where we had a mix of fd-relative API versus not
frustrating.
Change the code around to consistently use *at, and also add some more
tests.
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=732184
|
| |
|
| |
|
|
|
|
| |
This is the version that's in Slackware at the moment at least.
|
|
|
|
|
|
|
| |
The libostree core uses SYSCONFDIR now, so we should ensure it's used
consistently. Someone else was seeing SYSCONFDIR not being defined
while compiling with a newer automake version, which may process
CPPFLAGS more precisely.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For Fedora and potentially other distributions which use globally
distributed mirrors, metalink is a popular solution to redirect
clients to a dynamic set of mirrors.
In order to make metalink work though, it needs *one* file which can
be checksummed. (Well, potentially we could explode all refs into the
metalink.xml, but that would be a lot more invasive, and a bit weird
as we'd end up checksumming the checksum file).
This commit adds a new command:
$ ostree summary -u
To regenerate the summary file. Can only be run by one process at a
time.
After that's done, the metalink can be generated based on it, and the
client fetch code will parse and load it.
https://bugzilla.gnome.org/show_bug.cgi?id=729585
|
|
|
|
|
|
| |
I'd like to use GTask, so bump the dependency.
https://bugzilla.gnome.org/show_bug.cgi?id=729585
|
|
|
|
|
|
|
|
|
| |
Otherwise, we're potentially holding up subsequent requests.
I was hitting this when testing the metalink code, where we want to
continue doing more fetches after hitting a 404.
https://bugzilla.gnome.org/show_bug.cgi?id=729585
|
|
|
|
| |
The strchr() was pointing into a string we were freeing.
|
|
|
|
|
|
|
|
|
| |
Changes the pull API to allow pulling only a single directory instead
of the whole deployment. This option is utilized by the check-diff
option in rpm-ostree.
Add a new state directory to hold <checksum>.commitpartial files, so
we know that we've only downloaded partial state.
|
|
|
|
|
| |
We require the caller to invoke load() at the moment to do most
things.
|
|
|
|
|
|
|
|
|
| |
If we deployed a new tree inside an existing OS, inheriting kernel
args, we need to use append() instead of replace() to avoid collapsing
multiply specified kernel arguments like console=/dev/foo
console=/dev/bar.
Reported-by: Dusty Mabe <dusty@dustymabe.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
We want to allow multiply specified arguments, as it's useful for
things like console= and rd.lvm.lv.
See: https://bugzilla.gnome.org/show_bug.cgi?id=721136
Reported-by: Dusty Mabe <dustymabe@gmail.com>
|
| |
|
|
|
|
|
|
| |
We don't want to have to force people to set it in the environment.
https://bugzilla.gnome.org/show_bug.cgi?id=733734
|
|
|
|
|
| |
Add start time to the AsyncProgress object, use it in the common
progress.
|
|
|
|
| |
Modern web browsers are all converging on 6 or 8. Let's match that.
|
|
|
|
|
|
|
|
|
|
| |
I noticed OSTree was a bit slower, did some investigation
and saw we were enumerating all objects for things like
$ ostree rev-parse blah
Since "blah" can never be an object (because of the 'l' and 'h'), just
return no matches.
|
|
|
|
|
|
|
|
| |
We want to write to the dest repo, not src.
Noticed while reviewing this code for some other bug.
https://bugzilla.gnome.org/show_bug.cgi?id=733579
|
|
|
|
|
|
|
|
|
|
|
|
| |
The user might "ostree ls /usr/bin/bash/blah", which previously would
segfault.
A somewhat related future enhancement here would be for "ostree ls" to
follow symbolic links.
Reported-by: Dusty Mabe <dustymabe@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=733476
|
|
|
|
|
|
| |
An embarassing off-by-one here. I noticed we weren't pruning them.
https://bugzilla.gnome.org/show_bug.cgi?id=733458
|
|
|
|
|
|
|
|
|
|
| |
Prune has worked fine on bare repositories for some time, but now that
I finally try to delete data on the server side, I notice we weren't
actually enumerating content objects =/
That caused them to not be pruned.
https://bugzilla.gnome.org/show_bug.cgi?id=733458
|
|
|
|
|
|
|
|
|
|
| |
The prune API duplicated logic to delete objects, and furthermore the
core API to delete an object didn't clean up detached metadata.
Fix the duplication by doing the obvious thing: prune should call
_delete.
https://bugzilla.gnome.org/show_bug.cgi?id=733452
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a function that will parse a partial checksum when
resolving a refspec. If the inputted refspec matches a truncated
existing checksum, it will return that checksum to be parsed. If
multiple truncated checksums match the partial refspec, it is not
unique and will return false. This addition is inspired by the same
functionality in Docker, which allows a user to reference a specific
commit without typing the entire checksum.
partial checksums: Add function to abstract comparison
This modifies the list_objects and list_objects_at functions
to take an additional argument for the string that a commit starts
with. If this string arg is not null, it will only list commit
objects beginning with that string. This allows for a new function
ostree_repo_list_commit_objects_starting_with to pass a partial string
and return a list of all matching commits. This improves on the
previous strategy of listing refs because it will list all commit objects,
even ones in past history. This update also includes bugfixes on
error handling and string comparison, and changes the output structure
of resolve_partial_checksum. The new strcuture will no longer return FALSE
without error. Also, the hashtable foreach now uses iter. Also
includes modified test file
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/var needs to be read-write for a functioning system. Various
systemd services will fail to start if /var is read-only. After we
remount /var (or if we skip remounting /var because / is read-only),
if /var is still readonly, mount a tmpfs file system on /var.
While this isn't strictly part of ostree, keeping it here makes sense
because it keeps twiddling around with the /var mount in one place
for easier coordination and maintenance. This will likely need updating
if systemd gains better support for a readonly root filesystem.
https://bugzilla.gnome.org/show_bug.cgi?id=732979
|
|
|
|
|
|
|
| |
Otherwise, GTlsFileDatabase ends up accepting NULL for anchors, and
then we don't trust any CAs at all.
https://bugzilla.gnome.org/show_bug.cgi?id=726256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some organizations will want to use private Certificate Authorities to
serve content to their clients. While it's possible to add the CA
to the system-wide CA store, that has two drawbacks:
1) Compromise of that cert means it can be used for other web traffic
2) All of ca-certificates is trusted
This patch allows a much stronger scenario where *only* the CAs in
tls-ca-path are used for verification from the given repository.
https://bugzilla.gnome.org/show_bug.cgi?id=726256
|
|
|
|
|
| |
The goal of this is to hard-fail if the API isn't present in the
buildroot, as some downstreams may explicitly require it.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Using docker as a model, this update creates separate manpages
for each OSTree command, such that the main manpage is not
cluttered and the separate pages can provide more in-depth detail
and exanples that might be useful to a user. Each page includes
synopsis, description, example, and a list of options if needd.
This update also alphabetizes the usage error output for ostree
and ostree admin so that it matches the list on the manpage.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
|
|
|
| |
We need to end the status line *after* we've done a pull, as ostree
admin upgrade does. Also add the correct in_status_line assignment.
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
|
|
|
| |
One was an unused variable, the other is actually dead because we
can't have mfile != NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
|
|
|
|
|
|
|
| |
We were using unsigned size when we should have been using signed,
this means we basically weren't checking for errors on write...ouch.
Luckily if we e.g. hit ENOSPC during a pull, the checksums wouldn't
match and we'd return an error anyways. However when writing an
object, we'd end up silently ignoring it =/
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
|
|
| |
This condition can't actually be hit, let's hint that's the case.
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=732020
|
| |
|
|
|
|
|
|
| |
Only access relevant portion of argv after we've verified argc.
https://bugzilla.gnome.org/show_bug.cgi?id=731984
|
|
|
|
|
|
| |
branches is always NULL at that point, we want to look at argc.
https://bugzilla.gnome.org/show_bug.cgi?id=731984
|
|
|
|
|
|
|
|
| |
At least one external tool is using the API, and wants to add a
remote, but all of the logic right now is in the tool. Move it to the
library.
https://bugzilla.gnome.org/show_bug.cgi?id=731984
|