mirror of
https://github.com/systemd/systemd.git
synced 2026-06-24 08:47:49 +00:00
If sh is not bash, some builtin command behave slightly differently. E.g. if sh is provided by busybox, its builtin test command does not check if the path is a mount point or not, and 'test -w' only checks the access mode of the inode. So, even if a readonly filesystem is mounted on a directory, the test command may succeed. To avoid such confusion, let's unconditionally use bash.
18 lines
834 B
Desktop File
18 lines
834 B
Desktop File
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
[Unit]
|
|
Description=Test for TemporaryFileSystem with mount options
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
|
|
# The mount options default to "mode=0755,nodev,strictatime".
|
|
# Let's override some of them, and test "ro".
|
|
TemporaryFileSystem=/var:ro,mode=0700,nostrictatime
|
|
|
|
# Check /proc/self/mountinfo
|
|
ExecStart=bash -x -c 'test "$$(awk \'$$5 == "/var" && $$11 !~ /(^|,)mode=700(,|$$)/ { print $$6 }\' /proc/self/mountinfo)" = ""'
|
|
|
|
ExecStart=bash -x -c 'test "$$(awk \'$$5 == "/var" && $$6 !~ /(^|,)ro(,|$$)/ { print $$6 }\' /proc/self/mountinfo)" = ""'
|
|
ExecStart=bash -x -c 'test "$$(awk \'$$5 == "/var" && $$6 !~ /(^|,)nodev(,|$$)/ { print $$6 }\' /proc/self/mountinfo)" = ""'
|
|
ExecStart=bash -x -c 'test "$$(awk \'$$5 == "/var" && $$6 ~ /(^|,)strictatime(,|$$)/ { print $$6 }\' /proc/self/mountinfo)" = ""'
|