mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
Drop machine-id OSC event field if /etc/machine-id doesn't exist
While we can safely assume that `/proc/sys/kernel/random/boot_id`
exists, the same can't be said for `/etc/machine-id` in environments
where systemd is installed, but not running. An example would be OCI
containers like with the official Arch Linux image, see [0].
Without this check the prompt would constantly output `/etc/machine-id:
no such file or directory` with the OSC events introduced in dadbb34
(v258).
[0] https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/107
This commit is contained in:
committed by
Lennart Poettering
parent
b97fccf0ce
commit
0fe45b98dd
@@ -24,7 +24,10 @@ __systemd_osc_context_escape() {
|
||||
}
|
||||
|
||||
__systemd_osc_context_common() {
|
||||
printf ";user=%s;hostname=%s;machineid=%s;bootid=%s;pid=%s" "$USER" "$HOSTNAME" "$(</etc/machine-id)" "$(</proc/sys/kernel/random/boot_id)" "$$"
|
||||
if [ -f /etc/machine-id ]; then
|
||||
printf ";machineid=%s" "$(</etc/machine-id)"
|
||||
fi
|
||||
printf ";user=%s;hostname=%s;bootid=%s;pid=%s" "$USER" "$HOSTNAME" "$(</proc/sys/kernel/random/boot_id)" "$$"
|
||||
}
|
||||
|
||||
__systemd_osc_context_precmdline() {
|
||||
|
||||
Reference in New Issue
Block a user