Colin Walters [Wed, 17 Mar 2021 14:03:49 +0000 (14:03 +0000)]
sysroot: Add _require_booted_deployment() API
This is a common pattern that is replicated both in our code
and in rpm-ostree a lot. Let's add a canonical API.
OpenShift Merge Robot [Fri, 12 Mar 2021 22:22:45 +0000 (17:22 -0500)]
Merge pull request #2296 from cgwalters/commit-os
Add an API+CLI to inject metadata for bootable OSTree commits
Colin Walters [Thu, 11 Mar 2021 01:36:13 +0000 (01:36 +0000)]
Add an API+CLI to inject metadata for bootable OSTree commits
I was doing some rpm-ostree work and I wanted to compare two
OSTree commits to see if the kernel has changed. I think
this should be a lot more natural.
Add `ostree commit --bootable` which calls into a new generic
library API `ostree_commit_metadata_for_bootable()` that
discovers the kernel version and injects it as an `ostree.linux`
metadata key. And for extra clarity, add an `ostree.bootable`
key.
It's interesting because the "core" OSTree layer is all about
generic files, but this is adding special APIs around bootable
OSTree commits (as opposed to e.g. flatpak as well as
things like rpm-ostree's pkgcache refs).
Eventually, I'd like to ensure everyone is using this and
hard require this metadata key for the `ostree admin deploy`
flow - mainly to prevent accidents.
OpenShift Merge Robot [Wed, 10 Mar 2021 20:14:51 +0000 (21:14 +0100)]
Merge pull request #2293 from ostreedev/fix-file-uri-decoding
Fix translation of file:// URIs into paths
Phaedrus Leeds [Wed, 10 Mar 2021 18:02:14 +0000 (10:02 -0800)]
Fix translation of file:// URIs into paths
Currently if a file path contains a special character such as '\', and
that character is encoded into a file:// URI that is passed to
ostree_repo_pull_with_options(), the percent encoding will remain in the
path passed to g_file_new() (in the case of backslash %5C) and the pull
will then fail with a file not found error. This is an important edge
case to handle because by default on many Linux distributions a
filesystem with no label is mounted at a path based on its UUID, and
this is then passed to systemd-escape by Flatpak (when
--enable-auto-sideloading was used at compile time) to create a symbolic
link such as this which contains backslashes:
$ ls -l /run/flatpak/sideload-repos/
total 0
lrwxrwxrwx 1 mwleeds mwleeds 55 Mar 9 14:21
'automount-run-media-mwleeds-
29419e8f\x2dc680\x2d4e95\x2d9a31\x2d2cc907d421cb'
-> /run/media/mwleeds/
29419e8f-c680-4e95-9a31-
2cc907d421cb
And Flatpak then passes libostree a file:// URI containing that path, to
implement sideloading (pulling content from the USB drive).
This results in an error like:
Error: While pulling app/org.videolan.VLC/x86_64/stable from remote
flathub:
/run/flatpak/sideload-repos/automount-run-media-mwleeds-
29419e8f%5Cx2dc680%5Cx2d4e95%5Cx2d9a31%5Cx2d2cc907d421cb/.ostree/repo:
opendir(/run/flatpak/sideload-repos/automount-run-media-mwleeds-
29419e8f%5Cx2dc680%5Cx2d4e95%5Cx2d9a31%5Cx2d2cc907d421cb/.ostree/repo):
No such file or directory
This patch avoids such errors by using g_file_new_for_uri() instead of
g_file_new_for_path(), so that GLib handles the %-decoding for us.
Bug report by user:
https://community.endlessos.com/t/can-not-install-vlc-from-usb-drive-3-9-3/16353
Phaedrus Leeds [Wed, 10 Mar 2021 18:01:04 +0000 (10:01 -0800)]
pull: Fix some whitespace and a comment
OpenShift Merge Robot [Tue, 9 Mar 2021 13:27:50 +0000 (14:27 +0100)]
Merge pull request #2292 from pwithnall/summary-leak
ostree-repo-pull: Fix a leak of the summary data if loading from cache
Philip Withnall [Tue, 9 Mar 2021 11:47:23 +0000 (11:47 +0000)]
ostree-repo-pull: Fix a leak of the summary data if loading from cache
If the `summary_sig_not_modified` branch is taken above, both
`signatures` and `summary` are loaded from the cache. This makes the
`_ostree_repo_load_cache_summary_if_same_sig()` call below redundant (it
checks `signatures` matches the file it was just loaded from, and then
loads `summary` again) — but that call also currently overwrites
`summary` without clearing the old value.
Fix this by only making that call if `signatures` was retrieved, but the
server said the local `summary` cache was invalid.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
OpenShift Merge Robot [Mon, 8 Mar 2021 22:49:34 +0000 (23:49 +0100)]
Merge pull request #2290 from ostreedev/fix-repo-modes-docs
man: Add missing repo mode in config docs
Phaedrus Leeds [Mon, 8 Mar 2021 21:18:31 +0000 (13:18 -0800)]
man: Add missing repo mode in config docs
OpenShift Merge Robot [Fri, 5 Mar 2021 00:34:17 +0000 (19:34 -0500)]
Merge pull request #2288 from leograba/master
docs: Add Torizon to related projects and OS
Leonardo Graboski Veiga [Thu, 4 Mar 2021 19:55:30 +0000 (16:55 -0300)]
docs: Add Torizon to related projects and OS
The Torizon platform, includin the TorizonCore OS, the TorizonCore
Builder Tool and the Torizon OTA, use OSTree as a base for update the
host OS, while the user focus on application development using Docker.
Add TorizonCore to the list of Operating systems and distributions using
OSTree.
Add Torizon and its components to the list of related projects.
OpenShift Merge Robot [Wed, 3 Mar 2021 19:36:52 +0000 (14:36 -0500)]
Merge pull request #2287 from jlebon/pr/deployment-parsing-comments
lib/sysroot: Add comments and debug statements around sysroot parsing
Jonathan Lebon [Tue, 2 Mar 2021 20:24:02 +0000 (15:24 -0500)]
lib/sysroot: Add comments and debug statements around sysroot parsing
Was looking at this code more closely today to investigate issues
related to bootlink mismatches (#2283).
OpenShift Merge Robot [Sun, 28 Feb 2021 15:21:15 +0000 (16:21 +0100)]
Merge pull request #2285 from cgwalters/log-bootloader-stuff
deploy: Add subbootversion to journal
Colin Walters [Fri, 26 Feb 2021 00:42:58 +0000 (00:42 +0000)]
deploy: Add subbootversion to journal
To help debug an issue we've seen where `/boot` isn't
in sync with the `/ostree/boot` dir, let's log to the journal
what we're doing.
OpenShift Merge Robot [Fri, 26 Feb 2021 00:59:56 +0000 (01:59 +0100)]
Merge pull request #2284 from cgwalters/use-rpmostree-client
tests/inst: Switch to rpmostree-client from git
Colin Walters [Wed, 17 Feb 2021 21:59:15 +0000 (21:59 +0000)]
tests/inst: Switch to rpmostree-client from git
See discussion in https://github.com/coreos/rpm-ostree/pull/2569#issuecomment-
780569188
Currently pinned to a hash, but after the next stable release let's switch to tags
OpenShift Merge Robot [Fri, 19 Feb 2021 03:44:21 +0000 (22:44 -0500)]
Merge pull request #2282 from cgwalters/resolve-nullable
refs: Make ostree_repo_resolve_rev{,_ext}() use (nullable)
Colin Walters [Fri, 19 Feb 2021 01:10:26 +0000 (01:10 +0000)]
refs: Make ostree_repo_resolve_rev{,_ext}() use (nullable)
We have an `allow_noent` boolean that controls this, but
were missing the `(nullable)` annotation, so the Rust bindings
panic when the ref doesn't exist instead of being `Option<GString>`.
OpenShift Merge Robot [Wed, 17 Feb 2021 22:06:34 +0000 (17:06 -0500)]
Merge pull request #2280 from cgwalters/readme-fix-contributing
README.md: Fix contributing link, add contact section
Colin Walters [Tue, 16 Feb 2021 15:48:33 +0000 (15:48 +0000)]
README.md: Fix contributing link, add contact section
Came up on #fedora-iot channel.
OpenShift Merge Robot [Fri, 12 Feb 2021 17:26:03 +0000 (12:26 -0500)]
Merge pull request #2279 from cgwalters/doc-scratch-delta
docs: Describe using scratch/empty deltas for initial fetches
Colin Walters [Thu, 11 Feb 2021 21:19:18 +0000 (21:19 +0000)]
docs: Describe using scratch/empty deltas for initial fetches
Came up with a user hitting ratelimiting from S3.
OpenShift Merge Robot [Fri, 5 Feb 2021 16:43:37 +0000 (11:43 -0500)]
Merge pull request #2277 from cgwalters/ci-asan
Add --enable-sanitizers, fix `make check` with it
Colin Walters [Wed, 3 Feb 2021 14:48:49 +0000 (14:48 +0000)]
Add --enable-sanitizers, fix `make check` with it
It's cleaner if this is an build option rather than being
kludged into the CI layer.
Notably we can't use `LD_PRELOAD` anymore with ASAN, so update
our tests to check for `ASAN_OPTIONS`.
OpenShift Merge Robot [Wed, 3 Feb 2021 15:07:44 +0000 (10:07 -0500)]
Merge pull request #2274 from cgwalters/delta-leak
deltas: Fix leak of matches
OpenShift Merge Robot [Wed, 3 Feb 2021 14:58:42 +0000 (09:58 -0500)]
Merge pull request #2275 from cgwalters/ci-rework
CI: run as non-root and add sanitizer build+check
OpenShift Merge Robot [Wed, 3 Feb 2021 13:58:43 +0000 (08:58 -0500)]
Merge pull request #2276 from lucab/ups/tests-enhance-destructive
tests/ext/destructive: enhance test logic
Luca BRUNO [Wed, 3 Feb 2021 10:04:10 +0000 (10:04 +0000)]
tests/ext/destructive: enhance test logic
This enhances external-tests logic, ensuring that destructive tests
have retries and some context to pinpoint failures, and that failed-state
services are reset between iterations.
Colin Walters [Tue, 2 Feb 2021 21:03:53 +0000 (21:03 +0000)]
deltas: Fix leak of matches
Found by ASAN.
OpenShift Merge Robot [Tue, 2 Feb 2021 21:21:24 +0000 (16:21 -0500)]
Merge pull request #2273 from cgwalters/link-stb-apt2ostree
README.md: Also link apt2ostree
Colin Walters [Tue, 2 Feb 2021 21:04:18 +0000 (21:04 +0000)]
ci: Add new build-check-sanitized.sh
All C/C++ projects should use the sanitizers (and static analysis)
in their CI. We had this but lost it in one of our CI shuffles;
let's readd it.
Colin Walters [Tue, 2 Feb 2021 21:08:54 +0000 (21:08 +0000)]
ci: Don't install deps if running as non-root
This way we run in Prow too.
Colin Walters [Sun, 31 Jan 2021 16:07:05 +0000 (16:07 +0000)]
README.md: Also link apt2ostree
Since the topic of Debian+ostree-for-host comes up fairly often.
OpenShift Merge Robot [Tue, 12 Jan 2021 22:34:03 +0000 (17:34 -0500)]
Merge pull request #2267 from dbnicholson/pull-depth-fixes
Pull depth fixes
Dan Nicholson [Mon, 11 Jan 2021 23:52:34 +0000 (16:52 -0700)]
pull: Fix local pull with depth and truncated source history
The local pull path was erroring on any missing commit, but that
prevents a depth pull where the source repo has truncated history. As in
the remote case, this also tries to pull in a tombstone commit if the
source repo supports it.
Fixes: #2266
Dan Nicholson [Mon, 11 Jan 2021 19:40:38 +0000 (12:40 -0700)]
pull: Error on depth pull with missing head commit
When pulling with depth, missing parent commits are ignored. However,
the check was applying to any commit, which means that it would succeed
even if the requested commit was missing. This might happen on a
corrupted remote repo or when using ref data from a stale summary.
To achieve this, the semantics of the `commit_to_depth` hash table is
changed slightly to only ever includes parent commits. This makes it
easy to detect when a parent commit is being referenced (although there
is a minor bug there when multiple refs are being pulled) while keeping
references to commits that need their `commitpartial` files cleaned up.
It also means that the table is only populated on depth pulls, which
saves some memory and processing in the common depth=0 case.
Fixes: #2265
OpenShift Merge Robot [Tue, 12 Jan 2021 08:38:46 +0000 (03:38 -0500)]
Merge pull request #2263 from cgwalters/createat-nullable
repo: Make ostree_repo_create_at take nullable options
OpenShift Merge Robot [Tue, 12 Jan 2021 01:27:51 +0000 (20:27 -0500)]
Merge pull request #2257 from cgwalters/fsverity
repo: Move fsverity bits to ostree-repo-verity.c
Colin Walters [Tue, 12 Jan 2021 01:20:23 +0000 (01:20 +0000)]
repo: Make ostree_repo_create_at take nullable options
Hit this when trying to use the Rust bindings.
Dan Nicholson [Mon, 11 Jan 2021 23:05:05 +0000 (16:05 -0700)]
tests: Ensure no dangling commit partials on remote depth pull
This was already being done on the local depth pull test, so this just
adds the matching logic to the remote depth pull test.
Colin Walters [Thu, 7 Jan 2021 21:17:01 +0000 (21:17 +0000)]
repo: Move fsverity bits to ostree-repo-verity.c
This file will get larger when we start doing more with fsverity.
OpenShift Merge Robot [Mon, 11 Jan 2021 14:20:30 +0000 (09:20 -0500)]
Merge pull request #2261 from cgwalters/boot-ro-more
sysroot: Handle ro /boot but rw /sysroot
Colin Walters [Sat, 9 Jan 2021 18:34:27 +0000 (18:34 +0000)]
sysroot: Handle ro /boot but rw /sysroot
The recent change in https://github.com/coreos/fedora-coreos-config/pull/659
broke some of our tests that do `mount -o remount,rw /sysroot` but
leave `/boot` read-only.
We had code for having `/boot` read-only before `/sysroot` but
in practice we had a file descriptor for `/sysroot` that we opened
before the remount that would happen later on.
Clean things up here so that in the library, we also remount
`/boot` at the same time we remount `/sysroot` if either are readonly.
Delete the legacy code for remounting `/boot` rw if we're not in
a mount namespace. I am fairly confident most users are either
using the `ostree` CLI, or they're using the mount namespace.
Colin Walters [Sat, 9 Jan 2021 20:40:55 +0000 (20:40 +0000)]
sysroot: Also maintain canonical boot_fd
Just like we hold a fd for `/sysroot`, also do so for `/boot`
instead of opening and closing it in a few places.
This is a preparatory cleanup for further work.
Colin Walters [Sat, 9 Jan 2021 20:42:43 +0000 (20:42 +0000)]
main: Unconditionally set up mount namespace
I was being very conservative initially here, but I think it's
really safe to just unconditionally set up the mount namespace.
This avoids having to check twice for a read-only `/sysroot`
(once in the binary and once in the library).
OpenShift Merge Robot [Fri, 18 Dec 2020 18:54:08 +0000 (18:54 +0000)]
Merge pull request #2254 from dbnicholson/coding-style
pull: Use GNU coding style
Dan Nicholson [Fri, 18 Dec 2020 16:13:38 +0000 (09:13 -0700)]
pull: Use GNU coding style
OpenShift Merge Robot [Fri, 18 Dec 2020 15:39:29 +0000 (15:39 +0000)]
Merge pull request #2253 from dbnicholson/pull-no-verify-bindings
pull: Allow disabling commit binding verification
Dan Nicholson [Thu, 17 Dec 2020 21:07:08 +0000 (14:07 -0700)]
pull: Allow disabling commit binding verification
In some cases such as backups or mirroring you may want to pull commits
from one repo to another even if there commits that have incorrect
bindings. Fixing the commits in the source repository to have correct
bindings may not be feasible, so provide a pull option to disable
verification.
For Endless we have several repositories that predate collection IDs and
ref bindings. Later these repositories gained collection IDs to support
the features they provide and ref bindings as the ostree tooling was
upgraded. These repositories contain released commits that were valid to
the clients they were targeting at the time. Correcting the bindings is
not really an option as it would mean invalidating the repository
history.
OpenShift Merge Robot [Wed, 2 Dec 2020 04:55:25 +0000 (05:55 +0100)]
Merge pull request #2249 from mwleeds/fix-readme-flatpak-typo
README: Fix typos of Flatpak
Phaedrus Leeds [Wed, 2 Dec 2020 01:44:51 +0000 (17:44 -0800)]
README: Fix typos of Flatpak
OpenShift Merge Robot [Wed, 2 Dec 2020 00:14:11 +0000 (01:14 +0100)]
Merge pull request #2248 from jjardon/jjardon/more_distros
README.md: Add Apertis and GNOME OS
Javier Jardón [Tue, 1 Dec 2020 20:25:20 +0000 (20:25 +0000)]
README.md: Add Apertis and GNOME OS
OpenShift Merge Robot [Mon, 30 Nov 2020 22:20:18 +0000 (23:20 +0100)]
Merge pull request #2246 from smcv/pull-summary-sigs-mtime
test-pull-summary-sigs: Set timestamps to serve expected files
Simon McVittie [Sun, 22 Nov 2020 13:17:24 +0000 (13:17 +0000)]
test-pull-summary-sigs: Set timestamps to serve expected files
If this is not done, the test can fail when the temporary directory is
a tmpfs: for example this happens during build-time testing with /var/tmp
on tmpfs or TEST_TMPDIR pointing to a tmpfs, or installed-tests with
gnome-desktop-testing-runner allocating the test directory on a tmpfs.
In particular, many of Debian's official autobuilders now do the entire
build and test procedure in a chroot hosted on a tmpfs, to improve build
performance and prevent fsync overhead.
In this situation, it appears that overwriting summary.sig with a copy
of summary.sig.2 is not sufficient for the web server to tell the
libostree client that it needs to be re-downloaded. I'm not completely
sure why, because tmpfs does appear to have sub-second-resolution
timestamps, but forcing a distinct mtime is certainly enough to
resolve it.
Resolves: https://github.com/ostreedev/ostree/issues/2245
Bug-Debian: https://bugs.debian.org/975418
Signed-off-by: Simon McVittie <smcv@collabora.com>
OpenShift Merge Robot [Thu, 19 Nov 2020 14:40:33 +0000 (15:40 +0100)]
Merge pull request #2244 from lucab/ups/docs-release-guide
templates: add release-checklist
OpenShift Merge Robot [Wed, 18 Nov 2020 16:14:05 +0000 (17:14 +0100)]
Merge pull request #2243 from lucab/ups/workflow-checkout
workflow/release: further refinements
Luca BRUNO [Wed, 18 Nov 2020 11:14:15 +0000 (11:14 +0000)]
templates: add release-checklist
This collects all release steps in a release-checklist template.
Luca BRUNO [Wed, 18 Nov 2020 10:24:19 +0000 (10:24 +0000)]
workflow/release: further refinements
This tweaks the release GH workflow further so that it only triggers
when the `configure.ac` file (which owns the version) changes.
Plus it properly checkouts the PR branch to avoid wrongly looking
at a synthetic merge commit.
OpenShift Merge Robot [Tue, 17 Nov 2020 21:38:32 +0000 (22:38 +0100)]
Merge pull request #2242 from stb-tester/tarball-import-xattrs
ostree commit --tree=tar: Import xattrs from tarballs
William Manley [Tue, 17 Nov 2020 00:46:10 +0000 (00:46 +0000)]
ostree commit --tree=tar: Import xattrs from tarballs
If you specify an `xattr_callback` the xattrs will still be taken from
there for now.
OpenShift Merge Robot [Tue, 17 Nov 2020 15:18:58 +0000 (16:18 +0100)]
Merge pull request #2241 from lucab/release-2020.8
Release 2020.8
Luca BRUNO [Tue, 17 Nov 2020 10:50:56 +0000 (10:50 +0000)]
configure: post-release version bump
Luca BRUNO [Tue, 17 Nov 2020 10:14:16 +0000 (10:14 +0000)]
Release 2020.8
OpenShift Merge Robot [Mon, 16 Nov 2020 19:33:46 +0000 (20:33 +0100)]
Merge pull request #2240 from lucab/ups/ci-pr-title
workflows/release: pattern-match on PR title
Luca BRUNO [Mon, 16 Nov 2020 17:08:52 +0000 (17:08 +0000)]
workflows/release: pattern-match on PR title
This adds an additional condition in order to run sanity check all
PRs starting with `Release` (case-insensitive).
OpenShift Merge Robot [Mon, 16 Nov 2020 16:00:01 +0000 (17:00 +0100)]
Merge pull request #2239 from lucab/ups/gh-actions
ci: run ci-release-build.sh on GitHub
Luca BRUNO [Mon, 16 Nov 2020 11:05:52 +0000 (11:05 +0000)]
ci: run ci-release-build.sh on GitHub
This adds a GitHub action in order to run ci-release-build.sh on
release PRs (detected via the `kind/release` label).
OpenShift Merge Robot [Thu, 12 Nov 2020 18:40:28 +0000 (19:40 +0100)]
Merge pull request #2232 from cgwalters/deploy-docs
deployment: Add a bunch of docs and fix annotations
OpenShift Merge Robot [Thu, 12 Nov 2020 08:34:44 +0000 (09:34 +0100)]
Merge pull request #2235 from cgwalters/checkout-some-new-style
bin/checkout: Port some to new style
OpenShift Merge Robot [Thu, 12 Nov 2020 02:01:22 +0000 (03:01 +0100)]
Merge pull request #2231 from cgwalters/some-nullable-annotations
deployment: Ensure query_deployments_for returns nullable values
Colin Walters [Fri, 6 Nov 2020 19:24:58 +0000 (19:24 +0000)]
deployment: Ensure query_deployments_for returns nullable values
Since that's a common case; hit this while working on rpm-ostree
code using the ostree-rs bindings.
Colin Walters [Fri, 6 Nov 2020 19:38:40 +0000 (19:38 +0000)]
deployment: Add a bunch of docs and fix annotations
We were missing docs for these, also add some nullability annotations.
Motivated by using these from the Rust bindings.
Colin Walters [Mon, 9 Nov 2020 19:03:12 +0000 (19:03 +0000)]
bin/checkout: Port some to new style
I was reading this code for unrelated reasons and noticed it
was still old style; port most (but not all) to new style.
OpenShift Merge Robot [Wed, 11 Nov 2020 16:01:13 +0000 (17:01 +0100)]
Merge pull request #2236 from lucab/ups/travis-xenial
ci/travis: move to newer base distro
Luca BRUNO [Tue, 10 Nov 2020 13:06:34 +0000 (13:06 +0000)]
ci/travis: move to newer base distro
This removes the old pinned distro (Ubuntu Trusty 14.04) from Travis,
moving to the newer default distro (Ubuntu Xenial 16.04).
OpenShift Merge Robot [Mon, 9 Nov 2020 18:56:24 +0000 (18:56 +0000)]
Merge pull request #2233 from cgwalters/repo-annotations
sysroot: Fix up some GI nullable annotations
Colin Walters [Fri, 6 Nov 2020 20:04:54 +0000 (20:04 +0000)]
sysroot: Fix up some GI nullable annotations
Hit `ostree_sysroot_repo()` shouldn't be nullable while using
the ostree Rust bindings.
OpenShift Merge Robot [Tue, 3 Nov 2020 22:36:14 +0000 (17:36 -0500)]
Merge pull request #2228 from jlebon/pr/drop-volatile
Drop use of `volatile`
OpenShift Merge Robot [Tue, 3 Nov 2020 17:35:06 +0000 (12:35 -0500)]
Merge pull request #2230 from alexlarsson/pull-dont-save-passed-in-summary
pull: Don't save into cache passed in GByte summaries
OpenShift Merge Robot [Tue, 3 Nov 2020 14:32:54 +0000 (15:32 +0100)]
Merge pull request #2229 from dbnicholson/static-delta-generate-annotations
lib/deltas: Annotate from checksum as nullable
Alexander Larsson [Tue, 3 Nov 2020 10:48:33 +0000 (11:48 +0100)]
pull: Don't save into cache passed in GByte summaries
The cache shouldn't be affected by the user passing in some other
summary as it may not be the "official one".
I ran into this in flatpak where the passed summary was correct, but
the re-saving of the cache updated the mtime of the cached file which
led to later http If-Modified-Since calls failing to update.
Dan Nicholson [Mon, 2 Nov 2020 23:42:30 +0000 (16:42 -0700)]
lib/deltas: Annotate from checksum as nullable
Without this you can't create a scratch delta from GI. While here,
switch the deprecated allow-none annotations to nullable.
Jonathan Lebon [Mon, 2 Nov 2020 19:53:26 +0000 (14:53 -0500)]
Drop use of `volatile`
As detailed in
gitlab.gnome.org/GNOME/glib/-/issues/600#note_877282, volatile
isn't actually needed in these contexts because the atomic operations
already give us strong enough guarantees. In GCC 11, this triggers a
diagnostic due to the volatile qualifier getting dropped anyway.
There is a WIP to do the same in glib:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
This obsoletes this downstream patch:
https://src.fedoraproject.org/rpms/ostree/c/
b8c5a6fb
OpenShift Merge Robot [Wed, 28 Oct 2020 17:31:50 +0000 (13:31 -0400)]
Merge pull request #2226 from alexlarsson/fix-gir-arg
ostree_repo_gpg_sign_data: Fix API doc argument name
Alexander Larsson [Wed, 28 Oct 2020 14:53:18 +0000 (15:53 +0100)]
ostree_repo_gpg_sign_data: Fix API doc argument name
I got:
src/libostree/ostree-repo.c:5232: Warning: OSTree: ostree_repo_gpg_sign_data: unknown parameter 'out_signature' in documentation comment, should be 'out_signatures'
OpenShift Merge Robot [Wed, 28 Oct 2020 10:39:57 +0000 (06:39 -0400)]
Merge pull request #2224 from stb-tester/bootloader-refactorings
Bootloader probing and construction refactoring
OpenShift Merge Robot [Tue, 27 Oct 2020 19:10:58 +0000 (15:10 -0400)]
Merge pull request #2225 from jlebon/pr/clear-timer
lib/fetch-curl: Unref timeout source
Jonathan Lebon [Tue, 27 Oct 2020 15:58:14 +0000 (11:58 -0400)]
lib/fetch-curl: Unref timeout source
The timeout timer should always be one-shot, so let's just always
destroy it in the callback. The main context has its own ref on it, so
it won't be freed behind its back.
This *should* fix a leak that was brought up in
https://bugzilla.redhat.com/show_bug.cgi?id=
1891761.
Reported-by: Milan Crha <mcrha@redhat.com>
Jonathan Lebon [Tue, 27 Oct 2020 15:57:00 +0000 (11:57 -0400)]
lib/fetcher-curl: Use G_SOURCE_REMOVE instead of FALSE
They're equivalent, though I prefer the former because it's more
descriptive and it makes it really obvious that it's a `GSource`
callback.
William Manley [Tue, 27 Oct 2020 13:24:46 +0000 (13:24 +0000)]
fixup! Refactor `ostree_sysroot_query_bootloader`
William Manley [Tue, 27 Oct 2020 12:35:29 +0000 (12:35 +0000)]
fixup! Refactor: Centralise choosing the appropriate bootloader
William Manley [Tue, 14 Jul 2020 12:32:30 +0000 (13:32 +0100)]
Tests: Refactor bootloader-entries-crosscheck
I've made this use functions to make it easier to add support for more
bootloaders. Seeing as there will be a big diff anyway I've also adjusted
the formatting to make it pep8 compliant.
William Manley [Tue, 14 Jul 2020 11:53:17 +0000 (12:53 +0100)]
Refactor `ostree_sysroot_query_bootloader`
This is more regular, so will make it easier to add more bootloader types
in the future.
William Manley [Mon, 6 Jul 2020 15:12:29 +0000 (16:12 +0100)]
Add support for explicitly requesting any specific bootloader type
...with the `sysroot.bootloader` configuration option. This can be useful
when converting a system to use `ostree` which doesn't currently have a
bootloader configuration that `ostree` can automatically detect, and is
also useful in combination with the `--sysroot` option when provisioning a
rootfs for systems other than the one you're running `ostree admin deploy`
on.
William Manley [Mon, 6 Jul 2020 14:50:28 +0000 (15:50 +0100)]
Refactor: sysroot.bootloader: Store enum value rather than string
It's easier to extend and it centralises the config parsing. In other
places we will no longer need to use `g_str_equal` to match these values,
a `switch` statement will be sufficient.
William Manley [Mon, 6 Jul 2020 13:54:31 +0000 (14:54 +0100)]
Refactor: Centralise choosing the appropriate bootloader
In preparation for enhancing `_ostree_sysroot_query_bootloader`
William Manley [Mon, 6 Jul 2020 13:58:35 +0000 (14:58 +0100)]
ostree_repo_get_bootloader: Document transfer none
I think this may affect bindings too.