Colin Walters [Thu, 31 Aug 2023 19:23:57 +0000 (15:23 -0400)]
rust: Bump rust-version = 1.70
To pick up the new `AsFd` etc.
Colin Walters [Thu, 31 Aug 2023 18:08:15 +0000 (14:08 -0400)]
Drop cap-std from our public APIs
Since it bumped semver (when I didn't expect it to; xref
https://github.com/bytecodealliance/cap-std/commit/
963eebf3ab52b04a2e8b9ba88ce6308bbed5cbd0#r121651362
It's not load-bearing enough here to matter versus just passing
an untyped file descriptor.
This mainly means that it will be the `glib` ecosystem which
forces transitive semver bumps for us, not both.
Colin Walters [Thu, 31 Aug 2023 16:16:50 +0000 (12:16 -0400)]
Merge pull request #3018 from ostreedev/dependabot/submodules/composefs-
597a766
build(deps): bump composefs from `
1aed878` to `
597a766`
Eric Curtin [Thu, 31 Aug 2023 15:30:26 +0000 (16:30 +0100)]
Merge pull request #3012 from cgwalters/default-early-prune
sysroot: Promote the "early prune" behavior to default
Colin Walters [Thu, 24 Aug 2023 14:00:13 +0000 (10:00 -0400)]
sysroot: Promote the "early prune" behavior to default
I think we have enough testing for this, let's default it to
on, and change the variable to allow opt-out in case it does
introduce a regression.
Colin Walters [Wed, 30 Aug 2023 20:24:37 +0000 (16:24 -0400)]
Merge pull request #2968 from cgwalters/drop-global-syncfs-by-default
deploy: Remove global `sync` by default
Joseph Marrero Corchado [Wed, 30 Aug 2023 20:14:28 +0000 (16:14 -0400)]
Merge pull request #3024 from cgwalters/clang-analyzer-fixes-5
Clang analyzer fixes 5
dependabot[bot] [Tue, 29 Aug 2023 12:07:40 +0000 (12:07 +0000)]
build(deps): bump composefs from `
1aed878` to `
597a766`
Bumps [composefs](https://github.com/containers/composefs) from `
1aed878` to `
597a766`.
- [Release notes](https://github.com/containers/composefs/releases)
- [Commits](https://github.com/containers/composefs/compare/
1aed8781d6ce617234175d5d3b0458f91a6e38f3...
597a76609574cf9133d1e17ec0a7b99877a0b709)
---
updated-dependencies:
- dependency-name: composefs
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Colin Walters [Wed, 30 Aug 2023 13:58:01 +0000 (09:58 -0400)]
Merge pull request #3023 from ostreedev/dependabot/submodules/libglnx-
54ad67d
build(deps): bump libglnx from `
c02eb59` to `
54ad67d`
Colin Walters [Wed, 30 Aug 2023 13:23:13 +0000 (09:23 -0400)]
commit: Quiet clang-analyzer warning
Another conditional ownership.
Colin Walters [Wed, 30 Aug 2023 13:19:42 +0000 (09:19 -0400)]
keyfile-utils: Quiet a clang-analyzer warning
It complains that we could leak memory if the return value
pointer isn't set. That's actually a nonsensical case, there's
no reason to call this and ignore the return value.
So change things to require it be set, and also change the
`g_return_val_if_fail` to be hard assertions per our new policy.
dependabot[bot] [Wed, 30 Aug 2023 12:21:09 +0000 (12:21 +0000)]
build(deps): bump libglnx from `
c02eb59` to `
54ad67d`
Bumps libglnx from `
c02eb59` to `
54ad67d`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Colin Walters [Tue, 29 Aug 2023 16:25:42 +0000 (12:25 -0400)]
Merge pull request #3020 from cgwalters/less-return-if-fail-1
mutable-tree: Change some `g_return_if_fail` to `g_assert()`
Colin Walters [Tue, 29 Aug 2023 16:25:24 +0000 (12:25 -0400)]
Merge pull request #3019 from cgwalters/more-analyzer-fixes-4
mutable-tree: Quiet clang-analyzer warning
Colin Walters [Tue, 29 Aug 2023 14:15:52 +0000 (10:15 -0400)]
mutable-tree: Change some `g_return_if_fail` to `g_assert()`
We did this in some prior patches because it's better for
static analyzers; code is either reachable or not, and we don't
want the default desktop-style behavior of "try to stumble on
without crashing". It's just likely to lead to a crash somewhere
else.
Colin Walters [Tue, 29 Aug 2023 14:09:25 +0000 (10:09 -0400)]
mutable-tree: Quiet clang-analyzer warning
The warning here was about a use-after-free which is serious, but
I don't think it was reachable in practice, because we'd only
enter the second conditional if `contents_checksum != self->contents_checksum`,
yet we made them the same thing here.
Nevertheless, refactor the code to do a direct return in this
case because that's basically what happened before, and doing
so is a lot clearer.
Joseph Marrero Corchado [Tue, 29 Aug 2023 04:11:36 +0000 (00:11 -0400)]
Merge pull request #3017 from cgwalters/more-analyzer-fixes-3
More analyzer fixes 3
Colin Walters [Mon, 28 Aug 2023 21:29:57 +0000 (17:29 -0400)]
repo: Quiet clang-analyzer warning
Another conditional ownership.
Colin Walters [Mon, 28 Aug 2023 21:28:59 +0000 (17:28 -0400)]
commit: Quiet clang-analyzer warning
Another conditional ownership.
Colin Walters [Mon, 28 Aug 2023 21:28:20 +0000 (17:28 -0400)]
commit: Quiet clang-analyzer warning
Another conditional ownership.
Colin Walters [Mon, 28 Aug 2023 21:27:04 +0000 (17:27 -0400)]
lib/commit: Quiet clang-analyzer warning
Another conditional ownership.
Colin Walters [Mon, 28 Aug 2023 21:26:28 +0000 (17:26 -0400)]
lib/delta: Remove dead code
Found by clang-analyzer.
Colin Walters [Mon, 28 Aug 2023 20:10:58 +0000 (16:10 -0400)]
Merge pull request #3016 from cgwalters/more-analyzer-fixes-2
More analyzer fixes 2
Colin Walters [Mon, 28 Aug 2023 14:44:15 +0000 (10:44 -0400)]
Merge pull request #2994 from cgwalters/refactor-composefs-warnings
Refactor composefs warnings
Colin Walters [Sat, 26 Aug 2023 16:26:39 +0000 (12:26 -0400)]
pull: Quiet clang-analyzer warning
Just used for side-effects.
Colin Walters [Sat, 26 Aug 2023 16:26:39 +0000 (12:26 -0400)]
commit: Quiet clang-analyzer warning
This is just another instance of the "conditionally owned"
pattern.
Colin Walters [Sat, 26 Aug 2023 16:23:36 +0000 (12:23 -0400)]
pull: Add assertions to quiet clang-analyzer
It's warning the value can be NULL, but I don't think that's true.
I believe we're just hitting analysis limit (the path length is 119).
Colin Walters [Sat, 26 Aug 2023 16:18:48 +0000 (12:18 -0400)]
lib/repo-finder: Squash memory leak
We want to free this value on each iteration; it's moved below
if the value is used.
Colin Walters [Sat, 26 Aug 2023 16:10:55 +0000 (12:10 -0400)]
Merge pull request #3013 from cgwalters/more-analyzer-fixes
2023.6 coverity minor fixes
Eric Curtin [Sat, 26 Aug 2023 12:13:24 +0000 (13:13 +0100)]
Merge pull request #3006 from cgwalters/misc-c99-style-5
Misc c99 style 5
Colin Walters [Fri, 25 Aug 2023 20:58:44 +0000 (16:58 -0400)]
switchroot: Use g_new/g_free consistently
Coverity complains about this, even though they're the same thing.
Colin Walters [Fri, 25 Aug 2023 20:57:12 +0000 (16:57 -0400)]
sign/
ed25519: Fix two memory leaks
Spotted by coverity.
Colin Walters [Fri, 25 Aug 2023 20:53:11 +0000 (16:53 -0400)]
commit: Drop dead code
Coverity points out that since we're now *always* initializing
metadata, the `create_empty_gvariant_dict()` is unreachable.
Colin Walters [Fri, 25 Aug 2023 19:54:20 +0000 (15:54 -0400)]
switchroot: Lower config parser to otcore, add unit tests
Part of the continuation of unit testing coverage.
Colin Walters [Mon, 21 Aug 2023 21:19:35 +0000 (17:19 -0400)]
composefs: Hard error except on ENOENT even in "optional" case
Since we enabled composefs at build time, the default (non-composefs)
case now always prints
`composefs: Optional support failed: No such file or directory`
But that's normal and expected.
Rework things here so that in the very special case where
we are in "maybe/optional" mode and we get ENOENT, then we
output a much more normal-looking message that doesn't include
the string "failed".
Now on the flip side - if I have explicitly enabled signature
checking, I think we *do* want to make that fatal even if
composefs is in "maybe" mode.
(This part is more debatable; perhaps we should just disallow
the case of "maybe" + signatures at all; but I think this is
an improvement in that direction)
Colin Walters [Mon, 21 Aug 2023 21:12:08 +0000 (17:12 -0400)]
prepare-root: Fold together composefs signature cases
Now that we don't support digest-but-not-signature verification
for composefs, the logic here was unnecessarily complicated.
With a prior prep patch that moved the composefs option
initialization up, we can just have everything related to signature
verification in a single conditonal.
Colin Walters [Mon, 21 Aug 2023 21:11:32 +0000 (17:11 -0400)]
prepare-root: Init composefs options earlier
Prep for a later patch.
Colin Walters [Mon, 21 Aug 2023 18:05:14 +0000 (14:05 -0400)]
prepare-root: Drop redundant print about signature/digest
We print if we're doing a signature+digest verification; its absence is
sufficient in the other case. The goal here is to avoid polluting
the logs when signatures are not enabled.
Colin Walters [Fri, 25 Aug 2023 15:11:17 +0000 (11:11 -0400)]
Merge pull request #3005 from cgwalters/release
Release
Colin Walters [Wed, 23 Aug 2023 21:34:33 +0000 (17:34 -0400)]
configure: post-release version bump
Colin Walters [Wed, 23 Aug 2023 21:33:27 +0000 (17:33 -0400)]
Release 2023.6
Joseph Marrero Corchado [Fri, 25 Aug 2023 01:13:07 +0000 (21:13 -0400)]
Merge pull request #3010 from cgwalters/more-composefs-fixes
build-sys: Really fix composefs check
Colin Walters [Thu, 24 Aug 2023 23:48:22 +0000 (19:48 -0400)]
build-sys: Really fix composefs check
The ordering of the includes apparently matters...and I didn't
actually check that the previous change enables composefs on c9s.
But I did now. For reals.
While we have the patient open, I switched to `AC_LANG_PROGRAM`
because I originally thought the bug had something to do with that.
As far as I understand, more cleanly separating the includes
from the injected body text is a useful thing in `AC_LANG_PROGRAM`.
Colin Walters [Thu, 24 Aug 2023 23:38:22 +0000 (19:38 -0400)]
Merge pull request #3009 from cgwalters/c9s-ci
C9s CI && composefs build detection fix
Joseph Marrero Corchado [Thu, 24 Aug 2023 22:01:26 +0000 (18:01 -0400)]
Merge pull request #3007 from cgwalters/optin-new-bootloader-naming
deploy: Add bootloader-naming-2 opt-in
Colin Walters [Thu, 24 Aug 2023 21:24:29 +0000 (17:24 -0400)]
build-sys: Look for both linux/mount.h and sys/mount.h
Since that's what composefs uses.
Colin Walters [Thu, 24 Aug 2023 21:21:07 +0000 (17:21 -0400)]
ci: Add c9s build
Since it's an active target of this project.
Colin Walters [Thu, 24 Aug 2023 15:45:22 +0000 (11:45 -0400)]
Merge pull request #3008 from ostreedev/maybe_ostree
prepare-root: If composefs is configured as "maybe" don't fail
Eric Curtin [Thu, 24 Aug 2023 14:20:25 +0000 (15:20 +0100)]
prepare-root: If composefs is configured as "maybe" don't fail
If composefs is configured as "maybe", we should continue even if
composefs support is not built in.
Colin Walters [Thu, 24 Aug 2023 13:40:54 +0000 (09:40 -0400)]
deploy: Add bootloader-naming-2 opt-init
I've verified that this fixes compatibility with GRUB, which
parses the filename:
https://github.com/ostreedev/ostree/issues/2961
However, out of a large degree of conservatism I've made this
an opt-in behavior for now.
My plan is to test it out in the FCOS development streams first.
Eric Curtin [Thu, 24 Aug 2023 08:59:46 +0000 (09:59 +0100)]
Merge pull request #3003 from cgwalters/prepare-root-oscore-and-units
Move prepare-root karg helpers into otcore, add unit tests
Colin Walters [Thu, 24 Aug 2023 01:22:49 +0000 (21:22 -0400)]
cmd/show-remote-url: Port to C99 style
Just keeping up momentum.
Colin Walters [Thu, 24 Aug 2023 01:21:01 +0000 (21:21 -0400)]
cmd/log: Port to C99 style
Just keeping up momentum.
Colin Walters [Thu, 24 Aug 2023 01:17:27 +0000 (21:17 -0400)]
cmd/export: Fold libarchive error handling
The helper function here doesn't quite carry its weight; this
brings us inline with having single line (no braces) error
return paths.
Colin Walters [Thu, 24 Aug 2023 01:14:53 +0000 (21:14 -0400)]
cmd/export: Port to C99 style
Just keeping up momentum.
Colin Walters [Wed, 23 Aug 2023 20:06:23 +0000 (16:06 -0400)]
Move prepare-root karg helpers into otcore, add unit tests
Add long overdue unit testing coverage for this, which
at least slightly closes out the android boot CI gap.
Actually, this *copies* the karg parsing code into otcore because
it now uses glib, which we're not yet using in the static
prepare-root. It's pretty tempting to drop support for the
static prepare root entirely. But for now we'll live with some
code duplication.
Joseph Marrero Corchado [Wed, 23 Aug 2023 14:38:16 +0000 (10:38 -0400)]
Merge pull request #2997 from cgwalters/test-cleanups-1
tests/destructive: Port more to xshell
Joseph Marrero Corchado [Wed, 23 Aug 2023 14:37:48 +0000 (10:37 -0400)]
Merge pull request #2999 from cgwalters/add-oscore-units
tests: Add otcore unit tests
Eric Curtin [Tue, 22 Aug 2023 23:06:14 +0000 (00:06 +0100)]
Merge pull request #3001 from cgwalters/misc-c99-style-4
Misc c99 style 4
Colin Walters [Tue, 22 Aug 2023 21:51:33 +0000 (17:51 -0400)]
cmd/grub2-generate: Port to C99 style
Just keeping up momentum.
Colin Walters [Tue, 22 Aug 2023 21:49:28 +0000 (17:49 -0400)]
cmd/init: Port to C99 style
Just keeping up momentum.
Joseph Marrero Corchado [Tue, 22 Aug 2023 20:56:46 +0000 (16:56 -0400)]
Merge pull request #3000 from cgwalters/test-inst-update
tests/inst: Update to latest ostree-ext
Colin Walters [Tue, 22 Aug 2023 20:41:00 +0000 (16:41 -0400)]
Merge pull request #2995 from ostreedev/dependabot/submodules/composefs-
1aed878
build(deps): bump composefs from `
a6e827d` to `
1aed878`
Eric Curtin [Tue, 22 Aug 2023 19:08:26 +0000 (20:08 +0100)]
Merge pull request #2998 from cgwalters/disable-composefs-too-old
build-sys: Disable composefs on too-old Linux headers
Colin Walters [Tue, 22 Aug 2023 18:23:56 +0000 (14:23 -0400)]
tests/inst: Update to latest ostree-ext
(And glib, etc.)
Colin Walters [Tue, 22 Aug 2023 18:11:50 +0000 (14:11 -0400)]
Merge pull request #2975 from ostreedev/androidboot-single-slot-mode
prepare-root: On a non-A/B androidboot system, boot system slot a
Colin Walters [Tue, 22 Aug 2023 17:04:12 +0000 (13:04 -0400)]
tests: Add otcore unit tests
This just stubs out the basic infrastructure, to be expanded upon.
Colin Walters [Tue, 22 Aug 2023 15:36:04 +0000 (11:36 -0400)]
build-sys: Disable composefs on too-old Linux headers
This should fix the build with Google OSS-fuzz which currently
uses an old Ubuntu.
Eric Curtin [Tue, 22 Aug 2023 12:11:30 +0000 (13:11 +0100)]
prepare-root: Changes made to find_proc_cmdline_key
Used strspn based on feedback from similar function.
Eric Curtin [Tue, 22 Aug 2023 12:04:03 +0000 (13:04 +0100)]
prepare-root: On a non-A/B androidboot system, boot system slot a
Sometimes android bootloaders boot in a nonab way:
https://source.android.com/docs/core/ota/nonab
In this case, "androidboot." kargs are present but not
"androidboot.slot_suffix" specifically.
In this case, rather than getting stuck in a partially booted
environment, boot system slot a.
Eric Curtin [Tue, 22 Aug 2023 15:08:10 +0000 (16:08 +0100)]
Merge pull request #2996 from cgwalters/misc-c99-style-3
cli/set-origin: Port to C99 style
Colin Walters [Tue, 22 Aug 2023 13:49:16 +0000 (09:49 -0400)]
tests/destructive: Port more to xshell
Just keeping up momentum.
Colin Walters [Tue, 22 Aug 2023 13:44:39 +0000 (09:44 -0400)]
cli/set-origin: Port to C99 style
Just keeping up momentum.
dependabot[bot] [Tue, 22 Aug 2023 12:59:46 +0000 (12:59 +0000)]
build(deps): bump composefs from `
a6e827d` to `
1aed878`
Bumps [composefs](https://github.com/containers/composefs) from `
a6e827d` to `
1aed878`.
- [Release notes](https://github.com/containers/composefs/releases)
- [Commits](https://github.com/containers/composefs/compare/
a6e827df2dbebb65d6d19a7211f2fb4a61d989ac...
1aed8781d6ce617234175d5d3b0458f91a6e38f3)
---
updated-dependencies:
- dependency-name: composefs
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Eric Curtin [Fri, 18 Aug 2023 21:12:24 +0000 (22:12 +0100)]
Merge pull request #2993 from cgwalters/misc-c99-style-2
Misc c99 style 2
Colin Walters [Fri, 18 Aug 2023 01:50:07 +0000 (21:50 -0400)]
checkout: Port to C99 style
Just keeping up momentum.
Colin Walters [Fri, 18 Aug 2023 12:49:31 +0000 (08:49 -0400)]
Merge pull request #2990 from cgwalters/init-is-stateroot
Two s/osname/stateroot/ patches
Colin Walters [Fri, 18 Aug 2023 01:49:33 +0000 (21:49 -0400)]
lzma: Port to C99 style
Just keeping up momentum.
Eric Curtin [Thu, 17 Aug 2023 23:19:21 +0000 (00:19 +0100)]
Merge pull request #2991 from cgwalters/misc-c99-style
Misc c99 style
Colin Walters [Thu, 17 Aug 2023 20:59:41 +0000 (16:59 -0400)]
remote-add: Port to c99 style
- Drop `goto out`
- Use declare-and-initialize
Colin Walters [Thu, 17 Aug 2023 20:59:41 +0000 (16:59 -0400)]
admin: Port to c99 style
- Drop `goto out`
- Use declare-and-initialize
Colin Walters [Thu, 17 Aug 2023 20:48:05 +0000 (16:48 -0400)]
admin-deploy: Add `--stateroot` as alias for `--os`
To further help deprecate the confusing "osname" terminology.
Colin Walters [Thu, 17 Aug 2023 20:46:02 +0000 (16:46 -0400)]
Add `ostree admin stateroot-init` as alias for `os-init`
To further help deprecate the confusing "osname" terminology.
Eric Curtin [Thu, 17 Aug 2023 13:38:30 +0000 (14:38 +0100)]
Merge pull request #2989 from cgwalters/lock-timeout-longer
repo: Bump lock timeout to 5 minutes
Colin Walters [Thu, 17 Aug 2023 13:36:20 +0000 (09:36 -0400)]
Merge pull request #2973 from ostreedev/dependabot/submodules/composefs-
a6e827d
build(deps): bump composefs from `
1704f82` to `
a6e827d`
Colin Walters [Thu, 17 Aug 2023 12:26:29 +0000 (08:26 -0400)]
repo: Bump lock timeout to 5 minutes
And update the doc text to talk about having a timeout at all
by default being a mistake.
Timeouts are really best handled at a higher level; if two processes
are contending for the ostree lock and one is actually frozen,
resolving this is something an admin may want to handle and introspect/debug
instead of having the waiter error out.
Most people using ostree are doing it in a way in which they have
higher level timeouts (e.g. on a container pod).
Eric Curtin [Wed, 16 Aug 2023 22:20:15 +0000 (23:20 +0100)]
Merge pull request #2988 from cgwalters/prepare-root-binding-key
prepare-root: Minor clarifications
Eric Curtin [Wed, 16 Aug 2023 21:37:06 +0000 (22:37 +0100)]
Merge pull request #2987 from cgwalters/prefix-stage-deploy
deploy: Add some error prefixing
Colin Walters [Wed, 16 Aug 2023 20:54:13 +0000 (16:54 -0400)]
prepare-root: Minor clarifications
No functional changes.
Colin Walters [Wed, 16 Aug 2023 20:16:24 +0000 (16:16 -0400)]
deploy: Add some error prefixing
We saw a bare
`Txn Rebase on <osname> failed: Failed to find kernel in /usr/lib/modules, /usr/lib/ostree-boot or /boot`
which isn't bad, but it'd be better to be a bit more specific.
Eric Curtin [Wed, 16 Aug 2023 18:31:35 +0000 (19:31 +0100)]
Merge pull request #2985 from cgwalters/cleanup-proc-cmdline
switchroot,generator: Only read /proc/cmdline once
Colin Walters [Wed, 16 Aug 2023 13:05:39 +0000 (09:05 -0400)]
Merge pull request #2984 from alexlarsson/prepare-root-no-raw-key
prepare-root: Only support base64 formated public key files
Colin Walters [Wed, 16 Aug 2023 13:02:11 +0000 (09:02 -0400)]
switchroot,generator: Only read /proc/cmdline once
Change the helper function to parse an existing cmdline instead
of potentially reading `/proc/cmdline` multiple times.
Alexander Larsson [Wed, 16 Aug 2023 08:59:47 +0000 (10:59 +0200)]
prepare-root: Only support base64 formated public key files
I've updated the automotive samples to not use the raw format, so
there is no use anymore to support both formats, as base64 is strictly
better.
Alexander Larsson [Wed, 16 Aug 2023 08:56:20 +0000 (10:56 +0200)]
Merge pull request #2980 from cgwalters/prepare-root-minor
Prepare root minor
Colin Walters [Mon, 14 Aug 2023 18:36:50 +0000 (14:36 -0400)]
prepare-root: Use ptrarray, not linked list
Linked lists are a data structure with only very obscure
use cases, and this is a classic one where since we're appending
it's O(N^2) behavior.
Also we were leaking the memory.
It's more ergonomic, clearer and efficient to use a ptrarray.
Colin Walters [Mon, 14 Aug 2023 18:30:42 +0000 (14:30 -0400)]
prepare-root: Check for empty string, not strlen > 0
No point in doing a full strlen, we can just check the first byte.
Also, invert the conditional using `continue` to avoid another
level of indentation.
Colin Walters [Mon, 14 Aug 2023 18:27:08 +0000 (14:27 -0400)]
prepare-root: Use declare-and-initialize
This is our default style.
Colin Walters [Thu, 3 Aug 2023 23:08:02 +0000 (19:08 -0400)]
deploy: Remove global `sync` by default
Our previous change here was not actually sufficient for
the ceph case, because what (I think) is happening is that
our other `syncfs()` invocation is getting blocked on some
kernel mutexes that are used in `sync`, and that's causing the
process to fully block.
We should not be dependent on a full filesystem `sync`, only
on the sync of the sysroot and boot filesystems.
Anyone who *does* want this behavior could inject an override
for `ostree-finalize-staged.service` that overrides `ExecStop`
to add a run of `sync`.
Joseph Marrero Corchado [Mon, 14 Aug 2023 15:47:05 +0000 (11:47 -0400)]
Merge pull request #2979 from cgwalters/enabled-discussions
README.md: Drop dead mailing list, link to GH discussions