mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
05381430a5
Starting with commit2f3b873a49
, when the path contains a specifier and the argument is omitted, tmpfiles used to perform specifier expansions twice: first specifier expansion was applied to the path itself, and afterwards the result of the first expansion was used in the constructed argument and expanded once again. Resolves: #26244 Fixes:2f3b873a49
("tmpfiles: copy/link /usr/share/factory/ files when the source argument is omitted")
33 lines
655 B
Bash
Executable File
33 lines
655 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# Check specifier expansion in L lines.
|
|
#
|
|
set -eux
|
|
|
|
rm -fr /tmp/L
|
|
mkdir /tmp/L
|
|
|
|
# Check that %h expands to $home.
|
|
home='/somewhere'
|
|
dst='/tmp/L/1'
|
|
src="$home"
|
|
HOME="$home" \
|
|
systemd-tmpfiles --create - <<EOF
|
|
L $dst - - - - %h
|
|
EOF
|
|
test "$(readlink "$dst")" = "$src"
|
|
|
|
# Check that %h in the path is expanded, but
|
|
# the result of this expansion is not expanded once again.
|
|
root='/tmp/L/2'
|
|
home='/%U'
|
|
src="/usr/share/factory$home"
|
|
mkdir -p "$root$src"
|
|
dst="$root$home"
|
|
HOME="$home" \
|
|
systemd-tmpfiles --create --root="$root" - <<EOF
|
|
L %h - - - -
|
|
EOF
|
|
test "$(readlink "$dst")" = "$src"
|