From: Arun Raghavan Date: Mon, 14 Nov 2011 08:12:21 +0000 (+0530) Subject: core: Look up /etc/machine-id if D-Bus machine-id is not found X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/42881d277014d3bf3bb1b4e660c80378b4081a52 core: Look up /etc/machine-id if D-Bus machine-id is not found It appears that this is currently the fallback for early boot and other such cases where /var might not be available. Relevant upstream commit: http://cgit.freedesktop.org/dbus/dbus/commit/?id=66e52541d5bdd4927a5c702963749760643313f4 Thanks to Samuli Suominen for pointing this out in https://bugs.gentoo.org/show_bug.cgi?id=390287 --- diff --git a/configure.ac b/configure.ac index 324e32ec..1f65dd5d 100644 --- a/configure.ac +++ b/configure.ac @@ -935,6 +935,9 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])) PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id" AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file]) +PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id" +AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK, + [Fallback machine-id file]) #### HAL support (optional), dependant on D-Bus #### diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 79c8e082..01731350 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -2717,7 +2717,8 @@ char *pa_machine_id(void) { * since it fits perfectly our needs and is not as volatile as the * hostname which might be set from dhcp. */ - if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r"))) { + if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r")) || + (f = pa_fopen_cloexec(PA_MACHINE_ID_FALLBACK, "r"))) { char ln[34] = "", *r; r = fgets(ln, sizeof(ln)-1, f);