imagectl: Update mode for / if needed
This works around https://github.com/coreos/rpm-ostree/pull/5322 so we can ship the fix faster. Signed-off-by: Colin Walters <walters@verbum.org>
This commit is contained in:
parent
6a04cddf98
commit
ccb2c22ecb
2 changed files with 10 additions and 0 deletions
|
|
@ -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
4
tests/rootfs/cases/root-mode
Executable 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue