summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-04-08 18:09:18 +0200
committerLennart Poettering <lennart@poettering.net>2022-04-08 22:18:28 +0200
commitd0aba07f1ac8d6df2ccfa033fe1e195b1b9e5272 (patch)
tree6599ebb09a2a88d68ef857076eb435b297a74be4
parente22983e80f5c95025549f28d30536afddc06f68d (diff)
downloadsystemd-d0aba07f1ac8d6df2ccfa033fe1e195b1b9e5272.tar.gz
specifier: use %q for pretty hostname
%R is already used in service manager specifier expansion (cgroup root), hence use a different char, that was so far not used. Follow-up for: 6ceb0a4094908dd213a78b9f6d0c59a684831ab0
-rw-r--r--NEWS2
-rw-r--r--man/standard-specifiers.xml10
-rw-r--r--man/systemd.unit.xml2
-rw-r--r--src/shared/specifier.h3
-rw-r--r--src/test/test-specifier.c2
5 files changed, 10 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index c01bcdab45..330d46d1d1 100644
--- a/NEWS
+++ b/NEWS
@@ -239,7 +239,7 @@ CHANGES WITH 251:
normalized unit file path, which is particularly useful for symlinked
unit files.
- The new %R specifier resolves to the pretty hostname
+ The new %q specifier resolves to the pretty hostname
(i.e. PRETTY_HOSTNAME= from /etc/machine-info).
The new %d specifier resolves to the credentials directory of a
diff --git a/man/standard-specifiers.xml b/man/standard-specifiers.xml
index abbd47f778..e7314b9c4a 100644
--- a/man/standard-specifiers.xml
+++ b/man/standard-specifiers.xml
@@ -34,11 +34,6 @@
<entry>Short host name</entry>
<entry>The hostname of the running system, truncated at the first dot to remove any domain component.</entry>
</row>
- <row id='R'>
- <entry><literal>%R</literal></entry>
- <entry>Pretty host name</entry>
- <entry>The pretty hostname of the running system, as read from the <varname>PRETTY_HOSTNAME=</varname> field of <filename>/etc/machine-info</filename>. If not set, resolves to the short hostname. See <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
- </row>
<row id='m'>
<entry><literal>%m</literal></entry>
<entry>Machine ID</entry>
@@ -54,6 +49,11 @@
<entry>Operating system ID</entry>
<entry>The operating system identifier of the running system, as read from the <varname>ID=</varname> field of <filename>/etc/os-release</filename>. See <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
</row>
+ <row id='q'>
+ <entry><literal>%q</literal></entry>
+ <entry>Pretty host name</entry>
+ <entry>The pretty hostname of the running system, as read from the <varname>PRETTY_HOSTNAME=</varname> field of <filename>/etc/machine-info</filename>. If not set, resolves to the short hostname. See <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
+ </row>
<row id='T'>
<entry><literal>%T</literal></entry>
<entry>Directory for temporary files</entry>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 7a611dc93f..cd033ac52e 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -2097,7 +2097,7 @@ Note that this setting is <emphasis>not</emphasis> influenced by the <varname>Us
<row>
<!-- We do not use the common definition from standard-specifiers.xml here since we want a
slightly more verbose explanation here, referring to the reload cycle. -->
- <entry><literal>%R</literal></entry>
+ <entry><literal>%q</literal></entry>
<entry>Pretty host name</entry>
<entry>The pretty hostname of the running system at the point in time the unit configuration is loaded, as read from the <varname>PRETTY_HOSTNAME=</varname> field of <filename>/etc/machine-info</filename>. If not set, resolves to the short hostname. See <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry> for more information.</entry>
</row>
diff --git a/src/shared/specifier.h b/src/shared/specifier.h
index 78b10f8467..ea37e3cef6 100644
--- a/src/shared/specifier.h
+++ b/src/shared/specifier.h
@@ -51,6 +51,7 @@ int specifier_var_tmp_dir(char specifier, const void *data, const char *root, co
* %B: the OS build ID, according to /etc/os-release
* %H: the hostname of the running system
* %l: the short hostname of the running system
+ * %q: the 'pretty' hostname as per /etc/machine-info
* %m: the machine ID of the running system
* %M: the OS image ID, according to /etc/os-release
* %o: the OS ID according to /etc/os-release
@@ -76,7 +77,7 @@ int specifier_var_tmp_dir(char specifier, const void *data, const char *root, co
{ 'B', specifier_os_build_id, NULL }, \
{ 'H', specifier_host_name, NULL }, \
{ 'l', specifier_short_host_name, NULL }, \
- { 'R', specifier_pretty_host_name,NULL }, \
+ { 'q', specifier_pretty_host_name,NULL }, \
{ 'm', specifier_machine_id, NULL }, \
{ 'M', specifier_os_image_id, NULL }, \
{ 'o', specifier_os_id, NULL }, \
diff --git a/src/test/test-specifier.c b/src/test/test-specifier.c
index 49b4f5a2a3..516502032a 100644
--- a/src/test/test-specifier.c
+++ b/src/test/test-specifier.c
@@ -74,7 +74,7 @@ TEST(specifier_printf) {
assert_se(streq(w, "xxx a=AAAA b=BBBB e= yyy"));
free(w);
- r = specifier_printf("machine=%m, boot=%b, host=%H, pretty=%R, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w);
+ r = specifier_printf("machine=%m, boot=%b, host=%H, pretty=%q, version=%v, arch=%a, empty=%e", SIZE_MAX, table, NULL, NULL, &w);
assert_se(r >= 0);
assert_se(w);
puts(w);