Commit Graph

6339 Commits

Author SHA1 Message Date
Jonathan Lebon
45772ede3e 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.
2023-04-14 15:19:17 -04:00
Colin Walters
90f7c7bd9f
Merge pull request #2848 from jlebon/pr/calculate-and-cleanup-prep
Prep patches for automatic early prune
2023-04-14 14:44:38 -04:00
Jonathan Lebon
462d413d2e libotutil: add utility functions for calculating directory size
Prep for future patch.
2023-04-14 09:57:16 -04:00
Jonathan Lebon
a0681cd201 lib/sysroot-cleanup: Make bootfs cleanup function global
Prep for future patch.
2023-04-14 09:57:16 -04:00
Jonathan Lebon
bf974e32fc 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.
2023-04-14 09:57:16 -04:00
Jonathan Lebon
49eb8c04d5 lib/sysroot-cleanup: Drop dead code
We weren't actually using this `stbuf` anywhere.
2023-04-14 09:57:16 -04:00
Jonathan Lebon
898b1fdc70 lib/sysroot-cleanup: Make some static utility functions global
Prep for future patch.
2023-04-14 09:57:16 -04:00
Jonathan Lebon
91b6e5ded6 lib/sysroot-cleanup: Convert bootdir listing to dfd-relative
No functional change.
2023-04-14 09:55:38 -04:00
Dan Nicholson
e509b24a01
Merge pull request #2547 from q66/soup3
port to libsoup3
2023-04-13 10:05:01 -06:00
Dan Nicholson
a0407225f1 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
2023-04-13 09:00:23 -06:00
Dan Nicholson
945f0a8602 ci: Add test configuration with soup3
This needs to be on Debian testing for now since bullseye doesn't have
soup3.
2023-04-12 22:34:23 -06:00
Daniel Kolesa
d0ea2db430 fetcher: add libsoup3 backend
The default is still soup2, you can use --with-soup3 to enable
the soup3 backend instead.
2023-04-12 22:33:08 -06:00
Dan Nicholson
3ec7b5db18 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.
2023-04-12 21:42:33 -06:00
Colin Walters
c9271423b1
Merge pull request #2839 from cgwalters/treegen-race
treegen: Require at least one mutation
2023-03-23 17:55:36 -04:00
Colin Walters
cafe12cf1f treegen: Require at least one mutation
Since a later assertion would otherwise trigger.  We saw
this happen in CI.
2023-03-23 16:48:55 -04:00
Colin Walters
71902465f7
Merge pull request #2842 from cgwalters/release
Release 2023.2
2023-03-22 13:07:43 -04:00
Colin Walters
61dc678cb3 configure: post-release version bump 2023-03-22 09:58:54 -04:00
Colin Walters
29106eb939 Release 2023.2 2023-03-22 09:57:57 -04:00
Colin Walters
a63febcb02
Merge pull request #2823 from jlebon/pr/testiso-update
ci: update for new kolaTestIso()
2023-03-17 14:22:50 -04:00
Colin Walters
4cd97c62b5
Merge pull request #2838 from cgwalters/more-binding-fixes
More binding fixes
2023-03-17 14:08:18 -04:00
Colin Walters
17b6f4cdc2 rust-bindings: Regenerate
This picks up more of tintou's recent changes.
2023-03-17 11:54:14 -04:00
Colin Walters
00c41eacd2 Revert "repo: Fix nullability for remote options"
This reverts commit c4d03d2850.
2023-03-17 11:53:20 -04:00
Colin Walters
d49632faa6
Merge pull request #2812 from tintou/tintou/g-ir-fix
build: Do not include private headers in the introspection
2023-03-17 11:36:22 -04:00
Colin Walters
28731ab0e9
Merge pull request #2813 from tintou/tintou/asyncprogress-typedef
libostree: Ignore new_and_connect in the introspection
2023-03-17 11:32:18 -04:00
Jonathan Lebon
90ffc149cb 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.
2023-03-17 11:29:19 -04:00
Colin Walters
233cc8ce85
Merge pull request #2836 from smcv/file-info-size
Cope with GLib 2.76 being more strict about GFileInfo standard::size
2023-03-17 11:28:18 -04:00
Colin Walters
7b258b2499
Merge pull request #2837 from smcv/g-steal-fd
Use g_steal_fd() in preference to glnx_steal_fd()
2023-03-17 11:27:03 -04:00
Joseph Marrero Corchado
4f0c13fb8b
Merge pull request #2705 from cgwalters/always-boot
Add `sysroot.bootprefix` option
2023-03-17 11:09:19 -04:00
Jonathan Lebon
7e93837e67
Merge pull request #2791 from cgwalters/enable-trust-return-nullability 2023-03-17 09:37:40 -04:00
Simon McVittie
7b02fdfdf8 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>
2023-03-17 13:32:26 +00:00
Simon McVittie
1b29ab7d90 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>
2023-03-17 12:56:39 +00:00
Simon McVittie
9e116c0f79 _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>
2023-03-17 12:54:33 +00:00
Simon McVittie
722a4179f3 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>
2023-03-17 12:53:42 +00:00
Colin Walters
61a4a83f19 rust: Renerate bindings
To pick up the latest introspection changes.
2023-03-17 08:26:09 -04:00
Colin Walters
c4d03d2850 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.
2023-03-17 08:25:23 -04:00
Colin Walters
cbec85f2d0 lib: Fix two nullable annotations
- commit parents are optional
- remote URLs are optional
2023-03-17 08:25:23 -04:00
Colin Walters
3f27cff6cb rust: Bump semver
Since we did a bunch of API changes due to nullability and
other introspection cleanups.
2023-03-17 08:13:13 -04:00
Colin Walters
e962c2f352 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.
2023-03-17 08:13:13 -04:00
Colin Walters
351d9ffbdc 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.
2023-03-17 08:13:13 -04:00
Colin Walters
4238ef4c68
Merge pull request #2835 from cgwalters/more-gfileinfo
tests: Set size on fileinfo
2023-03-16 20:27:20 -04:00
Colin Walters
813c439352 tests: Set size on fileinfo
Closes: https://github.com/ostreedev/ostree/issues/2827
2023-03-16 18:31:03 -04:00
Colin Walters
12fac1ed99
Merge pull request #2834 from evan-a-a/fix_glib
core: Ensure glib standard::size attribute is always set
2023-03-16 07:56:56 -04:00
Evan Anderson
376c9d7eff
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
2023-03-15 22:15:55 -05:00
Colin Walters
c5bfd677ed
Merge pull request #2832 from cgwalters/fix-itest-pull-space
itest-pull-space: Use mkfs.ext4, align to at least 512b
2023-03-15 10:12:23 -04:00
Colin Walters
42aad34e0b
Merge pull request #2831 from nanonyme/larger-buffer
Increase buffer size for create_regular_tmpfile_linkable_with_content
2023-03-15 08:32:55 -04:00
Seppo Yli-Olli
931a85d3f1 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.
2023-03-15 12:04:02 +02:00
Colin Walters
c0427ec1ea
Merge pull request #2814 from tintou/tintou/ostree-coverage
libostree: Enhance the annotation coverage
2023-03-14 17:35:19 -04:00
Colin Walters
e8fbc756cb 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.
2023-03-14 17:07:01 -04:00
Colin Walters
e7c414cbff
Merge pull request #2821 from smcv/sbin-path
tests: Ensure non-root users have access to libcap tools
2023-03-13 17:29:21 -04:00
Colin Walters
751cca707a
Merge pull request #2829 from pwithnall/fetcher-wakeup
lib/fetcher-util: Wake up main context when a request is complete
2023-03-10 14:19:18 -05:00