mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-06 12:58:22 +03:00
Merge pull request #12750 from keszybz/tmpfiles-c-copy
Make tmpfiles C use --root
This commit is contained in:
commit
6c75f78e94
@ -36,6 +36,37 @@
|
||||
<filename>…</filename>
|
||||
<filename>/usr/share/user-tmpfiles.d/*.conf</filename>
|
||||
</literallayout></para>
|
||||
|
||||
<programlisting>#Type Path Mode User Group Age Argument
|
||||
f /file/to/create mode user group - content
|
||||
F /file/to/create-or-truncate mode user group - content
|
||||
w /file/to/write-to - - - - content
|
||||
d /directory/to/create-and-cleanup mode user group cleanup-age -
|
||||
D /directory/to/create-and-remove mode user group cleanup-age -
|
||||
e /directory/to/cleanup mode user group cleanup-age -
|
||||
v /subvolume/to/create mode user group - -
|
||||
v /subvolume-or-directory/to/create mode user group - -
|
||||
Q /subvolume/to/create mode user group - -
|
||||
p /fifo/to/create mode user group - -
|
||||
L /symlink/to/create - - - - symlink/target/path
|
||||
c /dev/char-device-to-create mode user group - -
|
||||
b /dev/block-device-to-create mode user group - -
|
||||
# p+, L+, c+, b+ create target unconditionally
|
||||
C /target/to/create - - - - /source/to/copy
|
||||
x /path-or-glob/to/ignore - - - - -
|
||||
X /path-or-glob/to/ignore/recursively - - - - -
|
||||
r /empty/dir/to/remove - - - - -
|
||||
R /dir/to/remove/recursively - - - - -
|
||||
z /path-or-glob/to/adjust/mode mode user group - MAC context
|
||||
Z /path-or-glob/to/adjust/mode/recursively mode user group - MAC context
|
||||
t /path-or-glob/to/set/xattrs - - - - xattrs
|
||||
T /path-or-glob/to/set/xattrs/recursively - - - - xattrs
|
||||
h /path-or-glob/to/set/attrs - - - - file attrs
|
||||
H /path-or-glob/to/set/attrs/recursively - - - - file attrs
|
||||
a /path-or-glob/to/set/acls - - - - POSIX ACLs
|
||||
A /path-or-glob/to/set/acls/recursively - - - - POSIX ACLs
|
||||
# a+, A+ append ACLs
|
||||
</programlisting>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
|
@ -2613,13 +2613,22 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
|
||||
|
||||
case COPY_FILES:
|
||||
if (!i.argument) {
|
||||
i.argument = strappend("/usr/share/factory/", i.path);
|
||||
i.argument = path_join(arg_root, "/usr/share/factory/", i.path);
|
||||
if (!i.argument)
|
||||
return log_oom();
|
||||
|
||||
} else if (!path_is_absolute(i.argument)) {
|
||||
*invalid_config = true;
|
||||
log_error("[%s:%u] Source path is not absolute.", fname, line);
|
||||
return -EBADMSG;
|
||||
|
||||
} else if (arg_root) {
|
||||
char *p;
|
||||
|
||||
p = prefix_root(arg_root, i.argument);
|
||||
if (!p)
|
||||
return log_oom();
|
||||
free_and_replace(i.argument, p);
|
||||
}
|
||||
|
||||
path_simplify(i.argument, false);
|
||||
@ -2713,7 +2722,6 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, bool
|
||||
p = path_join(arg_root, i.path);
|
||||
if (!p)
|
||||
return log_oom();
|
||||
|
||||
free_and_replace(i.path, p);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user