Dan Nicholson [Wed, 28 Apr 2021 19:25:38 +0000 (13:25 -0600)]
build-sys: Bump required GLib to 2.44
This will allow usage of `GMutexLocker`. This should be available on
many older distros:
* RHEL 7 - 2.56.1
* RHEL 8 - 2.56.4
* Debian 9 stretch (oldstable) - 2.50.3
* Debian 10 buster (stable) - 2.58.3
* Ubuntu 16.04 xenial - 2.48.2
* Ubuntu 18.04 bionic - 2.56.4
Dan Nicholson [Thu, 29 Apr 2021 03:13:15 +0000 (21:13 -0600)]
repo: Require lock type in ostree_repo_lock_pop
This simplifies the lock state management considerably since the
previously pushed type doesn't need to be tracked. Instead, 2 counters
are kept to track how many times each lock type has been pushed. When
the number of exclusive locks drops to 0, the lock transitions back to
shared.
Colin Walters [Thu, 15 Apr 2021 00:43:53 +0000 (20:43 -0400)]
repo: Make locking APIs public
Doing anything even somewhat sophisticated requires this;
turns out our own `ostree prune` CLI wants this, e.g.
https://github.com/ostreedev/ostree/issues/2337
Closes: https://github.com/ostreedev/ostree/issues/2286
Dan Nicholson [Thu, 3 Jun 2021 22:56:07 +0000 (16:56 -0600)]
Merge pull request #2367 from dbnicholson/gpg-2.3.0-expire-test-regression
tests/gpg: Don't assert subkey expiration when only primary expired
Dan Nicholson [Fri, 28 May 2021 21:23:54 +0000 (15:23 -0600)]
tests/gpg: Don't assert subkey expiration when only primary expired
In gnupg 2.3.0[1], if a primary key is expired and a subkey does not
have an expiration or its expiration is older than the primary key, the
subkey's expiration will be reported as the primary's. Previously a
subkey without an expiration would not report one regardless of the
primary key's expiration.
This caused a regression in a test setting an expiration on a primary
key. The test was checking that the subkey was not expired by asserting
that there was no `Key expired` line in the signature verification
output. With gnupg 2.3.0+, it will show as expired, causing the test to
fail.
Remove the assertion since it's not consistent across gnupg versions. In
practice we don't care whether the subkey is considered expired or not
as long as the signature verification fails when the primary key is
expired.
1. https://dev.gnupg.org/T3343
Fixes: #2359
Colin Walters [Wed, 26 May 2021 12:58:27 +0000 (08:58 -0400)]
Merge pull request #2364 from cgwalters/fix-ci-f34
ci: Fix staged-delay to work with newer systemd
Colin Walters [Tue, 25 May 2021 20:37:07 +0000 (16:37 -0400)]
Merge pull request #2365 from dbnicholson/apidoc-permissions
workflow/docs: Give token write permission to push gh-pages
Colin Walters [Tue, 25 May 2021 20:28:19 +0000 (16:28 -0400)]
ci: Fix staged-delay to work with newer systemd
Yeah, we should stop parsing the text; I need to dig at that
at some point.
Dan Nicholson [Tue, 25 May 2021 20:25:28 +0000 (14:25 -0600)]
workflow/docs: Give token write permission to push gh-pages
The ostree repo has read permissions set for workflows, which prevents
the documentation job from pushing the built docs to the gh-pages
branch. Raise the job's permissions to write for repo contents to allow
that.
Colin Walters [Tue, 25 May 2021 19:10:47 +0000 (15:10 -0400)]
Merge pull request #2363 from dbnicholson/publish-api-docs
Publish libostree API docs
Dan Nicholson [Thu, 20 May 2021 22:03:56 +0000 (16:03 -0600)]
docs: Copy in API docs and add link
Make a copy of `apidoc/html` to `docs/reference` and then tell Jekyll to
include it verbatim. This will include the gtk-doc API docs on the
static site. A link is added to the main index.
A script is added to do the copy (a symlink won't do) and is setup to
run before Jekyll in the GitHub workflow. Ideally this would be a local
Jekyll plugin to make the process automatic, but the github-pages gem
doesn't allow that.
Dan Nicholson [Thu, 20 May 2021 22:03:25 +0000 (16:03 -0600)]
docs: Add github workflow for building and publishing docs
This uses the Jekyll Actions GitHub action to push the rendered docs to
the gh-pages branch rather than GitHub's automated docs flow. That will
allow greater control over how the docs are generated. Pushing to the
gh-pages branch only happens on pushes to main. For pull requests, the
docs are only built.
Dan Nicholson [Thu, 20 May 2021 20:48:16 +0000 (14:48 -0600)]
docs: Provide bundler setup for building site locally
This mimics the GitHub Pages environment so that you can build and serve
the site locally for testing. It's will also be required later for using
Jekyll Actions[1] instead of the automated GitHub Pages flow.
1. https://github.com/marketplace/actions/jekyll-actions
Dan Nicholson [Thu, 20 May 2021 22:42:29 +0000 (16:42 -0600)]
docs: Fix CONTRIBUTING link
This returns a 404 since the site is already generated from the docs
directory. Furthermore, the `CONTRIBUTING.md` markdown file isn't in the
generated site, just the HTML.
Instead, use jekyll's `link` tag to create the link. Unfortunately,
before jekyll 4.0 (github-pages uses 3.9), you have to prepend the base
URL.
Colin Walters [Tue, 11 May 2021 15:45:38 +0000 (11:45 -0400)]
Merge pull request #2358 from travier/rename
*: rename master branch to main
Timothée Ravier [Fri, 7 May 2021 14:44:06 +0000 (16:44 +0200)]
*: rename master branch to main (external repos)
Timothée Ravier [Fri, 7 May 2021 14:42:37 +0000 (16:42 +0200)]
*: rename master to main in tests & examples
Timothée Ravier [Fri, 7 May 2021 14:38:16 +0000 (16:38 +0200)]
*: rename master branch to main
Timothée Ravier [Fri, 7 May 2021 14:37:56 +0000 (16:37 +0200)]
packit: update for F34, rawhide branch & master rename
Colin Walters [Mon, 3 May 2021 17:10:09 +0000 (13:10 -0400)]
Merge pull request #2356 from miabbott/usretc
docs: typo fix for /usr/etc
Micah Abbott [Mon, 3 May 2021 14:34:01 +0000 (10:34 -0400)]
docs: typo fix for /usr/etc
Dan Nicholson [Fri, 30 Apr 2021 16:14:52 +0000 (10:14 -0600)]
Merge pull request #2355 from jlebon/pr/etc-merge-moar-docs
docs: Add more details about 3-way merge
Jonathan Lebon [Fri, 30 Apr 2021 14:50:15 +0000 (10:50 -0400)]
docs: Add more details about 3-way merge
This came up a few times so let's go into more details in the docs.
Jonathan Lebon [Tue, 27 Apr 2021 19:23:02 +0000 (15:23 -0400)]
Merge pull request #2354 from cgwalters/fix-gh-action
ci: Fix GH action for rustfmt
Jonathan Lebon [Tue, 27 Apr 2021 18:09:10 +0000 (14:09 -0400)]
Merge pull request #2353 from cgwalters/uri-scheme-hardening
pull: Cleanly error out on unknown schemes
Colin Walters [Tue, 27 Apr 2021 15:35:13 +0000 (11:35 -0400)]
pull: Cleanly error out on unknown schemes
Previous to this we'd trip an assertion `abort()` deep in the curl code if e.g.
a user did `ostree remote add foo htttp://...` etc.
Motivated by considering supporting "external remotes" where code outside
ostree does a pull, but we want to reuse the signing verification infrastructure.
Colin Walters [Tue, 27 Apr 2021 17:08:57 +0000 (13:08 -0400)]
ci: Fix GH action for rustfmt
Since we now have a toplevel workspace, just use that.
Colin Walters [Tue, 20 Apr 2021 12:57:28 +0000 (08:57 -0400)]
Merge pull request #2352 from dbnicholson/skip-summary-cache-envvar
tests: Test without a cache directory by default
Dan Nicholson [Mon, 19 Apr 2021 17:00:20 +0000 (11:00 -0600)]
tests: Test without a cache directory by default
Several tests generate summaries and then expect to use the generated
summary immediately. However, this can cause intermittent test failures
when they inadvertantly get a cached summary file. This typically
happens when the test is run on a filesystem that doesn't support user
extended attributes. In that case, the caching code can only use the
last modified time, which only has 1 second granularity. If tests don't
carefully manage the summary modification times or the repo cache then
they are likely subject to races in some test environments.
This introduces an environment variable `OSTREE_SKIP_CACHE` that
prevents the repo from using a cache directory. This is enabled by
default in tests and disabled for tests that are a explicitly trying to
test the caching behavior.
Fixes: #2313
Fixes: #2351
Colin Walters [Sun, 18 Apr 2021 12:54:49 +0000 (08:54 -0400)]
Merge pull request #2350 from smcv/trap-err
libtest: On failure, make it clearer what has happened
Simon McVittie [Sun, 18 Apr 2021 11:16:45 +0000 (12:16 +0100)]
libtest: On failure, make it clearer what has happened
If we fail as a result of `set -x`, It's often not completely obvious
which command failed or how. Use a trap on ERR to show the command that
failed, and its exit status.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Colin Walters [Thu, 15 Apr 2021 23:32:11 +0000 (19:32 -0400)]
Merge pull request #2343 from cgwalters/cargo-workspace
build-sys: Add toplevel workspace Cargo.toml
Colin Walters [Thu, 15 Apr 2021 19:40:30 +0000 (15:40 -0400)]
Merge pull request #2346 from cgwalters/release-2021-2
Release 2021.2
Colin Walters [Thu, 15 Apr 2021 17:02:19 +0000 (13:02 -0400)]
configure: post-release version bump
Colin Walters [Thu, 15 Apr 2021 16:58:31 +0000 (12:58 -0400)]
Release 2021.2
Colin Walters [Thu, 15 Apr 2021 14:43:33 +0000 (10:43 -0400)]
tests/inst: Make nondestructive tests runnable as unit tests
Ideally in the future we change more of our unit tests to
support running installed; we've tried this in the past with
https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
I'd like to pick that back up again. This takes a step
towards that by having our Rust tests.
To make this even easier, add a `tests/run-installed`
which runs the installed tests (uninstalled, confusingly
but conveniently for now).
Colin Walters [Thu, 15 Apr 2021 15:13:31 +0000 (11:13 -0400)]
build-sys: Add toplevel workspace Cargo.toml
rust-analyzer is happier with this because it understands
the project structure out of the box.
We aren't actually again adding a dependency on Rust/cargo in the core,
this is only used to make `cargo build` work out of the box to build
the Rust test code.
Luca Bruno [Tue, 13 Apr 2021 12:14:52 +0000 (12:14 +0000)]
Merge pull request #2336 from bgilbert/edit
docs: fix "Edit this page on GitHub" links
Jonathan Lebon [Mon, 12 Apr 2021 20:48:27 +0000 (16:48 -0400)]
Merge pull request #2335 from cgwalters/write-regfile-api
Benjamin Gilbert [Sat, 10 Apr 2021 02:58:54 +0000 (22:58 -0400)]
docs: fix "Edit this page on GitHub" links
Colin Walters [Fri, 9 Apr 2021 22:29:55 +0000 (22:29 +0000)]
repo: Ensure we set the size for regfile inline
Need to clean up the internal APIs for this.
Colin Walters [Fri, 9 Apr 2021 21:54:21 +0000 (21:54 +0000)]
tests: More tests for inline writing
I'm hitting a bug, add more tests.
Colin Walters [Fri, 9 Apr 2021 00:35:54 +0000 (00:35 +0000)]
repo: Add ostree_repo_write_regfile
This API is push rather than pull, which makes it much more
suitable to use cases like parsing a tar file from external
code.
Now, we have a large mess in this area internally because
the original file writing code was pull based, but static
deltas hit the same problem of wanting a push API, so I added
this special `OstreeRepoBareContent` just for writing regular
files from a push API.
Eventually...I'd like to deprecate the pull based API,
and rework things so that for regular files the push API
is the default, and then `write_content_object()` would
be split up into archive/bare cases.
In this world the `ostree_repo_write_content()` API would
then need to hackily bridge pull to push and it'd be
less efficient.
Anyways for now due to this bifurcation, this API only
works on non-archive repositories, but that's fine for
now because that's what I want for the `ostree-ext-container`
bits.
Jonathan Lebon [Fri, 9 Apr 2021 17:35:06 +0000 (13:35 -0400)]
Merge pull request #2334 from cgwalters/write-symlink
repo: Add ostree_repo_write_symlink
Colin Walters [Wed, 7 Apr 2021 21:03:15 +0000 (21:03 +0000)]
repo: Add ostree_repo_write_symlink
Continuation of the addition of `ostree_repo_write_regfile_inline()`.
This will be helpful for ostree-rs-ext and importing from tar, it's
quite inefficient and awkward for small files to end up creating
a whole `GInputStream` and `GFileInfo` and etc. for small files.
Colin Walters [Thu, 8 Apr 2021 21:09:11 +0000 (17:09 -0400)]
Merge pull request #2327 from cgwalters/writing-apis
repo: Add ostree_repo_write_regfile_inline
Colin Walters [Thu, 8 Apr 2021 18:23:22 +0000 (14:23 -0400)]
Merge pull request #2333 from dbnicholson/travis-32bit
Add back a travis 32 bit build
Dan Nicholson [Thu, 8 Apr 2021 17:49:19 +0000 (11:49 -0600)]
travis: Add back a 32 bit i386 build
Although people are likely not deploying on 32 bit x86 anymore,
deploying on 32 bit armv7 is still often used. Add back an i386 build on
debian to try to catch 32 bit bugs in CI.
Dan Nicholson [Thu, 8 Apr 2021 17:45:13 +0000 (11:45 -0600)]
travis: Correct ci_suite settings for buster
The install script no longer uses this anymore and maybe it should just
be removed, but in the meantime it should at least be correct.
Colin Walters [Thu, 8 Apr 2021 16:58:01 +0000 (12:58 -0400)]
Merge pull request #2332 from dbnicholson/ubuntu-ci
travis: Don't ask any debconf questions when installing packages
Dan Nicholson [Thu, 8 Apr 2021 16:33:12 +0000 (10:33 -0600)]
travis: Drop i386 Ubuntu target
Ubuntu dropped i386[1], so there's no sense in attempting the build
there. In 2021 I don't think it's worth the trouble to keep doing that,
but if desired Debian still supports it.
1. https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Upgrades_on_i386
Dan Nicholson [Thu, 8 Apr 2021 16:22:21 +0000 (10:22 -0600)]
travis: Don't ask any debconf questions when installing packages
Currently the Ubuntu builds are stuck waiting for an answer on what
timezone to use. That could be fixed, but generally the way to do these
types of installs is to set the DEBIAN_FRONTEND environment variable to
`noninteractive` so that debconf just chooses a default. This is what
debootstrap does, for instance. I tested installing tzdata on a local
focal container this way and it just chooses `Etc/UTC` as the timezone.
Dan Nicholson [Thu, 8 Apr 2021 15:44:12 +0000 (09:44 -0600)]
Merge pull request #2331 from cgwalters/update-travis-ubuntu
travis: Bump Ubuntu versions
Colin Walters [Thu, 8 Apr 2021 15:36:08 +0000 (15:36 +0000)]
travis: Bump Ubuntu versions
xenial is EOL soon, let's bump to the latest LTS and the latest.
Colin Walters [Wed, 7 Apr 2021 21:03:15 +0000 (21:03 +0000)]
repo: Add ostree_repo_write_regfile_inline
When working on ostree-ext and importing from tar, it's
quite inefficient and awkward for small files to end up creating
a whole `GInputStream` and `GFileInfo` and etc. for small files.
Plus the gtk-rs binding API to map from `impl Read` to Gio
https://docs.rs/gio/0.9.1/gio/struct.ReadInputStream.html
requires that the input stream is `Send` but the Rust `tar` API
isn't.
This is only 1/3 of the problem; we also need similar APIs
to directly create a symlink, and to stream large objects via
a push-based API.
Luca Bruno [Thu, 8 Apr 2021 14:54:42 +0000 (14:54 +0000)]
Merge pull request #2330 from cgwalters/silence-libarchive-warning
tests: Silence a gcc warning
Colin Walters [Thu, 8 Apr 2021 14:45:28 +0000 (14:45 +0000)]
tests: Silence a gcc warning
We can't mix `goto` and `__attribute__((cleanup))`.
Luca Bruno [Thu, 8 Apr 2021 08:12:59 +0000 (08:12 +0000)]
Merge pull request #2326 from cgwalters/writing-api-prep
core: Drop unused error handling from object stream helper
Luca Bruno [Thu, 8 Apr 2021 08:10:05 +0000 (08:10 +0000)]
Merge pull request #2324 from cgwalters/test-use-ex
Various patches for tests/inst
Dan Nicholson [Wed, 7 Apr 2021 21:31:40 +0000 (15:31 -0600)]
Merge pull request #2323 from cgwalters/remove-experimental
build-sys: Remove --enable-experimental-api
Colin Walters [Wed, 7 Apr 2021 20:01:07 +0000 (20:01 +0000)]
core: Drop unused error handling from object stream helper
I was going to add some new API and I noticed that this function
never returns an error; presumably at one point it did, but
not anymore. It simplifies the code flow noticeably
to remove that.
Colin Walters [Wed, 7 Apr 2021 19:50:30 +0000 (15:50 -0400)]
Merge pull request #2325 from dbnicholson/apidoc-gitignore
API doc gitignore cleanup
Dan Nicholson [Wed, 7 Apr 2021 19:37:53 +0000 (13:37 -0600)]
Ensure consistent apidoc .gitignore
If you don't configure with --enable-gtk-doc, these won't be included in
the generated .gitignore. If you later configure with --enable-gtk-doc
in the same checkout, they'll show up as untracked files. Include them
in GITIGNOREFILES to ensure they're always added regardless of configure
options.
Dan Nicholson [Wed, 7 Apr 2021 19:36:01 +0000 (13:36 -0600)]
Remove apidoc .gitignore from version control
Like the top level .gitignore, there's no reason to track this if it's
being generated automatically. It only produces spurious diff changes
that you almost certainly don't want.
Colin Walters [Wed, 7 Apr 2021 17:10:44 +0000 (17:10 +0000)]
build-sys: Remove --enable-experimental-api
It was added for the collections bits, but we made that stable.
It's now just cruft and we're very unlikely to reuse the infrastructure
again.
Motivated by a unit test failure when running from a tarball:
https://github.com/ostreedev/ostree/issues/2313
Colin Walters [Wed, 7 Apr 2021 17:43:03 +0000 (17:43 +0000)]
tests/inst: Update tokio, hyper and nix
Colin Walters [Wed, 7 Apr 2021 17:40:26 +0000 (17:40 +0000)]
tests/inst: Update rpm-ostree client
Colin Walters [Wed, 7 Apr 2021 17:37:26 +0000 (17:37 +0000)]
tests/inst: Update ostree crate
Colin Walters [Wed, 7 Apr 2021 17:36:04 +0000 (17:36 +0000)]
tests: Drop openat override
No longer needed.
Colin Walters [Sat, 27 Mar 2021 14:06:22 +0000 (14:06 +0000)]
core: Fix lgtm.com warning about always true `if (bits > 0)`
Since we're not going to change this, let's constant fold the logic
here.
Colin Walters [Fri, 26 Mar 2021 19:46:25 +0000 (19:46 +0000)]
manual-tests: Fix unused variables
lgtm.com harshly makes our JS grade "D" due to these unused
variables.
Colin Walters [Mon, 5 Apr 2021 21:00:07 +0000 (21:00 +0000)]
build-sys: Include all mkinitcpio bits
It's still so tempting to switch to `git archive` to ship sources.
Closes: https://github.com/ostreedev/ostree/issues/2312
Stefan Berger [Wed, 31 Mar 2021 20:41:32 +0000 (16:41 -0400)]
rofiles-fuse: Enable support for setting and getting xattrs
Enable support for setting and getting xattrs. Allow modifications
to xattrs only on user.ima xattr.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Co-authored-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 30 Mar 2021 20:51:51 +0000 (20:51 +0000)]
repo: Ensure load_variant_if_exists sets NULL value
Spotted by @jlebon - we usually expect callers to zero, but
let's be explicit.
Colin Walters [Tue, 30 Mar 2021 20:00:13 +0000 (20:00 +0000)]
repo: Fix load_variant_if_exists to return a nullable value
Another introspection fix I hit when trying to use this in Rust.
Colin Walters [Fri, 26 Mar 2021 14:12:37 +0000 (14:12 +0000)]
cci: Update for buildroot changes
See latest in https://github.com/coreos/fedora-coreos-tracker/blob/master/docs/ci-and-builds.md
Colin Walters [Fri, 26 Mar 2021 21:52:26 +0000 (21:52 +0000)]
tests/pull-test: Use mv -f in a few cases
For some reason I'm hitting this locally because some files are mode `0`.
Which is clearly a different bug but anyways we don't want to prompt.
Colin Walters [Fri, 26 Mar 2021 21:38:51 +0000 (21:38 +0000)]
installdeps: Drop PyYAML
Doesn't exist anymore in f33 and we don't depend on python2 anymore.
Felix Krull [Fri, 26 Mar 2021 19:31:01 +0000 (20:31 +0100)]
lib: fix some version tags
Jonathan Lebon [Fri, 26 Mar 2021 18:08:06 +0000 (14:08 -0400)]
Merge pull request #2315 from cgwalters/add-lgtm-dot-com
.lgtm.yml: Add package deps
Colin Walters [Fri, 26 Mar 2021 17:32:51 +0000 (17:32 +0000)]
.lgtm.yml: Add package deps
I was recently looking at systemd's CI and came across this.
AFAICS it's a proprietary analysis but it looks useful.
We still have `clang-analyzer` for example for FOSS analysis.
Colin Walters [Fri, 19 Mar 2021 22:23:16 +0000 (22:23 +0000)]
configure: post-release version bump
Colin Walters [Fri, 19 Mar 2021 21:53:37 +0000 (21:53 +0000)]
Release 2021.1
Colin Walters [Mon, 22 Mar 2021 22:58:39 +0000 (18:58 -0400)]
Merge pull request #2309 from jlebon/pr/prefix-pull
lib/pull: Add some error-prefixing in dirtree scanning
Jonathan Lebon [Mon, 22 Mar 2021 20:31:06 +0000 (16:31 -0400)]
lib/pull: Add some error-prefixing in dirtree scanning
I think these are the paths involved in the error message at
https://github.com/coreos/rpm-ostree/issues/2250.
Jonathan Lebon [Mon, 22 Mar 2021 13:59:42 +0000 (09:59 -0400)]
Merge pull request #2306 from cgwalters/drop-core-rust
Colin Walters [Fri, 19 Mar 2021 21:45:54 +0000 (21:45 +0000)]
tests/inst: Patch to use my PR for openat
Fixes the build.
Colin Walters [Thu, 18 Mar 2021 21:54:52 +0000 (21:54 +0000)]
Drop minimal rust/ library
This was my first experiment with using Rust in this way; I gained
a lot of knowledge from it. But, we don't really gain
anything from the code as it is today - while it is "bit fiddling"
code, the C code is well tested.
We have a lot of compile-time options, and trimming them will be
helpful.
We've also gotten pushback on hard requiring Rust client side.
Instead, what I'd like to do is hopefully soon create an `ostree-system`
crate that uses the existing `ostree` library and can contain
code drained from the rpm-ostree Rust and used by other projects perhaps.
So the goal here is really more Rust, but we need to focus our
efforts on where it's most valuable.
Colin Walters [Thu, 18 Mar 2021 21:46:18 +0000 (17:46 -0400)]
Merge pull request #2298 from KloudJack/remove-grub2-suffix
Add configure option for unsuffixed GRUB2 commands linux/initrd
Kenneth J. Miller [Thu, 18 Mar 2021 12:55:01 +0000 (13:55 +0100)]
Add configure option for unsuffixed GRUB2 commands
GRUB starting with version 2.02 permits the use of the linux and
initrd commands for both EFI boot in *-efi installations, as
well as 32-bit BIOS boot in i386-pc installations.
This makes the use of the -16 and -efi suffixes for BIOS and EFI
boot obsolete on systems with a modern GRUB installation.
The --with-modern-grub configure flag makes ostree use the
unsuffixed linux/initrd commands when generating a GRUB
configuration, while defaulting to the previous behaviour for
users not wanted this option.
Colin Walters [Thu, 18 Mar 2021 12:46:35 +0000 (08:46 -0400)]
Merge pull request #2301 from cgwalters/api-require-booted
sysroot: Add _require_booted_deployment() API
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.
Colin Walters [Wed, 17 Mar 2021 19:49:05 +0000 (15:49 -0400)]
Merge pull request #2303 from cgwalters/gh-actions
ci: Add a Github Action for Rust for tests/inst
Colin Walters [Wed, 17 Mar 2021 17:23:47 +0000 (17:23 +0000)]
ci: Add a Github Action for Rust for tests/inst
Let's dip our toes in GH Actions (specifically aiming to migrate
away from Travis).
Colin Walters [Wed, 17 Mar 2021 18:45:07 +0000 (18:45 +0000)]
tests/inst: cargo fmt
Colin Walters [Wed, 17 Mar 2021 18:43:10 +0000 (14:43 -0400)]
Merge pull request #2302 from cgwalters/tests-inst-clippy
tests/inst: Fix lots of `cargo clippy` warnings
Colin Walters [Wed, 17 Mar 2021 17:13:52 +0000 (17:13 +0000)]
tests/inst: Fix lots of `cargo clippy` warnings
Prep for doing this in CI.
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