Merge branch 'workaround-rpmostree' into 'main'

imagectl: Update mode for / if needed

See merge request fedora/bootc/base-images!107
This commit is contained in:
Colin Walters (Red Hat) 2025-03-05 14:19:16 +00:00
commit e0628d2124
2 changed files with 10 additions and 0 deletions

View file

@ -4,6 +4,7 @@ import os
import os.path as path
import subprocess
import shutil
import stat
import json
import argparse
import sys
@ -30,6 +31,11 @@ def run_build_rootfs(args):
rpmostree_argv.extend([f'/{MANIFESTDIR}/{manifest_path}', target])
# Perform the build
subprocess.run(rpmostree_argv, check=True)
# Work around https://github.com/coreos/rpm-ostree/pull/5322
root_mode = os.lstat(target).st_mode
if (root_mode & stat.S_IXOTH) == 0:
print("Updating rootfs mode")
os.chmod(target, root_mode | (0o555))
# And run the bootc linter for good measure
subprocess.run([
'bootc',

4
tests/rootfs/cases/root-mode Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
set -xeuo pipefail
# Verify we didn't lose the executable bit for others on /
test $(($(stat -c '0%a' .) % 2)) = 1