ostree.git
22 months agoBuild-depend on dh-sequence-gir instead of using --with
Simon McVittie [Sun, 11 Feb 2024 13:56:26 +0000 (13:56 +0000)]
Build-depend on dh-sequence-gir instead of using --with

22 months agoUpdate Lintian overrides for ostree-boot
Simon McVittie [Sun, 11 Feb 2024 13:51:46 +0000 (13:51 +0000)]
Update Lintian overrides for ostree-boot

22 months agod/ostree-boot.lintian-overrides: Stop overriding package-supports-alternative-init...
Simon McVittie [Sun, 11 Feb 2024 13:50:22 +0000 (13:50 +0000)]
d/ostree-boot.lintian-overrides: Stop overriding package-supports-alternative-init-but-no-init.d-script

22 months agoUpdate changelog
Simon McVittie [Sun, 11 Feb 2024 11:54:33 +0000 (11:54 +0000)]
Update changelog

22 months agoUpdate upstream source from tag 'upstream/2024.2'
Simon McVittie [Sun, 11 Feb 2024 11:53:41 +0000 (11:53 +0000)]
Update upstream source from tag 'upstream/2024.2'

Update to upstream version '2024.2'
with Debian dir a5ebaca5312ccfdd636dc41588606fbe0771f380

22 months agoNew upstream version 2024.2
Simon McVittie [Sun, 11 Feb 2024 11:53:33 +0000 (11:53 +0000)]
New upstream version 2024.2

22 months agoUpdate changelog
Simon McVittie [Sun, 11 Feb 2024 11:52:31 +0000 (11:52 +0000)]
Update changelog

22 months agoRelease 2024.2
Colin Walters [Wed, 7 Feb 2024 23:24:04 +0000 (18:24 -0500)]
Release 2024.2

22 months agoMerge pull request #3164 from cgwalters/prepare-root-device-inode
Colin Walters [Thu, 8 Feb 2024 18:10:06 +0000 (13:10 -0500)]
Merge pull request #3164 from cgwalters/prepare-root-device-inode

Track deployment root/inode from prepare root

22 months agoTrack deployment root/inode from prepare root
Colin Walters [Thu, 8 Feb 2024 15:13:57 +0000 (10:13 -0500)]
Track deployment root/inode from prepare root

When we added composefs, it broke the logic for detecting the booted
deployment which was previously a direct (device, inode) comparison.
So the code there started looking at `etc`.  However, that in
turns breaks with `etc.transient = true` enabled.

Fix all of this by tracking the real deployment directory's
(device,inode) that we found in `ostree-prepare-root`, and inject
it into the extensible metadata we have in `/run/ostree-booted`
which is designed exactly to pass state between the initramfs
and the real root.

Signed-off-by: Colin Walters <walters@verbum.org>
22 months agoMerge pull request #3159 from cgwalters/revert-bootprefix
Eric Curtin [Wed, 7 Feb 2024 22:26:25 +0000 (23:26 +0100)]
Merge pull request #3159 from cgwalters/revert-bootprefix

Revert "Enable `sysroot.bootprefix` by default"

22 months agoRevert "Enable `sysroot.bootprefix` by default"
Colin Walters [Wed, 7 Feb 2024 20:43:11 +0000 (15:43 -0500)]
Revert "Enable `sysroot.bootprefix` by default"

This reverts commit 8627c8afa15fa0b2dc2dc261a217dd043a991a7d.

See discussion in https://github.com/ostreedev/ostree/pull/3156 ;
we think this breaks s390x in some cases at least, and that warrants
further investigation.

22 months agoMerge pull request #3156 from cgwalters/enable-bootprefix-default
Colin Walters [Tue, 6 Feb 2024 22:58:42 +0000 (17:58 -0500)]
Merge pull request #3156 from cgwalters/enable-bootprefix-default

Enable `sysroot.bootprefix` by default

22 months agoEnable `sysroot.bootprefix` by default
Colin Walters [Mon, 5 Feb 2024 19:14:27 +0000 (14:14 -0500)]
Enable `sysroot.bootprefix` by default

I've been testing this in various places and not seen any fallout,
so let's finally enable this by default and have the situation where
`/boot` is on the root `/` filesystem work out of the box.

22 months agoMerge pull request #3158 from jlebon/pr/main
Eric Curtin [Tue, 6 Feb 2024 21:18:28 +0000 (22:18 +0100)]
Merge pull request #3158 from jlebon/pr/main

admin/state-overlay: Require root and don't lock sysroot

22 months agogenerator: Restore graceful exit behaviour if `ostree` karg missing
Jonathan Lebon [Tue, 6 Feb 2024 19:42:32 +0000 (14:42 -0500)]
generator: Restore graceful exit behaviour if `ostree` karg missing

In CoreOS live environments, we do have `/run/ostree` but no `ostree=`
karg; we hackily fool `ostree-prepare-root.service` by bind-mounting
over `/proc/cmdline` so it does the right thing. Presumably, we should
clean this up eventually, but even so we don't want to require PXE users
to add an `ostree=` arg, so we need to tolerate this.

So this assertion would fail there. Restore the behaviour prior to
b9ce0e89 and re-add a more contemporary comment.

Fixes b9ce0e89 ("generator: Exit if there's no `/run/ostree`").

22 months agoMerge pull request #3157 from cgwalters/syslinux-bootprefix-fix
Colin Walters [Tue, 6 Feb 2024 15:44:07 +0000 (10:44 -0500)]
Merge pull request #3157 from cgwalters/syslinux-bootprefix-fix

syslinux: Avoid double `/boot` if bootprefix is enabled

22 months agoadmin/state-overlay: Require root and don't lock sysroot
Jonathan Lebon [Tue, 6 Feb 2024 15:27:34 +0000 (10:27 -0500)]
admin/state-overlay: Require root and don't lock sysroot

Not required for anything in particular, but it's good to use the right
flags here anyway.

22 months agosyslinux: Avoid double `/boot` if bootprefix is enabled
Colin Walters [Mon, 5 Feb 2024 20:01:40 +0000 (15:01 -0500)]
syslinux: Avoid double `/boot` if bootprefix is enabled

This backend always explicitly emitted a `/boot` - but if
the global `sysroot.bootprefix` is enabled, then we can rely
on the outer code doing it.

Luckily this was caught by the unit tests here failing when
enabling `sysroot.bootprefix` by default.

22 months agoMerge pull request #3150 from travier/grub2-15_ostree-atomic-desktops
Colin Walters [Thu, 1 Feb 2024 13:42:43 +0000 (08:42 -0500)]
Merge pull request #3150 from travier/grub2-15_ostree-atomic-desktops

grub2-15_ostree: Graceful exit if /etc/default/grub doesn't exist

22 months agoMerge pull request #3152 from cgwalters/ci-bootc
Colin Walters [Wed, 31 Jan 2024 20:44:51 +0000 (15:44 -0500)]
Merge pull request #3152 from cgwalters/ci-bootc

ci: Add a bootc/c9s workflow

22 months agoci: Add a bootc/c9s workflow
Colin Walters [Wed, 31 Jan 2024 18:46:25 +0000 (13:46 -0500)]
ci: Add a bootc/c9s workflow

This obsoletes the "just build" on c9s flow, and actually runs
though a bootc install, which exercises more of things.

22 months agogrub2-15_ostree: Fix whitespace
Timothée Ravier [Wed, 31 Jan 2024 14:41:54 +0000 (15:41 +0100)]
grub2-15_ostree: Fix whitespace

22 months agogrub2-15_ostree: Graceful exit if /etc/default/grub doesn't exist
Timothée Ravier [Wed, 31 Jan 2024 14:38:31 +0000 (15:38 +0100)]
grub2-15_ostree: Graceful exit if /etc/default/grub doesn't exist

With the new bootupd installation path in Anaconda, the
`/etc/default/grub` config file is not written anymore as we are only
using BLS configs with new enough bootloaders.

We thus don't need to generate (duplicated) legacy boot entries.

We still need to keep this logic in place in Atomic Desktops
(Silverblue, etc.) until we've actually landed bootupd there and forced
a bootloader update for everybody.

See: https://github.com/fedora-silverblue/issue-tracker/issues/530
See: https://github.com/fedora-silverblue/issue-tracker/issues/120
See: https://fedoraproject.org/wiki/Changes/FedoraSilverblueBootupd

22 months agoMerge pull request #3149 from alexlarsson/new-composefs-format
Colin Walters [Wed, 31 Jan 2024 13:27:19 +0000 (08:27 -0500)]
Merge pull request #3149 from alexlarsson/new-composefs-format

composefs: Bump composefs max version to 1

22 months agocomposefs: Bump composefs max version to 1
Alexander Larsson [Wed, 31 Jan 2024 11:01:36 +0000 (12:01 +0100)]
composefs: Bump composefs max version to 1

This generates the new format for whiteout markers which was added in
6.8 (and which will be backported to 6.7). Without this whiteouts
will not work anymore.

This is a slight format change, but will only affect ostree commits
that already were broken (i.e that had whiteouts), and since the
composefs code is still marked experimental I think it is fine to
do this without introducing another format version on the ostree
side.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
22 months agoUpdate submodule: composefs
Alexander Larsson [Wed, 31 Jan 2024 10:50:22 +0000 (11:50 +0100)]
Update submodule: composefs

This updates composefs to 1.0.3 which has support for the
new overlay nesting format.

22 months agoMerge pull request #3146 from ericcurtin/ot-admin-builtin-pin-booted-pending-rollback
Colin Walters [Mon, 29 Jan 2024 16:33:43 +0000 (11:33 -0500)]
Merge pull request #3146 from ericcurtin/ot-admin-builtin-pin-booted-pending-rollback

admin/pin: Add commands to pin booted, pending and rollbacks deployments

22 months agoadmin/pin: Add commands to pin booted, pending and rollback deployments
Eric Curtin [Wed, 24 Jan 2024 16:23:51 +0000 (16:23 +0000)]
admin/pin: Add commands to pin booted, pending and rollback deployments

Add new commands to pin the current, staged and previous deployment for
use in automation and scripting. Right now, it's difficult to pin the
current deployment without needing to look into the output of some other
tooling (like rpm-ostree) to get the index of each deployment. This
index also is not consistent - the current deployment could be 0 when
you first boot the system then 1 shortly after. This change makes it
easy to pin the current or future deployment.

Co-authored-by: Robert Sturla <robertsturla@outlook.com>
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
22 months agoMerge pull request #3147 from cgwalters/generator-check-run-ostree
Colin Walters [Sat, 27 Jan 2024 16:10:31 +0000 (11:10 -0500)]
Merge pull request #3147 from cgwalters/generator-check-run-ostree

generator: Exit if there's no `/run/ostree`

22 months agogenerator: Exit if there's no `/run/ostree`
Colin Walters [Fri, 26 Jan 2024 23:10:37 +0000 (18:10 -0500)]
generator: Exit if there's no `/run/ostree`

Currently if run in a container image under systemd, we will
incorrectly synthesize a `var.mount` unit even if `ostree-prepare-root`
hasn't run.

The comment here said why we didn't do that before, but that's
for the really legacy embedded-only "ostree-prepare-root-static"
path, and even then I'm pretty sure it was wrong because
the generator here only runs in the *real* root, and we should
have `/run/ostree` at that point.

22 months agoMerge pull request #3145 from smcv/composefs-xattr
Eric Curtin [Thu, 25 Jan 2024 23:29:52 +0000 (23:29 +0000)]
Merge pull request #3145 from smcv/composefs-xattr

tests: Skip composefs test if /var/tmp does not support user xattrs

22 months agoRe-enable composefs, this time with a proposed patch to avoid test failures
Simon McVittie [Wed, 24 Jan 2024 14:50:04 +0000 (14:50 +0000)]
Re-enable composefs, this time with a proposed patch to avoid test failures

We can't run its unit tests on a Debian 12 kernel with /var/tmp on tmpfs,
but they do pass on a sid kernel or if /var/tmp is disk-backed.

22 months agotests: Skip composefs test if /var/tmp does not support user xattrs
Simon McVittie [Wed, 24 Jan 2024 13:55:12 +0000 (13:55 +0000)]
tests: Skip composefs test if /var/tmp does not support user xattrs

Otherwise, this test fails on Debian 12 (Linux 6.1) kernels if /var/tmp
is a tmpfs. Some autobuilders put the entire build chroot on a tmpfs,
to speed up builds.

Signed-off-by: Simon McVittie <smcv@debian.org>
22 months agoRelease to unstable
Simon McVittie [Wed, 24 Jan 2024 10:21:58 +0000 (10:21 +0000)]
Release to unstable

22 months agoPackage ostree-state-overlay@.service in ostree-boot
Simon McVittie [Wed, 24 Jan 2024 10:19:41 +0000 (10:19 +0000)]
Package ostree-state-overlay@.service in ostree-boot

22 months agoNew upstream release
Simon McVittie [Wed, 24 Jan 2024 10:19:28 +0000 (10:19 +0000)]
New upstream release

22 months agoUpdate upstream source from tag 'upstream/2024.1'
Simon McVittie [Wed, 24 Jan 2024 10:05:58 +0000 (10:05 +0000)]
Update upstream source from tag 'upstream/2024.1'

Update to upstream version '2024.1'
with Debian dir f3fbf483a817eb018d71a499e456aef86b3be134

22 months agoNew upstream version 2024.1
Simon McVittie [Wed, 24 Jan 2024 10:05:50 +0000 (10:05 +0000)]
New upstream version 2024.1

22 months agoMerge pull request #3143 from yummypeng/main
Colin Walters [Tue, 23 Jan 2024 02:05:44 +0000 (21:05 -0500)]
Merge pull request #3143 from yummypeng/main

deploy: Ignore sockets, fifos in /etc/<subdir> during merge

22 months agodeploy: Ignore sockets, fifos in /etc/<subdir> during merge
Yuanhong Peng [Mon, 22 Jan 2024 10:03:55 +0000 (18:03 +0800)]
deploy: Ignore sockets, fifos in /etc/<subdir> during merge

It's a followup of commit e6a560b40797324aa8b90e7100c6d50bff91f14d.
We should also ignore sockets and fifos in the subdir of /etc.

Signed-off-by: Yuanhong Peng <yummypeng@linux.alibaba.com>
22 months agoMerge pull request #3141 from cgwalters/release
Colin Walters [Sun, 21 Jan 2024 16:00:20 +0000 (11:00 -0500)]
Merge pull request #3141 from cgwalters/release

Release 2024.1

22 months agoconfigure: post-release version bump
Colin Walters [Fri, 19 Jan 2024 22:27:09 +0000 (17:27 -0500)]
configure: post-release version bump

22 months agoRelease 2024.1
Colin Walters [Fri, 19 Jan 2024 22:26:26 +0000 (17:26 -0500)]
Release 2024.1

23 months agoMerge pull request #3135 from ericcurtin/aboot-documentation
Colin Walters [Thu, 11 Jan 2024 16:57:22 +0000 (11:57 -0500)]
Merge pull request #3135 from ericcurtin/aboot-documentation

doc: Add section about ostree and aboot

23 months agoMerge pull request #3120 from jlebon/pr/state-overlays
Colin Walters [Thu, 11 Jan 2024 16:56:44 +0000 (11:56 -0500)]
Merge pull request #3120 from jlebon/pr/state-overlays

Add concept of state overlays

23 months agobuild(deps): bump libglnx from `aff1eea` to `b415d046`
Jonathan Lebon [Wed, 10 Jan 2024 18:17:06 +0000 (13:17 -0500)]
build(deps): bump libglnx from `aff1eea` to `b415d046`

Bumps libglnx from `aff1eea` to `b415d046`.

For https://gitlab.gnome.org/GNOME/libglnx/-/merge_requests/52.

Update submodule: libglnx

23 months agoAdd concept of state overlays
Jonathan Lebon [Thu, 14 Dec 2023 21:46:14 +0000 (16:46 -0500)]
Add concept of state overlays

In the OSTree model, executables go in `/usr`, state in `/var` and
configuration in `/etc`. Software that lives in `/opt` however messes
this up because it often mixes code *and* state, making it harder to
manage.

More generally, it's sometimes useful to have the OSTree commit contain
code under a certain path, but still allow that path to be writable by
software and the sysadmin at runtime (`/usr/local` is another instance).

Add the concept of state overlays. A state overlay is an overlayfs
mount whose upper directory, which contains unmanaged state, is carried
forward on top of a lower directory, containing OSTree-managed files.

In the example of `/usr/local`, OSTree commits can ship content there,
all while allowing users to e.g. add scripts in `/usr/local/bin` when
booted into that commit.

Some reconciliation logic is executed whenever the base is updated so
that newer files in the base are never shadowed by a copied up version
in the upper directory. This matches RPM semantics when upgrading
packages whose files may have been modified.

For ease of integration, this is exposed as a systemd template unit which
any downstream distro/user can enable. The instance name is the mountpath
in escaped systemd path notation (e.g.
`ostree-state-overlay@usr-local.service`).

See discussions in https://github.com/ostreedev/ostree/issues/3113 for
more details.

23 months agoMerge pull request #3136 from ericcurtin/pr-3134-feedback
Jonathan Lebon [Tue, 9 Jan 2024 16:40:58 +0000 (11:40 -0500)]
Merge pull request #3136 from ericcurtin/pr-3134-feedback

23 months agostatus: Rename query-booted to is-default
Eric Curtin [Tue, 9 Jan 2024 15:23:47 +0000 (15:23 +0000)]
status: Rename query-booted to is-default

This is a tool to check if we are booted as default or not, just a
rename before it becomes widely used. We also shortened the '-h' output
for this.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agoMerge pull request #3134 from ericcurtin/query-boot-real
Colin Walters [Mon, 8 Jan 2024 18:14:50 +0000 (13:14 -0500)]
Merge pull request #3134 from ericcurtin/query-boot-real

status: Introduce tool to quickly check if we are booted as default

23 months agoMerge pull request #3133 from cgwalters/boot-complete-rollback
Colin Walters [Mon, 8 Jan 2024 12:38:53 +0000 (07:38 -0500)]
Merge pull request #3133 from cgwalters/boot-complete-rollback

systemd/ostree-boot-complete: Start earlier

23 months agostatus: Fix --skip-signatures description
Eric Curtin [Fri, 5 Jan 2024 18:18:22 +0000 (18:18 +0000)]
status: Fix --skip-signatures description

It was a copy-paste of another description, rather than it's own.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agoman: Add ostree admin status man page CLI options.
Eric Curtin [Fri, 5 Jan 2024 17:08:43 +0000 (17:08 +0000)]
man: Add ostree admin status man page CLI options.

Document the various CLI options.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agostatus: Introduce tool to quickly check if we are booted as default
Eric Curtin [Fri, 5 Jan 2024 15:49:39 +0000 (15:49 +0000)]
status: Introduce tool to quickly check if we are booted as default

Generally in ostree based systems you would expect to boot into
deployment 0, in rollback conditions triggered by greenboot-related
rollbacks this might not be the case. This is a tool to detect this.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agodoc: Add section about ostree and aboot
Eric Curtin [Fri, 5 Jan 2024 17:32:44 +0000 (17:32 +0000)]
doc: Add section about ostree and aboot

Android Bootloader is a standard of how Android devices should implement
their bootloaders, we also use it in CentOS Automotive Stream
Distribution for some ARM boards. Here is some documentation on how
ostree works with this.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agoMerge pull request #3132 from ericcurtin/query-boot
Colin Walters [Fri, 5 Jan 2024 17:22:57 +0000 (12:22 -0500)]
Merge pull request #3132 from ericcurtin/query-boot

status: Fix build without GPGME

23 months agosystemd/ostree-boot-complete: Start earlier
Colin Walters [Fri, 5 Jan 2024 15:58:57 +0000 (10:58 -0500)]
systemd/ostree-boot-complete: Start earlier

Prep for changing this service to perform state computations
such as "is this boot the default, or did we get rolled back"
that can be used by higher level tools.

23 months agosystemd/ostree-boot-complete: Add `ConditionKernelCommandLine=ostree`
Colin Walters [Fri, 5 Jan 2024 15:57:16 +0000 (10:57 -0500)]
systemd/ostree-boot-complete: Add `ConditionKernelCommandLine=ostree`

In practice we don't enable this unit except via our generator,
but let's do this on general principle.

23 months agostatus: Fix build without GPGME
Eric Curtin [Fri, 5 Jan 2024 14:39:46 +0000 (14:39 +0000)]
status: Fix build without GPGME

If OSTREE_DISABLE_GPGME is not built in set remote to NULL.

The ostree_repo_signature_verify_commit_data path is irrelevant in the
no gpg case anyway. Having this set as NULL ensures an error gets
thrown early.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agoMerge pull request #3131 from cgwalters/status-use-remote
Eric Curtin [Fri, 5 Jan 2024 14:28:47 +0000 (14:28 +0000)]
Merge pull request #3131 from cgwalters/status-use-remote

status: Pass correct remote name when verifying

23 months agoMerge pull request #3130 from jlebon/pr/autoprune-aarch64-dtb
Colin Walters [Thu, 4 Jan 2024 20:57:08 +0000 (15:57 -0500)]
Merge pull request #3130 from jlebon/pr/autoprune-aarch64-dtb

lib/deploy: Round to block size in early prune space check

23 months agostatus: Add an option to skip signature verification
Colin Walters [Thu, 4 Jan 2024 19:02:08 +0000 (14:02 -0500)]
status: Add an option to skip signature verification

Since it's really expensive in some cases.

23 months agostatus: Pass correct remote name when verifying
Colin Walters [Thu, 4 Jan 2024 18:55:14 +0000 (13:55 -0500)]
status: Pass correct remote name when verifying

The default `ostree admin status` tries to do signature
verification, but doesn't error out if that fails.

However, an extremely longstanding bug here is that we passed
the "osname" aka stateroot instead of the remote name.  This
happens to work for e.g. Fedora Silverblue today, where they
are the same.  It doesn't work on FCOS (remote = fedora, stateroot = fedora-coreos).

23 months agolib/deploy: Add safety margin in early prune space check
Jonathan Lebon [Thu, 4 Jan 2024 16:14:40 +0000 (11:14 -0500)]
lib/deploy: Add safety margin in early prune space check

There are a few things the estimator doesn't account for, e.g. writing
the new BLS entries. Rather than trying to perfect it (since I think we
should change approach entirely -- see previous commit message), just
add a 1M margin to the space check.

23 months agolib/deploy: Round to block size in early prune space check
Jonathan Lebon [Thu, 4 Jan 2024 16:14:39 +0000 (11:14 -0500)]
lib/deploy: Round to block size in early prune space check

When we estimate how much space a new bootcsum dir will use, we
weren't accounting for the space overhead from files not using the
last filesystem block completely. This doesn't matter much if counting
a few files, but e.g. on FCOS aarch64, we include lots of small
devicetree blobs in the bootfs. That loss can add up to enough for the
`fallocate()` check to pass but copying still hitting `ENOSPC` later on.

I think a better fix here is to change approach entirely and instead
refactor `install_deployment_kernel()` so that we can call just the
copying bits of it as part of the early prune logic. We'll get a more
accurate assessment and it's not lost work since we won't need to
recopy later on. Also this would not require having to keep in sync the
estimator and the install bits.

That said, this is blocking FCOS releases, so I went with a more tactical
fix for now.

Fixes: https://github.com/coreos/fedora-coreos-tracker/issues/1637
23 months agoMerge pull request #3129 from cgwalters/fix-unlock-composefs-compat
Colin Walters [Thu, 4 Jan 2024 15:40:09 +0000 (10:40 -0500)]
Merge pull request #3129 from cgwalters/fix-unlock-composefs-compat

prepare-root: Fix composefs + ostree admin unlock --hotfix compat

23 months agoMerge pull request #3128 from cgwalters/hotfix-composefs
Eric Curtin [Thu, 4 Jan 2024 12:05:02 +0000 (12:05 +0000)]
Merge pull request #3128 from cgwalters/hotfix-composefs

switchroot: use shared constant for unlock --hotfix

23 months agoswitchroot: use shared constant for unlock --hotfix
Colin Walters [Wed, 3 Jan 2024 18:05:15 +0000 (13:05 -0500)]
switchroot: use shared constant for unlock --hotfix

So it's easier to link the two bits of code.

23 months agoprepare-root: Fix composefs + ostree admin unlock --hotfix compat
Colin Walters [Wed, 3 Jan 2024 19:01:38 +0000 (14:01 -0500)]
prepare-root: Fix composefs + ostree admin unlock --hotfix compat

There's a test case for `ostree admin unlock --hotfix` that
runs in FCOS, not here; it breaks when enabling composefs.

The reason is because the composefs is mounted readonly, and
we tried to remount it writable.  Instead of trying to remount
the rootfs writable at this point forcibly, honor the
*real* sysroot readonly state flag from the underlying FS before
we mounted the composefs.

Note that in FCOS derivatives we always have the root mounted
writable via `rw` on the kernel cmdline and this is the default
general expectation now with ostree usage.

23 months agoMerge pull request #3127 from cgwalters/composefs-doc-toplevel-chattr
Colin Walters [Tue, 2 Jan 2024 20:53:01 +0000 (15:53 -0500)]
Merge pull request #3127 from cgwalters/composefs-doc-toplevel-chattr

docs/composefs: Add note about toplevel dirs

23 months agoMerge pull request #3119 from cgwalters/zipl-fix-nul-term
Joseph Marrero Corchado [Tue, 2 Jan 2024 20:49:24 +0000 (15:49 -0500)]
Merge pull request #3119 from cgwalters/zipl-fix-nul-term

zipl: A few fixes

23 months agodocs/composefs: Add note about toplevel dirs
Colin Walters [Tue, 2 Jan 2024 20:16:47 +0000 (15:16 -0500)]
docs/composefs: Add note about toplevel dirs

Just thinking about trying to land this, I think some people
may hit this one.

23 months agod/rules: Fix autoreconf during nodoc builds by providing a stub gtkdocize
Simon McVittie [Sun, 31 Dec 2023 15:46:49 +0000 (15:46 +0000)]
d/rules: Fix autoreconf during nodoc builds by providing a stub gtkdocize

23 months agoRelease to unstable
Simon McVittie [Sun, 31 Dec 2023 15:34:50 +0000 (15:34 +0000)]
Release to unstable

23 months agod/control, d/rules: Enable cross-compilation
Simon McVittie [Sun, 31 Dec 2023 15:34:21 +0000 (15:34 +0000)]
d/control, d/rules: Enable cross-compilation

When cross-compiling, this requires a version of gobject-introspection
that is currently only available in experimental. When not
cross-compiling, the version in testing is sufficient.

23 months agoMerge pull request #3125 from ericcurtin/explicit-sysroot-rw-ro-log
Colin Walters [Sat, 30 Dec 2023 15:55:09 +0000 (16:55 +0100)]
Merge pull request #3125 from ericcurtin/explicit-sysroot-rw-ro-log

switchroot: Be explicit about what could cause /sysroot to be ro

23 months agoswitchroot: Be explicit about what could cause /sysroot to be ro
Eric Curtin [Thu, 21 Dec 2023 17:11:55 +0000 (17:11 +0000)]
switchroot: Be explicit about what could cause /sysroot to be ro

If you don't have rw in the kernel cmdline or have ro in it, often you
hit this issue. This is just to be really explicit about that in the
error messages so people can check.

Signed-off-by: Eric Curtin <ecurtin@redhat.com>
23 months agoMerge pull request #3124 from cgwalters/rust-features
Eric Curtin [Wed, 20 Dec 2023 12:48:53 +0000 (12:48 +0000)]
Merge pull request #3124 from cgwalters/rust-features

rust: Add missing feature versions

23 months agoMerge pull request #3123 from cgwalters/deploy-log-space
Colin Walters [Wed, 20 Dec 2023 12:22:21 +0000 (07:22 -0500)]
Merge pull request #3123 from cgwalters/deploy-log-space

deploy: Log calculated needed space

23 months agodeploy: Log calculated needed space
Colin Walters [Tue, 19 Dec 2023 20:00:05 +0000 (15:00 -0500)]
deploy: Log calculated needed space

To aid debugging issues like https://github.com/coreos/fedora-coreos-tracker/issues/1637

If we're hitting this path where we think we have enough space,
let's log what we calculated here to aid in diagnosing why we
may later fail with ENOSPC.

23 months agorust: Add missing feature versions
Colin Walters [Wed, 20 Dec 2023 02:01:21 +0000 (21:01 -0500)]
rust: Add missing feature versions

- We missed 2022_2, which specifically includes
  https://docs.rs/ostree/latest/ostree/static.PATH_BOOTED.html
  and I was really confused why that was missing
- Add more recent upstream versions too

23 months agoMerge pull request #3121 from fwilhe/patch-1
Colin Walters [Mon, 18 Dec 2023 14:22:13 +0000 (09:22 -0500)]
Merge pull request #3121 from fwilhe/patch-1

Link to gardenlinux/ostree-image-builder in README

2 years agoLink to gardenlinux/ostree-image-builder in README
Florian Wilhelm [Mon, 18 Dec 2023 13:12:45 +0000 (14:12 +0100)]
Link to gardenlinux/ostree-image-builder in README

This repo is the outcome of a PoC on how an existing
debian-based distro could be adapted to be used with OSTree.

2 years agoMerge pull request #3116 from jmarrero/bootloader-doc
Eric Curtin [Thu, 14 Dec 2023 22:05:10 +0000 (22:05 +0000)]
Merge pull request #3116 from jmarrero/bootloader-doc

doc: Add section about ostree and bootloaders

2 years agozipl: Convert to a data input stream
Colin Walters [Thu, 14 Dec 2023 13:06:57 +0000 (08:06 -0500)]
zipl: Convert to a data input stream

This high level reader API avoids all the bugs that were
found in previous patches.

2 years agozipl: NUL terminate buffer we're searching
Colin Walters [Thu, 14 Dec 2023 13:03:01 +0000 (08:03 -0500)]
zipl: NUL terminate buffer we're searching

Found by a static analyzer.

2 years agozipl: Fix error handling for read
Colin Walters [Thu, 14 Dec 2023 13:00:38 +0000 (08:00 -0500)]
zipl: Fix error handling for read

The return value is not errno.

2 years agozipl: Use O_CLOEXEC
Colin Walters [Thu, 14 Dec 2023 12:57:43 +0000 (07:57 -0500)]
zipl: Use O_CLOEXEC

On general principle.

2 years agodoc: Add section about ostree and bootloaders
Joseph Marrero [Fri, 8 Dec 2023 15:44:01 +0000 (10:44 -0500)]
doc: Add section about ostree and bootloaders

2 years agoMerge pull request #3117 from cgwalters/doc-root-transient
Joseph Marrero Corchado [Mon, 11 Dec 2023 19:23:33 +0000 (14:23 -0500)]
Merge pull request #3117 from cgwalters/doc-root-transient

Doc root transient

2 years agodocs: Add `var.md`
Colin Walters [Fri, 8 Dec 2023 19:01:13 +0000 (14:01 -0500)]
docs: Add `var.md`

This one overlaps a bit with some other sections...the docs
need a bigger rework, but this is better than we had before.

2 years agoman: Document `root.transient`
Colin Walters [Fri, 8 Dec 2023 18:58:42 +0000 (13:58 -0500)]
man: Document `root.transient`

This one warrants some explanation.

2 years agoMerge pull request #3114 from cgwalters/root-ovl
Eric Curtin [Fri, 8 Dec 2023 14:02:56 +0000 (14:02 +0000)]
Merge pull request #3114 from cgwalters/root-ovl

prepare-root: Add support for root.transient

2 years agoRelease to unstable
Simon McVittie [Fri, 8 Dec 2023 10:35:22 +0000 (10:35 +0000)]
Release to unstable

2 years agoUpdate changelog
Simon McVittie [Fri, 8 Dec 2023 10:34:21 +0000 (10:34 +0000)]
Update changelog

2 years agod/p/bootloader-zipl-No-op-if-run-as-non-root.patch: Drop patch, applied upstream
Simon McVittie [Fri, 8 Dec 2023 10:33:58 +0000 (10:33 +0000)]
d/p/bootloader-zipl-No-op-if-run-as-non-root.patch: Drop patch, applied upstream

2 years agod/libostree-1-1.symbols: Update
Simon McVittie [Fri, 8 Dec 2023 10:20:34 +0000 (10:20 +0000)]
d/libostree-1-1.symbols: Update

2 years agoNew upstream release
Simon McVittie [Fri, 8 Dec 2023 10:15:24 +0000 (10:15 +0000)]
New upstream release

2 years agoUpdate upstream source from tag 'upstream/2023.8'
Simon McVittie [Fri, 8 Dec 2023 10:14:41 +0000 (10:14 +0000)]
Update upstream source from tag 'upstream/2023.8'

Update to upstream version '2023.8'
with Debian dir d00b8908db1e3bfc0d025e9ae84885daed42ed22