Jonathan Lebon [Fri, 14 Apr 2023 16:21:05 +0000 (12:21 -0400)]
tests/kolainst: Add `make localinstall`
When hacking and testing locally with `cosa build-fast` and `kola run`,
I prefer to leave testing framework stuff within the work directory
rather than installed in my pet container. Add a `localinstall` target
for this which puts the tests in `tests/kola`. Then a simple `kola run`
will pick it up.
Jonathan Lebon [Fri, 14 Apr 2023 16:19:30 +0000 (12:19 -0400)]
tests/kola: delete unused .gitignore
AFAICT, I don't see how `runkola.sh` or the Makefile in `tests/kolainst`
can create files in `tests/kola` since it's geared towards installing
under `/usr`.
Jonathan Lebon [Fri, 14 Apr 2023 16:11:05 +0000 (12:11 -0400)]
lib/sysroot-deploy: Nuke `finalize-failure.stamp` on successful finalization
In the unusual case where one is manually finalizing staged deployments,
as can happen in testing, we expect a successful finalization to remove
the failure stamp file.
Colin Walters [Fri, 14 Apr 2023 18:44:38 +0000 (14:44 -0400)]
Merge pull request #2848 from jlebon/pr/calculate-and-cleanup-prep
Prep patches for automatic early prune
Jonathan Lebon [Thu, 13 Apr 2023 21:22:42 +0000 (17:22 -0400)]
libotutil: add utility functions for calculating directory size
Prep for future patch.
Jonathan Lebon [Thu, 13 Apr 2023 21:22:41 +0000 (17:22 -0400)]
lib/sysroot-cleanup: Make bootfs cleanup function global
Prep for future patch.
Jonathan Lebon [Thu, 13 Apr 2023 21:22:40 +0000 (17:22 -0400)]
lib/sysroot-cleanup: Factor out bootfs cleanup
Crawling through the bootfs and the deployment dirs was already mostly
separate. The only inefficiency here is that we now iterate over the
array of active deployments twice when building the hash tables. No
functional change otherwise.
Prep for future patch.
Jonathan Lebon [Thu, 13 Apr 2023 21:22:39 +0000 (17:22 -0400)]
lib/sysroot-cleanup: Drop dead code
We weren't actually using this `stbuf` anywhere.
Jonathan Lebon [Thu, 13 Apr 2023 21:22:38 +0000 (17:22 -0400)]
lib/sysroot-cleanup: Make some static utility functions global
Prep for future patch.
Jonathan Lebon [Thu, 13 Apr 2023 21:22:37 +0000 (17:22 -0400)]
lib/sysroot-cleanup: Convert bootdir listing to dfd-relative
No functional change.
Dan Nicholson [Thu, 13 Apr 2023 16:05:01 +0000 (10:05 -0600)]
Merge pull request #2547 from q66/soup3
port to libsoup3
Dan Nicholson [Fri, 7 Apr 2023 15:47:14 +0000 (09:47 -0600)]
fetcher/soup3: Rewrite without threads
soup3 works best using only the async API from a single thread[1].
Rework the fetcher to stop using worker threads. In order to maximize
session usage across requests, sessions will be reused for each main
context.
1. https://libsoup.org/libsoup-3.0/client-thread-safety.html
Dan Nicholson [Thu, 13 Apr 2023 04:34:23 +0000 (22:34 -0600)]
ci: Add test configuration with soup3
This needs to be on Debian testing for now since bullseye doesn't have
soup3.
Daniel Kolesa [Thu, 17 Feb 2022 19:12:18 +0000 (20:12 +0100)]
fetcher: add libsoup3 backend
The default is still soup2, you can use --with-soup3 to enable
the soup3 backend instead.
Dan Nicholson [Wed, 5 Apr 2023 22:26:10 +0000 (16:26 -0600)]
tests: Ensure real GIO backends aren't used
Set a few environment variables during tests to ensure fake GIO backends
are used. This is particularly important with the soup fetcher backend
as it can cause strange test errors in containerized test environments.
Upstream soup has been setting these 3 environment variables for their
tests since 2015.
Colin Walters [Thu, 23 Mar 2023 21:55:36 +0000 (17:55 -0400)]
Merge pull request #2839 from cgwalters/treegen-race
treegen: Require at least one mutation
Colin Walters [Fri, 17 Mar 2023 17:17:11 +0000 (13:17 -0400)]
treegen: Require at least one mutation
Since a later assertion would otherwise trigger. We saw
this happen in CI.
Colin Walters [Wed, 22 Mar 2023 17:07:43 +0000 (13:07 -0400)]
Merge pull request #2842 from cgwalters/release
Release 2023.2
Colin Walters [Wed, 22 Mar 2023 13:58:54 +0000 (09:58 -0400)]
configure: post-release version bump
Colin Walters [Wed, 22 Mar 2023 13:57:57 +0000 (09:57 -0400)]
Release 2023.2
Colin Walters [Fri, 17 Mar 2023 18:22:50 +0000 (14:22 -0400)]
Merge pull request #2823 from jlebon/pr/testiso-update
ci: update for new kolaTestIso()
Colin Walters [Fri, 17 Mar 2023 18:08:18 +0000 (14:08 -0400)]
Merge pull request #2838 from cgwalters/more-binding-fixes
More binding fixes
Colin Walters [Fri, 17 Mar 2023 15:54:14 +0000 (11:54 -0400)]
rust-bindings: Regenerate
This picks up more of tintou's recent changes.
Colin Walters [Fri, 17 Mar 2023 15:53:20 +0000 (11:53 -0400)]
Revert "repo: Fix nullability for remote options"
This reverts commit
c4d03d28500c75ad2bcf7b75383fc60fe7b83ca8.
Colin Walters [Fri, 17 Mar 2023 15:36:22 +0000 (11:36 -0400)]
Merge pull request #2812 from tintou/tintou/g-ir-fix
build: Do not include private headers in the introspection
Colin Walters [Fri, 17 Mar 2023 15:32:18 +0000 (11:32 -0400)]
Merge pull request #2813 from tintou/tintou/asyncprogress-typedef
libostree: Ignore new_and_connect in the introspection
Jonathan Lebon [Wed, 1 Mar 2023 14:42:46 +0000 (09:42 -0500)]
ci: update for new kolaTestIso()
The `skipMetal4k` and `skipMultipath` parameters no longer do anything.
Instead use `--denylist-test` which is interpreted directly by the
new `kola testiso` code.
This will run more tests than before. We'll likely cut down tests we
consider redundant soon, but that should be transparent to this code.
Colin Walters [Fri, 17 Mar 2023 15:28:18 +0000 (11:28 -0400)]
Merge pull request #2836 from smcv/file-info-size
Cope with GLib 2.76 being more strict about GFileInfo standard::size
Colin Walters [Fri, 17 Mar 2023 15:27:03 +0000 (11:27 -0400)]
Merge pull request #2837 from smcv/g-steal-fd
Use g_steal_fd() in preference to glnx_steal_fd()
Joseph Marrero Corchado [Fri, 17 Mar 2023 15:09:19 +0000 (11:09 -0400)]
Merge pull request #2705 from cgwalters/always-boot
Add `sysroot.bootprefix` option
Jonathan Lebon [Fri, 17 Mar 2023 13:37:40 +0000 (09:37 -0400)]
Merge pull request #2791 from cgwalters/enable-trust-return-nullability
Simon McVittie [Fri, 17 Mar 2023 13:32:26 +0000 (13:32 +0000)]
Use g_steal_fd() in preference to glnx_steal_fd()
g_steal_fd() exists in GLib since 2.70, and libglnx has a backport for
older GLib versions, equivalent to the libglnx-specific glnx_steal_fd().
Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie [Fri, 17 Mar 2023 12:56:39 +0000 (12:56 +0000)]
write_content_object: Don't assume file info has standard::size
The file info object for symlinks might validly not have this attribute.
If not, behave as though it was 0, matching what happened with older
versions of GLib.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie [Fri, 17 Mar 2023 12:54:33 +0000 (12:54 +0000)]
_ostree_zlib_file_header_new: Default size to 0
Similar to the previous commit, but for
ostree_raw_file_to_archive_z2_stream() and similar public APIs.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie [Fri, 17 Mar 2023 12:53:42 +0000 (12:53 +0000)]
ostree_raw_file_to_content_stream: Make size default to 0
Some existing code calls into ostree_raw_file_to_content_stream() with
file objects that do not have the standard::size attribute. Since GLib
2.76.0, attempting to access the size of such an object raises a
critical warning. Handle this more gracefully by defaulting the size
to 0, like earlier versions of GLib did.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Colin Walters [Fri, 17 Mar 2023 12:25:16 +0000 (08:25 -0400)]
rust: Renerate bindings
To pick up the latest introspection changes.
Colin Walters [Fri, 17 Mar 2023 12:20:16 +0000 (08:20 -0400)]
repo: Fix nullability for remote options
Unfortunately, the nullability of the output value here is
dependent on whether the `default_value` parameter is provided. There's
no way to express this in introspection or Rust.
Colin Walters [Fri, 17 Mar 2023 12:19:22 +0000 (08:19 -0400)]
lib: Fix two nullable annotations
- commit parents are optional
- remote URLs are optional
Colin Walters [Tue, 14 Mar 2023 23:50:28 +0000 (19:50 -0400)]
rust: Bump semver
Since we did a bunch of API changes due to nullability and
other introspection cleanups.
Colin Walters [Tue, 14 Mar 2023 22:11:30 +0000 (18:11 -0400)]
Add docs and fix annotations for ostree-repo-file.c
The code here is not great, embarassing we've gone this
long without docs for some of these public API functions too.
I think this is right though.
Colin Walters [Thu, 1 Dec 2022 13:10:15 +0000 (08:10 -0500)]
Enable `trust_return_value_nullability`
Several commonly used APIs currently unnecessarily return
`Option<T>`, like `ostree_deployment_get_csum()`.
Flip the gir flag for this to on; I think our annotations are
correct.
Colin Walters [Fri, 17 Mar 2023 00:27:20 +0000 (20:27 -0400)]
Merge pull request #2835 from cgwalters/more-gfileinfo
tests: Set size on fileinfo
Colin Walters [Thu, 16 Mar 2023 22:31:03 +0000 (18:31 -0400)]
tests: Set size on fileinfo
Closes: https://github.com/ostreedev/ostree/issues/2827
Colin Walters [Thu, 16 Mar 2023 11:56:56 +0000 (07:56 -0400)]
Merge pull request #2834 from evan-a-a/fix_glib
core: Ensure glib standard::size attribute is always set
Evan Anderson [Thu, 16 Mar 2023 02:33:21 +0000 (21:33 -0500)]
core: Ensure glib standard::size attribute is always set
* A recent change in glib [1] requires that the appropriate attribute
be available when calling getters. ostree core only sets this attribute
on regular files, and frequently triggers the critical warning. Solve
this by setting standard::size to zero for non-regular files.
Fixes https://github.com/ostreedev/ostree/issues/2827
[1]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3261
Colin Walters [Wed, 15 Mar 2023 14:12:23 +0000 (10:12 -0400)]
Merge pull request #2832 from cgwalters/fix-itest-pull-space
itest-pull-space: Use mkfs.ext4, align to at least 512b
Colin Walters [Wed, 15 Mar 2023 12:32:55 +0000 (08:32 -0400)]
Merge pull request #2831 from nanonyme/larger-buffer
Increase buffer size for create_regular_tmpfile_linkable_with_content
Seppo Yli-Olli [Tue, 14 Mar 2023 19:25:08 +0000 (21:25 +0200)]
Increase buffer size for create_regular_tmpfile_linkable_with_content
The small buffer size results in really bad performance under any
FUSE-based filesystems with round-trips.
Colin Walters [Tue, 14 Mar 2023 21:35:19 +0000 (17:35 -0400)]
Merge pull request #2814 from tintou/tintou/ostree-coverage
libostree: Enhance the annotation coverage
Colin Walters [Tue, 14 Mar 2023 20:51:49 +0000 (16:51 -0400)]
itest-pull-space: Use mkfs.ext4, align to at least 512b
XFS now seems to want filesystems larger than 300MB, so switch
to ext4. Also use `20MiB` so we align to 512b sectors to squash
a `losetup` warning.
Also tweak some of the numbers to still work.
Colin Walters [Mon, 13 Mar 2023 21:29:21 +0000 (17:29 -0400)]
Merge pull request #2821 from smcv/sbin-path
tests: Ensure non-root users have access to libcap tools
Colin Walters [Fri, 10 Mar 2023 19:19:18 +0000 (14:19 -0500)]
Merge pull request #2829 from pwithnall/fetcher-wakeup
lib/fetcher-util: Wake up main context when a request is complete
Colin Walters [Fri, 10 Mar 2023 19:17:09 +0000 (14:17 -0500)]
Merge pull request #2824 from cgwalters/regen-bindings
rust-bindings: Regenerate for 2023.1 && rust-bindings: `Sysroot` is `Send`
Colin Walters [Fri, 10 Mar 2023 19:16:56 +0000 (14:16 -0500)]
Merge pull request #2828 from travier/docs-theme-update
docs: Use upstream theme & update to 0.4.1
Philip Withnall [Fri, 10 Mar 2023 11:54:34 +0000 (11:54 +0000)]
lib/fetcher-util: Wake up main context when a request is complete
Since the value of `data->done` is not watched by the main context, the
context doesn’t know to wake up from `g_main_context_iteration()` when
that value is changed. The code currently relies on something else
happening to wake the main context up shortly after `data->done` is set.
That doesn’t seem very reliable, so wake the main context up explicitly.
Spotted this while reading the code while trying to debug a stall with
backtrace:
```
5 0x00007ffff68bbbfb in g_main_context_iteration (context=0x60f000136900, may_block=1) at ../../source/glib/glib/gmain.c:4343
6 0x00007fffdc0e50db in _ostree_fetcher_mirrored_request_to_membuf_once (fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", flags=OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, if_none_match=0x602002f3b7f0 "\"
640a49ff-250\"", if_modified_since=
1678395903, out_contents=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, max_size=
10485760, cancellable=0x6060004bd720, error=0x7fffdadd0ca0) at src/libostree/ostree-fetcher-util.c:95
7 0x00007fffdc0e52e0 in _ostree_fetcher_mirrored_request_to_membuf (fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", flags=OSTREE_FETCHER_REQUEST_OPTIONAL_CONTENT, if_none_match=0x602002f3b7f0 "\"
640a49ff-250\"", if_modified_since=
1678395903, n_network_retries=5, out_contents=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, max_size=
10485760, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-fetcher-util.c:155
8 0x00007fffdc08d937 in _ostree_preload_metadata_file (self=0x61600057bd80, fetcher=0x604001138c10, mirrorlist=0x603001df18b0, filename=0x7fffdc1049e7 "summary.sig", is_metalink=0, if_none_match=0x602002f3b7f0 "\"
640a49ff-250\"", if_modified_since=
1678395903, n_network_retries=5, out_bytes=0x7fffdadd0e80, out_not_modified=0x7fffdadd0e38, out_etag=0x7fffdadd0e28, out_last_modified=0x7fffdadd0e00, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo-pull.c:3329
9 0x00007fffdc099712 in ostree_repo_remote_fetch_summary_with_options (self=0x61600057bd80, name=0x6020007f4fd0 "eos-apps", options=0x0, out_summary=0x7fffdadd0f88, out_signatures=0x7fffdadd0f80, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo-pull.c:6675
10 0x00007fffdc06887f in ostree_repo_remote_fetch_summary (self=0x61600057bd80, name=0x6020007f4fd0 "eos-apps", out_summary=0x7fffdadd0f88, out_signatures=0x7fffdadd0f80, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at src/libostree/ostree-repo.c:2706
11 0x00007fffdc18f5de in flatpak_dir_remote_fetch_summary (self=0x60c00577e640, name_or_uri=0x6020007f4fd0 "eos-apps", only_cached=0, out_summary=0x7fffdadd10f0, out_summary_sig=0x7fffdadd10e8, cancellable=0x6060004bd720, error=0x7fffdadd10c0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12235
12 0x00007fffdc1918cb in _flatpak_dir_get_remote_state (self=0x60c00577e640, remote_or_uri=0x6020007f4fd0 "eos-apps", optional=1, local_only=0, only_cached=0, opt_summary_is_index=0, opt_summary=0x0, opt_summary_sig=0x0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12789
13 0x00007fffdc19206d in flatpak_dir_get_remote_state_optional (self=0x60c00577e640, remote=0x6020007f4fd0 "eos-apps", only_cached=0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:12953
14 0x00007fffdc1784f2 in flatpak_dir_update_appstream (self=0x60c00577e640, remote=0x6020007f4fd0 "eos-apps", arch=0x7fffdc239f30 "x86_64", out_changed=0x0, progress=0x6110007479c0, cancellable=0x6060004bd720, error=0x7fffdadd15a0) at /opt/gnome/source/flatpak/common/flatpak-dir.c:5182
```
I don’t think it’ll fix it (calling `g_main_context_wakeup()` on the
context in the debugger didn’t help), but it can’t hurt.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Timothée Ravier [Fri, 10 Mar 2023 11:17:16 +0000 (12:17 +0100)]
docs: Use upstream theme & update to 0.4.1
Use a fixed tag for the theme so that we can directly pull it from
upstream and skip vendoring the theme in the coreos org.
Colin Walters [Sat, 4 Mar 2023 15:54:48 +0000 (10:54 -0500)]
rust-bindings: `Sysroot` is `Send`
I want to spawn tokio worker threads referencing sysroot objects
in bootc.
Just like the repo, there's nothing thread-local about it.
Colin Walters [Sat, 4 Mar 2023 15:54:04 +0000 (10:54 -0500)]
rust-bindings: Regenerate for 2023.1
Still need to automate this...
dependabot[bot] [Mon, 27 Feb 2023 13:06:39 +0000 (13:06 +0000)]
build(deps): bump libglnx from `
4e44fd9` to `
07e3e49`
Bumps libglnx from `
4e44fd9` to `
07e3e49`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Simon McVittie [Mon, 27 Feb 2023 12:40:05 +0000 (12:40 +0000)]
tests: Ensure non-root users have access to libcap tools
On Debian systems, by default only root has /{usr/,}sbin in PATH.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Joseph Marrero Corchado [Mon, 20 Feb 2023 22:13:44 +0000 (17:13 -0500)]
Merge pull request #2818 from cgwalters/release-rust
Release rust/ bindings 0.17.1
Jonathan Lebon [Fri, 17 Feb 2023 21:47:04 +0000 (16:47 -0500)]
Merge pull request #2755 from cgwalters/use-new-selinux-arg
Colin Walters [Fri, 17 Feb 2023 18:06:14 +0000 (13:06 -0500)]
Release rust/ bindings 0.17.1
Jonathan Lebon [Fri, 17 Feb 2023 17:33:12 +0000 (12:33 -0500)]
Merge pull request #2817 from cgwalters/release
Colin Walters [Fri, 17 Feb 2023 13:27:26 +0000 (08:27 -0500)]
configure: post-release version bump
Colin Walters [Fri, 17 Feb 2023 13:25:40 +0000 (08:25 -0500)]
Release 2023.1
Corentin Noël [Thu, 9 Feb 2023 15:28:53 +0000 (16:28 +0100)]
libostree: Enhance the annotation coverage
Increase the coverage of the GObject Introspection annotation and most notably
replace the use of "allow-none" with "out" parameters to "nullable" or "optional"
as the previous annotation is deprecated and ambiguous.
Colin Walters [Thu, 9 Feb 2023 13:24:58 +0000 (08:24 -0500)]
Merge pull request #1946 from dbnicholson/ostree-metadata-api
ostree-metadata commit API
Colin Walters [Thu, 9 Feb 2023 13:10:36 +0000 (08:10 -0500)]
Merge pull request #2811 from dbnicholson/cli-polish
Various CLI improvements
Corentin Noël [Thu, 9 Feb 2023 10:47:05 +0000 (11:47 +0100)]
libostree: Ignore new_and_connect in the introspection
This function can't be correctly introspected and it is easy enough to connect
to the signal afterwards.
Corentin Noël [Wed, 8 Feb 2023 09:24:50 +0000 (10:24 +0100)]
build: Do not include private headers in the introspection
This leads to private symbols being exported.
Also specify the single C header, this relies on the gir_C_INCLUDES make variable,
which was introduced in gobject-introspection 1.51.5.
Luca Bruno [Wed, 8 Feb 2023 17:27:45 +0000 (17:27 +0000)]
Merge pull request #2792 from lucab/ups/annotation-nullable
lib/sysroot-upgrader: add some 'nullable' annotations
Luca BRUNO [Wed, 8 Feb 2023 16:28:09 +0000 (16:28 +0000)]
lib/sysroot-upgrader: add some 'nullable' annotations
Dan Nicholson [Mon, 30 Jan 2023 05:45:29 +0000 (22:45 -0700)]
bin/remote-summary: Add options to show metadata
Dan Nicholson [Mon, 30 Jan 2023 05:45:29 +0000 (22:45 -0700)]
bin/summary: Add options to show metadata
Dan Nicholson [Mon, 30 Jan 2023 05:41:52 +0000 (22:41 -0700)]
ostree/dump: Add support for summary metadata keys
Like with commit metadata, it's useful to list and print metadata keys
are in a summary file. This adds helpers to do that.
Dan Nicholson [Sun, 29 Jan 2023 21:13:05 +0000 (14:13 -0700)]
bin/show: Add options to list metadata keys
While `--print-metadata-key` is very useful, it's not that helpful if
you don't know what the keys are.
Dan Nicholson [Sun, 29 Jan 2023 16:37:03 +0000 (09:37 -0700)]
bin/remote-refs: Add option to print revisions
The only other way to get the remote ref revision from the CLI is to
scrape the output of `ostree remote summary` or pull the commit. The
revision is already there in the summary's ref map, so might as well add
an option to show it.
Dan Nicholson [Sun, 29 Jan 2023 16:23:13 +0000 (09:23 -0700)]
bin/refs: Add option to print revisions
Allow printing the revision along with the ref. This is very convenient
for looping over the refs in a shell as well as for quickly seeing which
refs are pointed to the same commit.
Dan Nicholson [Sun, 29 Jan 2023 13:49:18 +0000 (06:49 -0700)]
bin/refs: Sort listing
The output is much more readable sorted. I can't think of any reason
you'd want it unsorted (which is essentially dentry order).
Dan Nicholson [Sun, 29 Jan 2023 16:28:31 +0000 (09:28 -0700)]
bin: Cleanup documentation of --cache-dir option
In all cases documentation was missing from the manual and the bash
completion was incorrectly assigning it as a boolean option.
Dan Nicholson [Tue, 21 Jan 2020 19:43:35 +0000 (12:43 -0700)]
repo: Prevent publishing summary without matching signature
Use a temporary directory for the summary and signature file in
`ostree_repo_regenerate_metadata` so that the summary file isn't
published if signing fails. This prevents publishing a summary without a
signature file or leaving a mismatched signature file in place.
Dan Nicholson [Tue, 21 Jan 2020 18:56:09 +0000 (11:56 -0700)]
lib: Provide internal summary signing with separate directory
Refactor the summary signing APIs to use internal versions where the
directory fd containing the summary can be found. The existing signing
APIs still uses the repo directory fd, but this will allow using a
temporary directory for the summary and signature in the new metadata
generating API.
Dan Nicholson [Tue, 15 Oct 2019 22:46:59 +0000 (16:46 -0600)]
repo: Create metadata commit in ostree_repo_regenerate_metadata
Rather than creating the `ostree-metadata` commit in the summary
builtin, do it in the new `ostree_repo_regenerate_metadata` API. The
commit contents are unchanged and the commit is generated before the
summary as before. To keep from triggering an extra summary update,
automatic summary updating is disabled in the transaction.
Since the summary builtin was already using the new API, it will
continue to generate the `ostree-metadata` commit when the repo has a
collection ID. However, the `ostree_repo_regenerate_summary` API will
still only generate the summary file as before.
Dan Nicholson [Tue, 15 Oct 2019 22:31:23 +0000 (16:31 -0600)]
commit: Allow skipping automatic summary generation
If a commit is being made during summary generation, then it would
trigger the summary to be generated again. That's either unwanted busy
work or could result in an infinite loop. Add a boolean in
`OstreeRepoTxn` to disable automatic summary generation as seen fit.
Dan Nicholson [Tue, 15 Oct 2019 17:55:22 +0000 (11:55 -0600)]
bin/summary: Use ostree_repo_regenerate_metadata
Call `ostree_repo_regenerate_metadata` with the provided GPG and sign
keys to generate and sign the summary in one call. This changes the
handling when GPGME support is disabled but GPG keys are supplied.
Instead of silently ignoring the option, it will now error. IMO that's
better as callers would otherwise not know that the summary is not GPG
signed.
Dan Nicholson [Tue, 15 Oct 2019 17:41:08 +0000 (11:41 -0600)]
repo: Add API to regenerate and sign repo metadata
Currently this is just a wrapper around regenerating and signing the
summary in one call, but later it will be used to also generate the
`ostree-metadata` commit if the repo has a collection ID.
Dan Nicholson [Tue, 7 Feb 2023 21:48:15 +0000 (14:48 -0700)]
Strip trailing whitespace on all C files
My editor started following the configuration in .editorconfig and is
applying this rule to many files I'm editing. Let's just get this over
with and strip everything. This was done like so:
git ls-files | grep '\.[ch]$' | xargs sed -ri 's/\s+$//'
Colin Walters [Sun, 5 Feb 2023 13:46:44 +0000 (08:46 -0500)]
Merge pull request #2810 from tmdh/fix-docs
docs: Fix link to ostree-rs
Tareque Md Hanif [Sun, 5 Feb 2023 05:49:41 +0000 (11:49 +0600)]
docs: Fix link to ostree-rs
Colin Walters [Wed, 1 Feb 2023 13:48:14 +0000 (08:48 -0500)]
Merge pull request #2808 from jlebon/pr/lock-prune
ostree/prune: Calculate reachability under exclusive lock
Jonathan Lebon [Mon, 30 Jan 2023 18:45:50 +0000 (13:45 -0500)]
ostree/prune: Calculate reachability under exclusive lock
When we calculate the reachability set in `ostree prune`, we do this
without any locking. This means that between the time we build the set
and when we call `ostree_repo_prune_from_reachable`, new content
might've been added. This then causes us to immediately prune that
content since it's not in the now outdated set.
Fix this by calculating the set under an exclusive lock.
I think this is what happened in
https://github.com/fedora-silverblue/issue-tracker/issues/405. While
the pruner was running, the `new-updates-sync` script[1] was importing
content into the repo. The newly imported commits were immediately
deleted by the many `ostree prune --commit-only` calls the pruner does,
breaking the refs.
[1] https://pagure.io/fedora-infra/ansible/blob/
35b35127e444/f/roles/bodhi2/backend/files/new-updates-sync#_18
Colin Walters [Fri, 27 Jan 2023 13:18:06 +0000 (08:18 -0500)]
Merge pull request #2795 from cgwalters/fix-docsrs-build
bindings: Use default for uninitialized fields in checkout opts
Colin Walters [Thu, 15 Dec 2022 01:09:37 +0000 (20:09 -0500)]
bindings: Consistently check for `dox` feature
This fixes the build on docs.rs:
https://docs.rs/crate/ostree-ext/0.10.2/builds/699039
```
[INFO] running `Command { std: "docker" "start" "-a" "
7d90466f040d987cbcc393bc89f5f0688f052f49e2339c354dd731fdaf0f9667", kill_on_drop: false }`
[INFO] [stderr] Checking ostree v0.17.0
[INFO] [stderr] error[E0063]: missing field `process_passthrough_whiteouts` in initializer of `repo_checkout_at_options::RepoCheckoutAtOptions`
[INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-
1ecc6299db9ec823/ostree-0.17.0/rust-bindings/src/repo_checkout_at_options/mod.rs:61:9
[INFO] [stderr] |
[INFO] [stderr] 61 | RepoCheckoutAtOptions {
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ missing `process_passthrough_whiteouts`
```
Colin Walters [Thu, 26 Jan 2023 00:46:34 +0000 (19:46 -0500)]
Merge pull request #2807 from dbnicholson/hyper-staticfile-yanked
tests/inst: Update hyper-staticfile to 0.9.4
Dan Nicholson [Tue, 24 Jan 2023 20:18:44 +0000 (13:18 -0700)]
tests/inst: Update hyper-staticfile to 0.9.4
Due to some vulnerabilities[1][2], all versions prior to 0.9.4 have been
yanked from crates.io. There have been some API changes since 0.6.0, but
none of them affect the simple `hyper_staticfile::Static` usage here.
1. https://rustsec.org/advisories/RUSTSEC-2022-0069.html
2. https://rustsec.org/advisories/RUSTSEC-2022-0072.html
Colin Walters [Thu, 5 Jan 2023 18:26:22 +0000 (13:26 -0500)]
Merge pull request #2793 from ericcurtin/aboot-bootloader-support
bootloader: Add an aboot (Android) bootloader backend
Colin Walters [Tue, 3 Jan 2023 15:46:25 +0000 (10:46 -0500)]
Merge pull request #2799 from jeamland/replace-radix64
Replace the radix64 crate with base64
Benno Rice [Tue, 3 Jan 2023 00:54:56 +0000 (11:54 +1100)]
Replace the radix64 crate with base64
The radix64 crate was last updated over 3 years ago. On the other
hand the base64 crate appears to be far more actively maintained,
supports all the needed features and has a few orders of magnitude
more users.
Colin Walters [Mon, 2 Jan 2023 17:23:59 +0000 (12:23 -0500)]
Merge pull request #2798 from akiernan/support-musl-erange
tests: Handle musl's ERANGE mapping