mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
systemd-tmpfiles: deprecate F for f+
This commit is contained in:
parent
21d0dd5a89
commit
eccebf4b0d
1
TODO
1
TODO
@ -943,7 +943,6 @@ Features:
|
||||
|
||||
* tmpfiles:
|
||||
- apply "x" on "D" too (see patch from William Douglas)
|
||||
- replace F with f+.
|
||||
- instead of ignoring unknown fields, reject them.
|
||||
- creating new directories/subvolumes/fifos/device nodes
|
||||
should not follow symlinks. None of the other adjustment or creation
|
||||
|
@ -39,7 +39,7 @@
|
||||
|
||||
<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
|
||||
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 -
|
||||
@ -155,19 +155,16 @@ L /tmp/foobar - - - - /dev/null</programlisting>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><varname>f</varname></term>
|
||||
<listitem><para>Create a file if it does not exist yet. If the argument parameter is given and the file did
|
||||
not exist yet, it will be written to the file. Does not follow symlinks.</para></listitem>
|
||||
<term><varname>f+</varname></term>
|
||||
<listitem><para><varname>f</varname> will create a file if it does not exist yet. If the argument
|
||||
parameter is given and the file did not exist yet, it will be written to the file.
|
||||
<varname>f+</varname> will create or truncate the file. If the argument parameter is given, it will
|
||||
be written to the file. Does not follow symlinks.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>F</varname></term>
|
||||
<listitem><para>Create or truncate a file. If the argument
|
||||
parameter is given, it will be written to the file. Does not follow symlinks.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>w, w+</varname></term>
|
||||
<term><varname>w</varname></term>
|
||||
<term><varname>w+</varname></term>
|
||||
<listitem><para>Write the argument parameter to a file, if the file exists.
|
||||
If suffixed with <varname>+</varname>, the line will be appended to the file.
|
||||
If your configuration writes multiple lines to the same file, use <varname>w+</varname>.
|
||||
|
@ -77,7 +77,7 @@ typedef enum OperationMask {
|
||||
typedef enum ItemType {
|
||||
/* These ones take file names */
|
||||
CREATE_FILE = 'f',
|
||||
TRUNCATE_FILE = 'F',
|
||||
TRUNCATE_FILE = 'F', /* deprecated: use f+ */
|
||||
CREATE_DIRECTORY = 'd',
|
||||
TRUNCATE_DIRECTORY = 'D',
|
||||
CREATE_SUBVOLUME = 'v',
|
||||
@ -1370,7 +1370,7 @@ static int truncate_file(Item *i, const char *path) {
|
||||
|
||||
assert(i);
|
||||
assert(path);
|
||||
assert(i->type == TRUNCATE_FILE);
|
||||
assert(i->type == TRUNCATE_FILE || (i->type == CREATE_FILE && i->append_or_force));
|
||||
|
||||
/* We want to operate on regular file exclusively especially since
|
||||
* O_TRUNC is unspecified if the file is neither a regular file nor a
|
||||
@ -1927,20 +1927,16 @@ static int create_item(Item *i) {
|
||||
case RECURSIVE_REMOVE_PATH:
|
||||
return 0;
|
||||
|
||||
case TRUNCATE_FILE:
|
||||
case CREATE_FILE:
|
||||
RUN_WITH_UMASK(0000)
|
||||
(void) mkdir_parents_label(i->path, 0755);
|
||||
|
||||
r = create_file(i, i->path);
|
||||
if (r < 0)
|
||||
return r;
|
||||
break;
|
||||
|
||||
case TRUNCATE_FILE:
|
||||
RUN_WITH_UMASK(0000)
|
||||
(void) mkdir_parents_label(i->path, 0755);
|
||||
|
||||
if ((i->type == CREATE_FILE && i->append_or_force) || i->type == TRUNCATE_FILE)
|
||||
r = truncate_file(i, i->path);
|
||||
else
|
||||
r = create_file(i, i->path);
|
||||
|
||||
if (r < 0)
|
||||
return r;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user