[__hostname] Remove incorrectly sent messages (again)
The --onchage sent the message on the target where messaging is not supported. Now the result is that a "changed" message is only emitted when the running hostname changes, not when the persistent hostname changes.
This commit is contained in:
parent
e7279680ed
commit
f276813f7f
1 changed files with 8 additions and 14 deletions
|
@ -20,8 +20,6 @@
|
||||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
onchange_cmd="echo changed >>'$__messages_out'"
|
|
||||||
|
|
||||||
not_supported() {
|
not_supported() {
|
||||||
echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
|
echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
|
||||||
echo "Please contribute an implementation for it if you can." >&2
|
echo "Please contribute an implementation for it if you can." >&2
|
||||||
|
@ -29,7 +27,7 @@ not_supported() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_hostname_systemd() {
|
set_hostname_systemd() {
|
||||||
echo "$1" | __file /etc/hostname --source - --onchange "$onchange_cmd"
|
echo "$1" | __file /etc/hostname --source -
|
||||||
}
|
}
|
||||||
|
|
||||||
os=$(cat "$__global/explorer/os")
|
os=$(cat "$__global/explorer/os")
|
||||||
|
@ -64,7 +62,7 @@ case $os
|
||||||
in
|
in
|
||||||
alpine|debian|devuan|ubuntu)
|
alpine|debian|devuan|ubuntu)
|
||||||
echo "$name_should" \
|
echo "$name_should" \
|
||||||
| __file /etc/hostname --source - --onchange "$onchange_cmd"
|
| __file /etc/hostname --source -
|
||||||
;;
|
;;
|
||||||
macosx)
|
macosx)
|
||||||
# handled in gencode-remote
|
# handled in gencode-remote
|
||||||
|
@ -81,8 +79,7 @@ in
|
||||||
--file /etc/rc.conf \
|
--file /etc/rc.conf \
|
||||||
--delimiter '=' --exact_delimiter \
|
--delimiter '=' --exact_delimiter \
|
||||||
--key 'HOSTNAME' \
|
--key 'HOSTNAME' \
|
||||||
--value "\"$name_should\"" \
|
--value "\"$name_should\""
|
||||||
--onchange "$onchange_cmd"
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
centos|fedora|redhat|scientific)
|
centos|fedora|redhat|scientific)
|
||||||
|
@ -94,8 +91,7 @@ in
|
||||||
--file /etc/sysconfig/network \
|
--file /etc/sysconfig/network \
|
||||||
--delimiter '=' --exact_delimiter \
|
--delimiter '=' --exact_delimiter \
|
||||||
--key HOSTNAME \
|
--key HOSTNAME \
|
||||||
--value "\"$name_should\"" \
|
--value "\"$name_should\""
|
||||||
--onchange "$onchange_cmd"
|
|
||||||
else
|
else
|
||||||
set_hostname_systemd "$name_should"
|
set_hostname_systemd "$name_should"
|
||||||
fi
|
fi
|
||||||
|
@ -119,29 +115,27 @@ in
|
||||||
--file /etc/rc.conf \
|
--file /etc/rc.conf \
|
||||||
--delimiter '=' --exact_delimiter \
|
--delimiter '=' --exact_delimiter \
|
||||||
--key 'hostname' \
|
--key 'hostname' \
|
||||||
--value "\"$name_should\"" \
|
--value "\"$name_should\""
|
||||||
--onchange "$onchange_cmd"
|
|
||||||
;;
|
;;
|
||||||
netbsd)
|
netbsd)
|
||||||
__key_value rcconf-hostname \
|
__key_value rcconf-hostname \
|
||||||
--file /etc/rc.conf \
|
--file /etc/rc.conf \
|
||||||
--delimiter '=' --exact_delimiter \
|
--delimiter '=' --exact_delimiter \
|
||||||
--key 'hostname' \
|
--key 'hostname' \
|
||||||
--value "\"$name_should\"" \
|
--value "\"$name_should\""
|
||||||
--onchange "$onchange_cmd"
|
|
||||||
|
|
||||||
# To avoid confusion, ensure that the hostname is only stored once
|
# To avoid confusion, ensure that the hostname is only stored once
|
||||||
__file /etc/myname --state absent
|
__file /etc/myname --state absent
|
||||||
;;
|
;;
|
||||||
openbsd)
|
openbsd)
|
||||||
echo "$name_should" \
|
echo "$name_should" \
|
||||||
| __file /etc/myname --source - --onchange "$onchange_cmd"
|
| __file /etc/myname --source -
|
||||||
;;
|
;;
|
||||||
suse)
|
suse)
|
||||||
# We write into /etc/HOSTNAME for backwards-compatibility. Modern SuSE
|
# We write into /etc/HOSTNAME for backwards-compatibility. Modern SuSE
|
||||||
# has hostnamectl anyway and symlinks /etc/HOSTNAME to /etc/hostname.
|
# has hostnamectl anyway and symlinks /etc/HOSTNAME to /etc/hostname.
|
||||||
echo "$name_should" \
|
echo "$name_should" \
|
||||||
| __file /etc/HOSTNAME --source - --onchange "$onchange_cmd"
|
| __file /etc/HOSTNAME --source -
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# On other operating systems we fall back to systemd's hostnamectl if available…
|
# On other operating systems we fall back to systemd's hostnamectl if available…
|
||||||
|
|
Loading…
Reference in a new issue