ostree.git
16 months agoPost-release version bump
Colin Walters [Thu, 18 Jul 2024 15:39:39 +0000 (11:39 -0400)]
Post-release version bump

Signed-off-by: Colin Walters <walters@verbum.org>
16 months agoRelease 2024.7
Colin Walters [Thu, 18 Jul 2024 15:39:10 +0000 (11:39 -0400)]
Release 2024.7

Signed-off-by: Colin Walters <walters@verbum.org>
17 months agoMerge pull request #3277 from cgwalters/karg-disable-composefs
Colin Walters [Fri, 12 Jul 2024 00:08:38 +0000 (20:08 -0400)]
Merge pull request #3277 from cgwalters/karg-disable-composefs

prepare-root: Add ostree.prepare-root.composefs

17 months agoprepare-root: Add `ostree.prepare-root.composefs`
Colin Walters [Wed, 10 Jul 2024 20:38:48 +0000 (16:38 -0400)]
prepare-root: Add `ostree.prepare-root.composefs`

We have a use case for overriding the composefs state via
the kernel commandline; see e.g.
https://gitlab.com/fedora/bootc/tracker/-/issues/27

Signed-off-by: Colin Walters <walters@verbum.org>
17 months agoMerge pull request #3276 from cgwalters/parse-bool
Colin Walters [Thu, 11 Jul 2024 20:06:35 +0000 (16:06 -0400)]
Merge pull request #3276 from cgwalters/parse-bool

keyfile-utils: Add API to parse tristate strings

17 months agoprepare-root: Gather kernel cmdline early
Colin Walters [Wed, 10 Jul 2024 21:27:11 +0000 (17:27 -0400)]
prepare-root: Gather kernel cmdline early

Prep for parsing the composefs config from the kernel cmdline.
No functional changes intended.

17 months agokeyfile-utils: Add API to parse tristate strings
Colin Walters [Wed, 10 Jul 2024 21:21:57 +0000 (17:21 -0400)]
keyfile-utils: Add API to parse tristate strings

Prep for using this in multiple places. Add unit tests.

17 months agokeyfile-utils: Add API to parse tristate strings
Colin Walters [Wed, 10 Jul 2024 21:21:57 +0000 (17:21 -0400)]
keyfile-utils: Add API to parse tristate strings

Prep for using this in multiple places. Add unit tests.

17 months agoMerge pull request #3275 from ueno/wip/dueno/glib-2.44
Colin Walters [Wed, 10 Jul 2024 12:27:45 +0000 (08:27 -0400)]
Merge pull request #3275 from ueno/wip/dueno/glib-2.44

libostree: Remove compatibility code with GLib < 2.44

17 months agolibostree: Remove compatibility code with GLib < 2.44
Daiki Ueno [Wed, 10 Jul 2024 01:10:18 +0000 (10:10 +0900)]
libostree: Remove compatibility code with GLib < 2.44

As the build system has required GLib 2.44 since commit
eb09207e1abd7499bd92866cce1de6148d659a4a, the manual expansion of
G_DECLARE_INTERFACE and G_DECLARE_FINAL_TYPE is no longer necessary.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
17 months agoMerge pull request #3273 from cgwalters/drop-library-printf
Colin Walters [Mon, 8 Jul 2024 13:56:26 +0000 (09:56 -0400)]
Merge pull request #3273 from cgwalters/drop-library-printf

sysroot: Use journal rather than printf()

17 months agosysroot: Use journal rather than printf()
Colin Walters [Wed, 3 Jul 2024 14:37:02 +0000 (14:37 +0000)]
sysroot: Use journal rather than printf()

Fix the TODO here; this was making some bootc output
ugly.

Signed-off-by: Colin Walters <walters@verbum.org>
17 months agoMerge pull request #3265 from lukewarmtemp/2023.8-3-coverity-scan
Colin Walters [Thu, 27 Jun 2024 17:05:53 +0000 (13:05 -0400)]
Merge pull request #3265 from lukewarmtemp/2023.8-3-coverity-scan

2023.8-3 coverity scan

17 months agoprepare: Create global var for tmp_sysroot_etc
Luke Yang [Thu, 13 Jun 2024 18:41:27 +0000 (14:41 -0400)]
prepare: Create global var for tmp_sysroot_etc

Coverity points out that ""/sysroot.tmp/etc"" could be a copy-paste
error. This is mistake from coverity, but to supress the warning,
we create a global var, tmp_sysroot_etc, which replaces all
instances of TMP_SYSROOT "/etc".

17 months agorepo: Fix `dir_or_file_path` memory leak
Luke Yang [Wed, 12 Jun 2024 19:55:37 +0000 (15:55 -0400)]
repo: Fix `dir_or_file_path` memory leak

Coverity points out that we have a memory leak from
`g_strdup(dir_or_file_path)`. Make the duplication of the string a
temporary variable that is freed using `g_autofree`.

17 months agocommit: Null terminate `target_buf` var
Luke Yang [Wed, 12 Jun 2024 19:51:41 +0000 (15:51 -0400)]
commit: Null terminate `target_buf` var

Coverity points out that we are passing an unterminated string to
sprintf(). Fix by using snprintf() which stores the content as a C
string.

17 months agotree: Fix `name` memory leak
Luke Yang [Wed, 12 Jun 2024 19:50:54 +0000 (15:50 -0400)]
tree: Fix `name` memory leak

Coverity points out that we have a memory leak from `g_strdup(name)`.
`insert_child_mtree()` takes a const char * and duplicates it.
`name` can be passed directly to `insert_child_mtree()`.

17 months agoMerge pull request #3269 from cgwalters/fix-ordering
Colin Walters [Thu, 20 Jun 2024 15:54:23 +0000 (11:54 -0400)]
Merge pull request #3269 from cgwalters/fix-ordering

remount: Drop `Before=systemd-sysusers.service`

17 months agoMerge pull request #3270 from cgwalters/bump-runners
Colin Walters [Thu, 20 Jun 2024 15:23:27 +0000 (11:23 -0400)]
Merge pull request #3270 from cgwalters/bump-runners

ci: Bump bootc e2e to latest ubuntu, drop docker

17 months agoci: Bump bootc e2e to latest ubuntu, drop docker
Colin Walters [Tue, 18 Jun 2024 14:38:20 +0000 (10:38 -0400)]
ci: Bump bootc e2e to latest ubuntu, drop docker

As newer docker refuses to talk to ancient skopeo.
Update this to use podman directly, also add the missing `-v /dev:/dev`.

Signed-off-by: Colin Walters <walters@verbum.org>
17 months agoMerge pull request #3268 from ueno/wip/dueno/composefs-doc-fixes
Colin Walters [Thu, 20 Jun 2024 13:18:55 +0000 (09:18 -0400)]
Merge pull request #3268 from ueno/wip/dueno/composefs-doc-fixes

Minor cleanup related to composefs

17 months agoremount: Drop `Before=systemd-sysusers.service`
Colin Walters [Thu, 20 Jun 2024 13:18:08 +0000 (09:18 -0400)]
remount: Drop `Before=systemd-sysusers.service`

This created an ordering cycle, and I merged over red CI
for bad reasons.

17 months agorepo: Remove leftover OpenSSL includes
Daiki Ueno [Wed, 19 Jun 2024 19:41:18 +0000 (04:41 +0900)]
repo: Remove leftover OpenSSL includes

This removes OpenSSL includes for PKCS#7, previously used to generate
fs-verity builtin signatures.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
17 months agodocs/composefs: Fix reference to `ostree sign`
Daiki Ueno [Wed, 19 Jun 2024 19:40:32 +0000 (04:40 +0900)]
docs/composefs: Fix reference to `ostree sign`

Signed-off-by: Daiki Ueno <dueno@redhat.com>
17 months agoMerge pull request #3266 from ericcurtin/if-file-missing-on-relabel-continue
Colin Walters [Tue, 18 Jun 2024 18:14:02 +0000 (14:14 -0400)]
Merge pull request #3266 from ericcurtin/if-file-missing-on-relabel-continue

remount: ignore ENOENT error during SELinux relabeling

17 months agoremount: ignore ENOENT error during SELinux relabeling
Eric Curtin [Tue, 18 Jun 2024 14:06:12 +0000 (15:06 +0100)]
remount: ignore ENOENT error during SELinux relabeling

Ignore ENOENT error in selinux_restorecon to avoid failures when
temporary files created by systemd-sysusers in /etc are missing during
relabeling. This prevents errors such as:

  "Failed to relabel /etc/.#gshadowJzu4Rx: No such file or directory"

and allows the process to continue.

Co-Authored-By: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
18 months agoMerge pull request #3261 from cgwalters/validate-xattrs
Colin Walters [Tue, 4 Jun 2024 17:32:20 +0000 (13:32 -0400)]
Merge pull request #3261 from cgwalters/validate-xattrs

core: Validate that xattr names aren't empty

18 months agocore: Validate that xattr names aren't empty
Colin Walters [Sat, 1 Jun 2024 15:29:13 +0000 (11:29 -0400)]
core: Validate that xattr names aren't empty

In the ostree-ext codebase the test fixture was generating xattrs
without the trailing NUL byte.  This caused confusing errors
later.  Change the dirmeta validator to catch this.

The way GVariant represents bytestrings, the trailing NUL is there
on wire/disk so it can be there in memory too, but `g_variant_get_bytestring()`
will just return an empty `""` string if actually the value
has a missing NUL.

Signed-off-by: Colin Walters <walters@verbum.org>
18 months agoMerge pull request #3259 from cgwalters/c9s-buildroot
Colin Walters [Thu, 30 May 2024 16:46:14 +0000 (12:46 -0400)]
Merge pull request #3259 from cgwalters/c9s-buildroot

ci: Add buildroot to c9s build

18 months agoci: Add buildroot to c9s build
Colin Walters [Thu, 30 May 2024 15:05:20 +0000 (11:05 -0400)]
ci: Add buildroot to c9s build

Because composefs-devel isn't shipped in RHEL.

18 months agoMerge pull request #3258 from cgwalters/prepare-comments
Colin Walters [Thu, 30 May 2024 14:39:50 +0000 (10:39 -0400)]
Merge pull request #3258 from cgwalters/prepare-comments

docs: Describe `/boot/ostree`

18 months agodocs: Describe `/boot/ostree`
Colin Walters [Thu, 30 May 2024 13:42:24 +0000 (09:42 -0400)]
docs: Describe `/boot/ostree`

People get confused by the sha256 here being different
from the ostree commit hash.

18 months agoMerge pull request #3253 from cgwalters/prepare-comments
Eric Curtin [Thu, 23 May 2024 14:52:32 +0000 (16:52 +0200)]
Merge pull request #3253 from cgwalters/prepare-comments

prepare-root: Cleanup comments

18 months agoMerge pull request #3252 from cgwalters/checkout-cfs
Colin Walters [Thu, 23 May 2024 11:54:10 +0000 (07:54 -0400)]
Merge pull request #3252 from cgwalters/checkout-cfs

checkout: Add API to directly checkout composefs

18 months agoprepare-root: Cleanup comments
Colin Walters [Thu, 23 May 2024 01:05:08 +0000 (21:05 -0400)]
prepare-root: Cleanup comments

Mainly we can now drop the TODO for mounting `/` readonly - that's
handled by composefs.  Add a few other comments, typo fixes
while we're here.

Signed-off-by: Colin Walters <walters@verbum.org>
18 months agocheckout: Add API to directly checkout composefs
Colin Walters [Wed, 22 May 2024 22:16:48 +0000 (18:16 -0400)]
checkout: Add API to directly checkout composefs

We were missing the simple, obvious API and CLI to go
from ostree commit -> composefs.

Internally, we had `ostree_repo_checkout_composefs`
with the right "shape" mostly, except it had more code
in the deploy path to turn that into a composefs.

Add a straightforward public API that does what
the deploy code did before, and then the old
API becomes an explicitly internal helper with an `_`
prefix.

Goals:

- Lead towards a composefs-oriented future
- This makes the composefs logic more testable directly

Signed-off-by: Colin Walters <walters@verbum.org>
18 months agoMerge pull request #3249 from ericcurtin/add-webos
Colin Walters [Thu, 23 May 2024 00:09:04 +0000 (20:09 -0400)]
Merge pull request #3249 from ericcurtin/add-webos

docs: add webOS as users of libostree

18 months agoMerge pull request #3250 from ericcurtin/minor-bootloader-doc-change
Colin Walters [Thu, 23 May 2024 00:08:27 +0000 (20:08 -0400)]
Merge pull request #3250 from ericcurtin/minor-bootloader-doc-change

docs: make /ostree/root.X clearer as symlinks

18 months agodocs: make /ostree/root.X clearer as symlinks
Eric Curtin [Tue, 21 May 2024 14:01:56 +0000 (15:01 +0100)]
docs: make /ostree/root.X clearer as symlinks

Feedback from Alexander Larsson before Linaro Connect talk which used
this diagram.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
18 months agodocs: add webOS as users of libostree
Eric Curtin [Tue, 21 May 2024 13:54:19 +0000 (14:54 +0100)]
docs: add webOS as users of libostree

Updated the README.md to include information about webOS, an OS for
smart devices such as smart TVs, which from version 2.0.0 supports
Firmware-Over-the-Air (FOTA) based on libostree. Added relevant links
for further details on webOS and FOTA setup.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
19 months agoMerge pull request #3246 from jmarrero/release-2024.6
Colin Walters [Thu, 16 May 2024 22:17:58 +0000 (18:17 -0400)]
Merge pull request #3246 from jmarrero/release-2024.6

Release 2024.6

19 months agoconfigure: post-release version bump
Joseph Marrero [Thu, 16 May 2024 20:34:35 +0000 (16:34 -0400)]
configure: post-release version bump

19 months agoRelease 2024.6
Joseph Marrero [Thu, 16 May 2024 20:31:51 +0000 (16:31 -0400)]
Release 2024.6

19 months agoMerge pull request #3245 from cgwalters/doc-offline-deltas
Colin Walters [Thu, 16 May 2024 16:32:40 +0000 (12:32 -0400)]
Merge pull request #3245 from cgwalters/doc-offline-deltas

docs: Describe offline updates with static deltas

19 months agodocs: Describe offline updates with static deltas
Colin Walters [Thu, 16 May 2024 16:00:35 +0000 (12:00 -0400)]
docs: Describe offline updates with static deltas

This one isn't immediately obvious that it's possible.

Signed-off-by: Colin Walters <walters@verbum.org>
19 months agoMerge pull request #3244 from alexlarsson/fix-fsverity-supported
Joseph Marrero Corchado [Wed, 15 May 2024 17:15:05 +0000 (13:15 -0400)]
Merge pull request #3244 from alexlarsson/fix-fsverity-supported

Fix _ostree_ensure_fsverity reporting of supports in early exit

19 months agoMerge pull request #3243 from cgwalters/loaded_ts_fix
Dan Nicholson [Wed, 15 May 2024 16:11:40 +0000 (10:11 -0600)]
Merge pull request #3243 from cgwalters/loaded_ts_fix

sysroot: Handle `/ostree/deploy` having epoch 0

19 months agoFix _ostree_ensure_fsverity reporting of supports in early exit
Alexander Larsson [Wed, 15 May 2024 15:31:09 +0000 (17:31 +0200)]
Fix _ostree_ensure_fsverity reporting of supports in early exit

If supported_out is passed to _ostree_ensure_fsverity and we
successfully exit early, for example because the file is a symlink, then
*supported_out is not initialized.

This is problematic in the case of ostree_sysroot_update_post_copy(),
because it passes in an uninitialized supported, and on successfull
return of _ostree_ensure_fsverity() it assumes that it is iniialized.

In case supported happened to be initialized to non-zero it will take
this branch:

      if (!supported)
        break; /* If not supported, skip rest */

Which means *all* further objects will not get fs-verity enabled.

19 months agosysroot: Handle `/ostree/deploy` having epoch 0
Colin Walters [Wed, 15 May 2024 13:41:35 +0000 (09:41 -0400)]
sysroot: Handle `/ostree/deploy` having epoch 0

Ironically we break if the timestamp there is zero.

Closes: https://github.com/ostreedev/ostree/issues/3022
Signed-off-by: Colin Walters <walters@verbum.org>
19 months agoMerge pull request #3234 from jmarrero/state-root
Joseph Marrero Corchado [Sat, 4 May 2024 01:34:25 +0000 (21:34 -0400)]
Merge pull request #3234 from jmarrero/state-root

ostree-sysroot-deploy: check if deployments are in the same stateroot.

19 months agoostree-sysroot-deploy: check if deployments are in the same stateroot.
Joseph Marrero Corchado [Tue, 30 Apr 2024 15:51:48 +0000 (11:51 -0400)]
ostree-sysroot-deploy: check if deployments are in the same stateroot.

19 months agoMerge pull request #3238 from cgwalters/force-container-env
Jonathan Lebon [Fri, 3 May 2024 18:38:30 +0000 (14:38 -0400)]
Merge pull request #3238 from cgwalters/force-container-env

19 months agoci: Also skip if we detect /run/.containerenv
Colin Walters [Thu, 2 May 2024 18:18:10 +0000 (14:18 -0400)]
ci: Also skip if we detect /run/.containerenv

19 months agoMerge pull request #3236 from cgwalters/clang-format
Colin Walters [Thu, 2 May 2024 13:35:55 +0000 (09:35 -0400)]
Merge pull request #3236 from cgwalters/clang-format

ci: Only run clang-format on ubuntu-stable GH runner

19 months agoci: Only run clang-format on ubuntu-stable GH runner
Colin Walters [Thu, 2 May 2024 00:32:33 +0000 (20:32 -0400)]
ci: Only run clang-format on ubuntu-stable GH runner

Previously we were running clang-format across multiple operating
system versions and hence clang versions, and it turns out
clang has changed the preferred formatting multiple times.

We could *probably* dig in and try to pin things more strongly
but eh...for now let's arbitrarily just use whatever's in
the default GH Action ubuntu-latest runner as that should
be equally painful for everyone.

Signed-off-by: Colin Walters <walters@verbum.org>
19 months agoMerge pull request #3232 from ericcurtin/aboot-bootloader
Colin Walters [Thu, 2 May 2024 00:24:36 +0000 (20:24 -0400)]
Merge pull request #3232 from ericcurtin/aboot-bootloader

docs: More accurate diagram in bootloaders documentation for aboot

19 months agoMerge pull request #3233 from dbnicholson/sync-summary-times
Colin Walters [Thu, 2 May 2024 00:23:59 +0000 (20:23 -0400)]
Merge pull request #3233 from dbnicholson/sync-summary-times

Sync summary times

19 months agorepo: Make summary and signature mtime match
Dan Nicholson [Thu, 25 Apr 2024 03:37:13 +0000 (21:37 -0600)]
repo: Make summary and signature mtime match

HTTP servers derive Last-Modified from the modification time of the
file. When used in combination with a Cache-Control max-age value,
having the modification times match means that caches will consider them
expired at the same time. This helps make it more likely that clients
won't receive a cached summary and fresh signature or vice versa.

This makes more sense to do now that the summary and signature are
created in a temporary directory and renamed into place. In the old days
where they were created directly in the repo root, it would be strange
to change the summary mtime when it wasn't actually modified.

19 months agotests: Correctly skip single fsverity test
Dan Nicholson [Thu, 25 Apr 2024 03:51:19 +0000 (21:51 -0600)]
tests: Correctly skip single fsverity test

The skip shell function is for skipping an entire test plan. To skip a
single test result, a directive is needed[1]. Without this change, the
test suite errors claiming that 2 test plans were provided when fsverity
isn't available.

1. https://testanything.org/tap-specification.html#skipping-tests

19 months agodocs: Fix spelling and grammer
Eric Curtin [Wed, 24 Apr 2024 15:15:17 +0000 (16:15 +0100)]
docs: Fix spelling and grammer

Make Android bootloader section clearer.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
19 months agodocs: More accurate diagram in bootloaders documentation for aboot
Eric Curtin [Wed, 24 Apr 2024 14:47:13 +0000 (15:47 +0100)]
docs: More accurate diagram in bootloaders documentation for aboot

The android bootloader is also split into two partitions, previously
that wasn't represented in the diagram.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
20 months agoMerge pull request #3231 from alexlarsson/fix-aboot-non-ab
Eric Curtin [Mon, 15 Apr 2024 19:48:09 +0000 (20:48 +0100)]
Merge pull request #3231 from alexlarsson/fix-aboot-non-ab

prepare-root: Handle non-AB aboot properly

20 months agoprepare-root: Handle non-AB aboot properly
Alexander Larsson [Mon, 15 Apr 2024 18:09:34 +0000 (20:09 +0200)]
prepare-root: Handle non-AB aboot properly

otcore_get_ostree_target() should set is_aboot for android boot
systems, but currently it only does this on A/B boot systems, not
single-boot-partition systems. Fix this by setting it in the second
case.

20 months agoMerge pull request #3230 from cgwalters/initfs-epoch-2
Colin Walters [Fri, 12 Apr 2024 23:56:35 +0000 (19:56 -0400)]
Merge pull request #3230 from cgwalters/initfs-epoch-2

init-fs: Add --epoch=2

20 months agoMerge pull request #3108 from cgwalters/use-external-composefs
Colin Walters [Fri, 12 Apr 2024 21:48:22 +0000 (17:48 -0400)]
Merge pull request #3108 from cgwalters/use-external-composefs

Switch to external composefs

20 months agoSwitch to external composefs
Colin Walters [Thu, 15 Feb 2024 15:15:26 +0000 (10:15 -0500)]
Switch to external composefs

Since there's now a stable shared library, let's use it.

20 months agoci: Drop `SKIP_INSTALLDEPS=1`
Colin Walters [Sun, 3 Dec 2023 20:24:52 +0000 (15:24 -0500)]
ci: Drop `SKIP_INSTALLDEPS=1`

Right now there's skew where we don't have composefs-devel
in the buildroot.  In general this optimization isn't worth it.

20 months agotests: Skip composefs tests without the feature
Colin Walters [Thu, 15 Feb 2024 15:31:26 +0000 (10:31 -0500)]
tests: Skip composefs tests without the feature

Previously this was masked by us shipping composefs vendored.

20 months agoinit-fs: Add --epoch=2
Colin Walters [Fri, 12 Apr 2024 20:10:36 +0000 (16:10 -0400)]
init-fs: Add --epoch=2

We want to start switching things so that the toplevel `/ostree`
repository is mode 0700, to close off unprivileged code
from being able to access it.  Previous deployment roots
may have setuid binaries, etc.  The `/var/lib/containers/storage`
directory is mode 0700 for this reason I believe.

Closes: https://github.com/ostreedev/ostree/issues/3211
20 months agoMerge pull request #3229 from cgwalters/init-deploy-0700
Colin Walters [Fri, 12 Apr 2024 18:00:27 +0000 (14:00 -0400)]
Merge pull request #3229 from cgwalters/init-deploy-0700

init-fs: Add --epoch

20 months agoinit-fs: Add --epoch
Colin Walters [Fri, 12 Apr 2024 12:56:13 +0000 (08:56 -0400)]
init-fs: Add --epoch

I want to add another variant here, and `--modern` is now old.  Let's
acknowledge that we may want to make even more changes in the
future.  So `--modern == --epoch=1` but I will add `--epoch=2` after
this.

20 months agoMerge pull request #3227 from alexlarsson/fix-fsverity-error-check
Colin Walters [Mon, 8 Apr 2024 16:40:03 +0000 (12:40 -0400)]
Merge pull request #3227 from alexlarsson/fix-fsverity-error-check

_ostree_ensure_fsverity: Properly check for errors

20 months ago_ostree_ensure_fsverity: Properly check for errors
Alexander Larsson [Mon, 8 Apr 2024 15:05:23 +0000 (17:05 +0200)]
_ostree_ensure_fsverity: Properly check for errors

If fs_verity_wanted == _OSTREE_FEATURE_YES we should fail if
!suported, but we were checking !supported where supported is a
pointer, not a boolean. This caused us to miss errors when the kernel
didn't support fs-verity that lead to lots of debugging.

20 months agoMerge pull request #3226 from ericcurtin/rm-rhivos
Colin Walters [Sat, 30 Mar 2024 13:40:17 +0000 (09:40 -0400)]
Merge pull request #3226 from ericcurtin/rm-rhivos

README & docs: Remove "RHIVOS" acronym

20 months agoREADME & docs: Remove "RHIVOS" acronym
Eric Curtin [Sat, 30 Mar 2024 13:15:34 +0000 (13:15 +0000)]
README & docs: Remove "RHIVOS" acronym

Remove the unofficial acronym RHIVOS from both the README and docs
files. The acronym is associated with Red Hat In-Vehicle Operating
System but isn't officially recognized.

Co-Authored-By: Felicia Kleinfelt <fkleinfe@redhat.com>
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
20 months agoMerge pull request #3220 from jlebon/pr/on-failure-isolate
Colin Walters [Thu, 21 Mar 2024 17:57:45 +0000 (13:57 -0400)]
Merge pull request #3220 from jlebon/pr/on-failure-isolate

ostree-prepare-root.service: add OnFailureJobMode=isolate

20 months agoostree-prepare-root.service: add OnFailureJobMode=isolate
Jonathan Lebon [Thu, 21 Mar 2024 16:19:32 +0000 (12:19 -0400)]
ostree-prepare-root.service: add OnFailureJobMode=isolate

This is stronger than the default (`replace`) because it tells systemd
to *stop everything* and go to `emergency.target`. In other codebases,
this has definitely helped me with the problem of "systemd keeps going
even after a failure".

Likely addresses #3219.

See also e.g. https://github.com/coreos/ignition-dracut/commit/3d2e165f97f30c1e62577357f27f32e60e6add18.

20 months agoMerge pull request #3218 from cgwalters/policy-allow-none
Colin Walters [Tue, 19 Mar 2024 16:28:54 +0000 (12:28 -0400)]
Merge pull request #3218 from cgwalters/policy-allow-none

sepolicy: Add missing `(nullable)`

20 months agoMerge pull request #3216 from cgwalters/mirrorlist-retries
Joseph Marrero Corchado [Tue, 19 Mar 2024 14:48:43 +0000 (10:48 -0400)]
Merge pull request #3216 from cgwalters/mirrorlist-retries

curl: Also map HTTP errors for retries

20 months agosepolicy: Add missing `(nullable)`
Colin Walters [Tue, 19 Mar 2024 00:38:19 +0000 (20:38 -0400)]
sepolicy: Add missing `(nullable)`

This can return NULL if there's no real policy.

Now obviously we need to update the Rust bindings too but...
I am having trouble doing that, we're pretty out of date with
upstream.

21 months agocurl: Also map HTTP errors for retries
Colin Walters [Fri, 15 Mar 2024 22:41:02 +0000 (18:41 -0400)]
curl: Also map HTTP errors for retries

When we added the retry logic, the intention here was definitely
to do it not just for network errors but also e.g. HTTP 500s and
the like.

xref https://pagure.io/releng/issue/11439
where we rather painfully debugged that this was missing.

21 months agoMerge pull request #3215 from cgwalters/release
Colin Walters [Thu, 14 Mar 2024 15:26:35 +0000 (11:26 -0400)]
Merge pull request #3215 from cgwalters/release

Release 2024.5

21 months agoconfigure: post-release version bump
Colin Walters [Thu, 14 Mar 2024 13:47:14 +0000 (09:47 -0400)]
configure: post-release version bump

21 months agoRelease 2024.5
Colin Walters [Thu, 14 Mar 2024 13:46:17 +0000 (09:46 -0400)]
Release 2024.5

21 months agoMerge pull request #3214 from cgwalters/checkout-overwrite-force
Colin Walters [Wed, 13 Mar 2024 20:05:23 +0000 (16:05 -0400)]
Merge pull request #3214 from cgwalters/checkout-overwrite-force

checkout: Always replace existing content with overlay mode

21 months agocheckout: Always replace existing content in overlay mode
Colin Walters [Wed, 13 Mar 2024 16:50:28 +0000 (12:50 -0400)]
checkout: Always replace existing content in overlay mode

The combination of the "honor whiteout" and "union" flags
are intended to basically be "merge trees like overlayfs does".
But we were missing this case in order to support e.g. replacing
a symlink with a directory.

21 months agoMerge pull request #3213 from rborn-tx/fix-early-prune
Jonathan Lebon [Wed, 13 Mar 2024 17:24:27 +0000 (13:24 -0400)]
Merge pull request #3213 from rborn-tx/fix-early-prune

21 months agodeploy: Ensure boot directory is open before accessing it
Rogerio Guerra Borin [Tue, 12 Mar 2024 20:02:58 +0000 (17:02 -0300)]
deploy: Ensure boot directory is open before accessing it

This fixes a bug in the (early) deployment pruning function which before
tried to access the boot directory without opening it first.

Signed-off-by: Rogerio Guerra Borin <rogerio.borin@toradex.com>
21 months agoMerge pull request #3208 from HuijingHei/split-whitespace
Huijing Hei [Mon, 11 Mar 2024 01:59:43 +0000 (09:59 +0800)]
Merge pull request #3208 from HuijingHei/split-whitespace

kargs: parse spaces in kargs input and keep quotes

21 months agokargs: parse spaces in kargs input and keep quotes
HuijingHei [Mon, 4 Mar 2024 02:44:42 +0000 (10:44 +0800)]
kargs: parse spaces in kargs input and keep quotes

According to Jonathan's suggestion, should fix the code from
ostree repo.

With this patch:
- kargs input like "init_on_alloc=1 init_on_free=1", will be
parsed as 2 seperated args `init_on_alloc=1` and `init_on_free=1`,
instead of whole;
- According to https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html,
need to keep spaces in double-quotes, like `param="spaces in here"`
will be parsed as whole instead of 3.

Fixes https://github.com/coreos/rpm-ostree/issues/4821

21 months agoMerge pull request #3206 from cgwalters/enable-new-naming
Eric Curtin [Thu, 7 Mar 2024 10:53:56 +0000 (10:53 +0000)]
Merge pull request #3206 from cgwalters/enable-new-naming

sysroot: Turn on bootloader-naming-2 by default

21 months agosysroot: Turn on bootloader-naming-2 by default
Colin Walters [Wed, 28 Feb 2024 14:40:34 +0000 (09:40 -0500)]
sysroot: Turn on bootloader-naming-2 by default

I think it's about time we flipped this on by default;
like the bootprefix I was a bit too chicken.  We still have
a `bootloader-naming-1` that can be flipped on in case of
some regression.

Closes: https://github.com/ostreedev/ostree/issues/2961
21 months agoMerge pull request #3205 from cgwalters/fix-grub-probing
Colin Walters [Tue, 27 Feb 2024 21:00:29 +0000 (16:00 -0500)]
Merge pull request #3205 from cgwalters/fix-grub-probing

bootloader/grub2: Don't do anything if we have static configs

21 months agobootloader/grub2: Don't do anything if we have static configs
Colin Walters [Tue, 27 Feb 2024 18:14:16 +0000 (13:14 -0500)]
bootloader/grub2: Don't do anything if we have static configs

This builds on top of https://github.com/coreos/bootupd/pull/609/commits/fa9924e4fe403c3751392c041cd98614a2cc3611
(But in a very hacky way because we don't currently link to a JSON library)

Basically, bootupd supports injecting static configs, and this
is the currently least hacky way for us to detect this and understand
that we shouldn't try to run `grub2-mkconfig`.

A further patch I'd like to do here is also change the probing
logic to gracefully no-op if `grub2-mkconfig` doesn't exist,
but that has a bit more risk and involvement.

21 months agoMerge pull request #3204 from cgwalters/quiet-config-load
Colin Walters [Tue, 27 Feb 2024 18:03:45 +0000 (13:03 -0500)]
Merge pull request #3204 from cgwalters/quiet-config-load

otcore: Drop config load print

21 months agoMerge pull request #3203 from dbnicholson/version-sigpipe
Colin Walters [Tue, 27 Feb 2024 17:24:35 +0000 (12:24 -0500)]
Merge pull request #3203 from dbnicholson/version-sigpipe

main: Ignore SIGPIPE when printing version

21 months agootcore: Drop config load print
Colin Walters [Tue, 27 Feb 2024 15:59:02 +0000 (10:59 -0500)]
otcore: Drop config load print

Now that we're using `otcore_load_config` from the deploy
path we end up printing to stdout even for API callers (e.g.
our own CLI tools, and rpm-ostree/bootc/etc) which is wrong.

We don't need this print, so just drop it.

21 months agomain: Ignore SIGPIPE when printing version
Dan Nicholson [Tue, 27 Feb 2024 15:41:46 +0000 (08:41 -0700)]
main: Ignore SIGPIPE when printing version

In order to do a runtime feature check, `ostree --version` can be piped
to `grep` or similar. However, if the read end of the pipe doesn't read
all of the output, `ostree` will receive `SIGPIPE` when trying to write
output. Ignore it so that `ostree` still exits successfully in that
case.

21 months agoMerge pull request #3196 from cgwalters/fix-sepolicy-public
Colin Walters [Sun, 25 Feb 2024 15:45:12 +0000 (10:45 -0500)]
Merge pull request #3196 from cgwalters/fix-sepolicy-public

sepolicy: Fix publicity mismatch for ostree_sepolicy_host_enabled

21 months agoMerge pull request #3199 from travier/docs-fix
Timothée Ravier [Sat, 24 Feb 2024 15:45:37 +0000 (16:45 +0100)]
Merge pull request #3199 from travier/docs-fix

docs: Move SPDX identifiers under first title