mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-20 15:00:08 +01:00
Merge branch 'no-hard-coded-tmpdir' into 'main'
build: Don't use build-time TMPDIR, TEMP, TMP as socket directory Closes #551 See merge request dbus/dbus!522
This commit is contained in:
commit
5035f4bda6
4 changed files with 34 additions and 40 deletions
|
|
@ -562,24 +562,10 @@ if(MSVC_IDE)
|
||||||
file(REMOVE ${PROJECT_BINARY_DIR}/data/dbus-1/services)
|
file(REMOVE ${PROJECT_BINARY_DIR}/data/dbus-1/services)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#### Find socket directories
|
if(UNIX AND NOT DBUS_SESSION_SOCKET_DIR)
|
||||||
set(DBUS_SESSION_SOCKET_DIR "" CACHE STRING "Default directory for session socket")
|
set(DBUS_SESSION_SOCKET_DIR /tmp)
|
||||||
if(UNIX)
|
|
||||||
if (CMAKE_CROSSCOMPILING)
|
|
||||||
if (NOT DBUS_SESSION_SOCKET_DIR)
|
|
||||||
message(FATAL_ERROR "cannot autodetect session socket directory "
|
|
||||||
"when crosscompiling, pass -DDBUS_SESSION_SOCKET_DIR=...")
|
|
||||||
endif()
|
|
||||||
elseif(NOT $ENV{TMPDIR} STREQUAL "")
|
|
||||||
set(DBUS_SESSION_SOCKET_DIR $ENV{TMPDIR})
|
|
||||||
elseif(NOT $ENV{TEMP} STREQUAL "")
|
|
||||||
set(DBUS_SESSION_SOCKET_DIR $ENV{TEMP})
|
|
||||||
elseif(NOT $ENV{TMP} STREQUAL "")
|
|
||||||
set(DBUS_SESSION_SOCKET_DIR $ENV{TMP})
|
|
||||||
else()
|
|
||||||
set(DBUS_SESSION_SOCKET_DIR /tmp)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
set(DBUS_SESSION_SOCKET_DIR "${DBUS_SESSION_SOCKET_DIR}" CACHE STRING "Default directory for session socket on Unix")
|
||||||
|
|
||||||
# Not used on Windows, where there is no system bus
|
# Not used on Windows, where there is no system bus
|
||||||
set(DBUS_SYSTEM_PID_FILE ${DBUS_RUNSTATEDIR}/dbus/pid)
|
set(DBUS_SYSTEM_PID_FILE ${DBUS_RUNSTATEDIR}/dbus/pid)
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@
|
||||||
#cmakedefine DBUS_PREFIX "@DBUS_PREFIX@"
|
#cmakedefine DBUS_PREFIX "@DBUS_PREFIX@"
|
||||||
#cmakedefine DBUS_SYSTEM_CONFIG_FILE "@DBUS_SYSTEM_CONFIG_FILE@"
|
#cmakedefine DBUS_SYSTEM_CONFIG_FILE "@DBUS_SYSTEM_CONFIG_FILE@"
|
||||||
#cmakedefine DBUS_SESSION_CONFIG_FILE "@DBUS_SESSION_CONFIG_FILE@"
|
#cmakedefine DBUS_SESSION_CONFIG_FILE "@DBUS_SESSION_CONFIG_FILE@"
|
||||||
#cmakedefine DBUS_SESSION_SOCKET_DIR "@DBUS_SESSION_SOCKET_DIR@"
|
|
||||||
#cmakedefine DBUS_DAEMON_NAME "@DBUS_DAEMON_NAME@"
|
#cmakedefine DBUS_DAEMON_NAME "@DBUS_DAEMON_NAME@"
|
||||||
#cmakedefine DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "@DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@"
|
#cmakedefine DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "@DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@"
|
||||||
#cmakedefine DBUS_SESSION_BUS_CONNECT_ADDRESS "@DBUS_SESSION_BUS_CONNECT_ADDRESS@"
|
#cmakedefine DBUS_SESSION_BUS_CONNECT_ADDRESS "@DBUS_SESSION_BUS_CONNECT_ADDRESS@"
|
||||||
|
|
@ -227,8 +226,6 @@
|
||||||
#cmakedefine DBUS_USER "@DBUS_USER@"
|
#cmakedefine DBUS_USER "@DBUS_USER@"
|
||||||
#cmakedefine DBUS_TEST_USER "@DBUS_TEST_USER@"
|
#cmakedefine DBUS_TEST_USER "@DBUS_TEST_USER@"
|
||||||
#cmakedefine DBUS_TEST_EXEC "@DBUS_TEST_EXEC@"
|
#cmakedefine DBUS_TEST_EXEC "@DBUS_TEST_EXEC@"
|
||||||
/* Where to put test sockets */
|
|
||||||
#define DBUS_TEST_SOCKET_DIR "@TEST_SOCKET_DIR@"
|
|
||||||
|
|
||||||
// system type defines
|
// system type defines
|
||||||
#if defined(_WIN32) || defined(_WIN64) || defined (_WIN32_WCE)
|
#if defined(_WIN32) || defined(_WIN64) || defined (_WIN32_WCE)
|
||||||
|
|
@ -244,6 +241,12 @@
|
||||||
# define DBUS_UNIX
|
# define DBUS_UNIX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DBUS_UNIX
|
||||||
|
#cmakedefine DBUS_SESSION_SOCKET_DIR "@DBUS_SESSION_SOCKET_DIR@"
|
||||||
|
/* Where to put test sockets */
|
||||||
|
#define DBUS_TEST_SOCKET_DIR "@TEST_SOCKET_DIR@"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
// mingw mode_t
|
// mingw mode_t
|
||||||
# ifdef HAVE_STDIO_H
|
# ifdef HAVE_STDIO_H
|
||||||
|
|
|
||||||
43
meson.build
43
meson.build
|
|
@ -1070,29 +1070,29 @@ endif
|
||||||
data_config.set('SYSCONFDIR_FROM_PKGDATADIR', sysconfdir_from_pkgdatadir)
|
data_config.set('SYSCONFDIR_FROM_PKGDATADIR', sysconfdir_from_pkgdatadir)
|
||||||
data_config.set('DATADIR_FROM_PKGSYSCONFDIR', datadir_from_pkgsysconfdir)
|
data_config.set('DATADIR_FROM_PKGSYSCONFDIR', datadir_from_pkgsysconfdir)
|
||||||
|
|
||||||
#### Find socket directories
|
if platform_unix
|
||||||
values = run_command(python, '-c',
|
session_socket_dir = get_option('session_socket_dir')
|
||||||
'import os; [print(os.getenv(e, "")) for e in ["TMPDIR", "TEMP", "TMP"]]',
|
|
||||||
check: true,
|
|
||||||
).stdout()
|
|
||||||
values += '/tmp'
|
|
||||||
default_socket_dir = values.strip().split('\n')[0]
|
|
||||||
|
|
||||||
test_socket_dir = get_option('test_socket_dir')
|
if session_socket_dir == ''
|
||||||
if test_socket_dir == ''
|
session_socket_dir = '/tmp'
|
||||||
test_socket_dir = default_socket_dir
|
endif
|
||||||
|
|
||||||
|
config.set_quoted('DBUS_SESSION_SOCKET_DIR', session_socket_dir)
|
||||||
|
|
||||||
|
test_socket_dir = get_option('test_socket_dir')
|
||||||
|
|
||||||
|
if test_socket_dir == ''
|
||||||
|
test_socket_dir = session_socket_dir
|
||||||
|
endif
|
||||||
|
|
||||||
|
config.set_quoted('DBUS_TEST_SOCKET_DIR', test_socket_dir)
|
||||||
|
test_listen = 'unix:tmpdir=' + test_socket_dir
|
||||||
|
else
|
||||||
|
test_listen = 'tcp:host=localhost'
|
||||||
endif
|
endif
|
||||||
test_listen = platform_unix ? 'unix:tmpdir=' + test_socket_dir : 'tcp:host=localhost'
|
|
||||||
config.set_quoted('TEST_LISTEN', test_listen)
|
config.set_quoted('TEST_LISTEN', test_listen)
|
||||||
config.set_quoted('DBUS_TEST_SOCKET_DIR', test_socket_dir)
|
|
||||||
data_config.set('TEST_LISTEN', test_listen)
|
data_config.set('TEST_LISTEN', test_listen)
|
||||||
|
|
||||||
session_socket_dir = get_option('session_socket_dir')
|
|
||||||
if session_socket_dir == ''
|
|
||||||
session_socket_dir = default_socket_dir
|
|
||||||
endif
|
|
||||||
config.set_quoted('DBUS_SESSION_SOCKET_DIR', session_socket_dir)
|
|
||||||
|
|
||||||
# This must be a listening address. It doesn't necessarily need to be an
|
# This must be a listening address. It doesn't necessarily need to be an
|
||||||
# address you can connect to - it can be something vague like
|
# address you can connect to - it can be something vague like
|
||||||
# "nonce-tcp:".
|
# "nonce-tcp:".
|
||||||
|
|
@ -1395,9 +1395,14 @@ summary_dict += {
|
||||||
'System bus user': dbus_user,
|
'System bus user': dbus_user,
|
||||||
'Session bus services dir':
|
'Session bus services dir':
|
||||||
get_option('prefix') / get_option('datadir') / 'dbus-1' / 'services',
|
get_option('prefix') / get_option('datadir') / 'dbus-1' / 'services',
|
||||||
'Tests socket dir': test_socket_dir,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if platform_unix
|
||||||
|
summary_dict += {
|
||||||
|
'Tests socket dir': test_socket_dir,
|
||||||
|
}
|
||||||
|
endif
|
||||||
|
|
||||||
if host_os.contains('solaris')
|
if host_os.contains('solaris')
|
||||||
summary_dict += {
|
summary_dict += {
|
||||||
'Console owner file': console_owner_file,
|
'Console owner file': console_owner_file,
|
||||||
|
|
|
||||||
|
|
@ -247,7 +247,7 @@ option(
|
||||||
option(
|
option(
|
||||||
'test_socket_dir',
|
'test_socket_dir',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
description: 'Where to put sockets for make check'
|
description: 'Where to put sockets for automated tests'
|
||||||
)
|
)
|
||||||
|
|
||||||
option(
|
option(
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue