diff options
author | Mikhail Novosyolov <m.novosyolov@rosalinux.ru> | 2020-07-11 17:08:00 +0300 |
---|---|---|
committer | Mikhail Novosyolov <m.novosyolov@rosalinux.ru> | 2020-07-11 17:20:16 +0300 |
commit | 93406fd379d3ba184eec2eb664729edef1bca995 (patch) | |
tree | 8c1e4ce79a89ab88f7fba52e98acc9b5844de1e1 /src/core | |
parent | b159831b6131fc514e6696862bf5f150372ba7b9 (diff) | |
download | systemd-93406fd379d3ba184eec2eb664729edef1bca995.tar.gz |
rpm: avoid odd symbols in EOF indicator
The last line in this macros was actually "SYSTEMD_INLINE_EOF " with a space at the end,
but the shell was instructed to look for a line without space.
Macros %sysusers_create_inline and %tmpfiles_create_inline did not have this mistake.
An example:
[root@rosa-2019 bind-server]# cat /etc/passwd | grep named
[root@rosa-2019 bind-server]# cat /tmp/bs
systemd-sysusers --replace=/usr/lib/sysusers.d/named.conf - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || :
u named - "BIND DNS Server" /var/lib/named
g named - -
m named named
SYSTEMD_INLINE_EOF
[root@rosa-2019 bind-server]# sh /tmp/bs
/tmp/bs: line 5: warning: here-document at line 1 delimited by end-of-file (wanted `SYSTEMD_INLINE_EOF')
[root@rosa-2019 bind-server]# bash /tmp/bs
/tmp/bs: line 5: warning: here-document at line 1 delimited by end-of-file (wanted `SYSTEMD_INLINE_EOF')
[root@rosa-2019 bind-server]# bash --version
GNU bash, version 5.0.17(1)-release (x86_64-openmandriva-linux-gnu)
The user and group named were NOT created!
Now I remove the trailing space after "SYSTEMD_INLINE_EOF" and rerun:
[root@rosa-2019 bind-server]# sh /tmp/bs
[root@rosa-2019 bind-server]# tail -n 1 /etc/group
named:x:485:named
[root@rosa-2019 bind-server]#
The user and group have been created correctly.
Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/macros.systemd.in | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/macros.systemd.in b/src/core/macros.systemd.in index 9b310c4846..e5c41f68e4 100644 --- a/src/core/macros.systemd.in +++ b/src/core/macros.systemd.in @@ -104,7 +104,7 @@ fi \ %sysusers_create_inline() \ [ -x @bindir@/systemd-sysusers ] && @bindir@/systemd-sysusers - <<SYSTEMD_INLINE_EOF || : \ %{?*} \ -SYSTEMD_INLINE_EOF \ +SYSTEMD_INLINE_EOF\ %{nil} # This should be used by package installation scripts which require users or @@ -124,7 +124,7 @@ SYSTEMD_INLINE_EOF \ %{expand:%%{?!__systemd_twoargs_%#:%%{error:This macro requires two arguments}}} \ systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \ %(cat %2) \ -SYSTEMD_INLINE_EOF \ +SYSTEMD_INLINE_EOF\ %{nil} # This may be used by package installation scripts to create files according to @@ -144,7 +144,7 @@ SYSTEMD_INLINE_EOF \ %{expand:%%{?!__systemd_twoargs_%#:%%{error:This macro requires two arguments}}} \ systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \ %(cat %2) \ -SYSTEMD_INLINE_EOF \ +SYSTEMD_INLINE_EOF\ %{nil} %sysctl_apply() \ |