145 lines
6.0 KiB
Diff
145 lines
6.0 KiB
Diff
|
From b8caa1a18f284cc9b59a2e0273780a51b6fd7528 Mon Sep 17 00:00:00 2001
|
||
|
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||
|
Date: Thu, 7 Oct 2021 18:22:11 -0700
|
||
|
Subject: [PATCH 1/2] meson: Fix detection of Xorg versions that need -listen
|
||
|
tcp
|
||
|
|
||
|
Closes #704
|
||
|
---
|
||
|
meson.build | 4 ++++
|
||
|
1 file changed, 4 insertions(+)
|
||
|
|
||
|
diff --git a/meson.build b/meson.build
|
||
|
index 64b98628..52ac1941 100644
|
||
|
--- a/meson.build
|
||
|
+++ b/meson.build
|
||
|
@@ -42,60 +42,63 @@ udev_dep = dependency('udev')
|
||
|
glib_min_version = '2.56.0'
|
||
|
|
||
|
glib_dep = dependency('glib-2.0', version: '>=' + glib_min_version)
|
||
|
gobject_dep = dependency('gobject-2.0', version: '>=' + glib_min_version)
|
||
|
gio_dep = dependency('gio-2.0', version: '>=' + glib_min_version)
|
||
|
gio_unix_dep = dependency('gio-unix-2.0', version: '>=' + glib_min_version)
|
||
|
gtk_dep = dependency('gtk+-3.0', version: '>= 2.91.1')
|
||
|
libcanberra_gtk_dep = dependency('libcanberra-gtk3', version: '>= 0.4')
|
||
|
accountsservice_dep = dependency('accountsservice', version: '>= 0.6.35')
|
||
|
xcb_dep = dependency('xcb')
|
||
|
keyutils_dep = dependency('libkeyutils', required: false)
|
||
|
libselinux_dep = dependency('libselinux', required: get_option('selinux'))
|
||
|
|
||
|
# udev
|
||
|
if udev_dir == ''
|
||
|
if udev_dep.found()
|
||
|
udev_prefix = udev_dep.get_pkgconfig_variable('udevdir')
|
||
|
else
|
||
|
udev_prefix = gdm_prefix / 'lib' / 'udev'
|
||
|
endif
|
||
|
udev_dir = udev_prefix / 'rules.d'
|
||
|
endif
|
||
|
|
||
|
# X11
|
||
|
x_deps = declare_dependency(
|
||
|
dependencies: [
|
||
|
dependency('x11'),
|
||
|
dependency('xau'),
|
||
|
],
|
||
|
)
|
||
|
+# Xserver 1.17 & later default to -nolisten and require -listen for remote access
|
||
|
+xserver_deps = dependency('xorg-server', version : '>=1.17', required : false)
|
||
|
+xserver_nolisten_default = xserver_deps.found()
|
||
|
find_x_server_script = find_program('build-aux/find-x-server.sh', native: true)
|
||
|
find_x_server_out = run_command(find_x_server_script).stdout().strip()
|
||
|
if find_x_server_out != ''
|
||
|
x_bin = find_x_server_out
|
||
|
x_bin_path_split = x_bin.split('/')
|
||
|
i = 0
|
||
|
x_path = '/'
|
||
|
foreach dir : x_bin_path_split
|
||
|
if i < x_bin_path_split.length() - 1
|
||
|
x_path = x_path / dir
|
||
|
endif
|
||
|
i = i + 1
|
||
|
endforeach
|
||
|
else
|
||
|
# what to do, what to do, this is wrong, but this just sets the
|
||
|
# defaults, perhaps this user is cross compiling or some such
|
||
|
x_path = '/usr/bin/X11:/usr/X11R6/bin:/opt/X11R6/bin'
|
||
|
x_bin = '/usr/bin/X'
|
||
|
endif
|
||
|
xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
|
||
|
if xdmcp_dep.found() and get_option('tcp-wrappers')
|
||
|
libwrap_dep = cc.find_library('wrap')
|
||
|
endif
|
||
|
# systemd
|
||
|
systemd_dep = dependency('systemd')
|
||
|
libsystemd_dep = dependency('libsystemd')
|
||
|
if meson.version().version_compare('>= 0.53')
|
||
|
systemd_multiseat_x = find_program('systemd-multi-seat-x',
|
||
|
required: false,
|
||
|
dirs: [
|
||
|
@@ -197,60 +200,61 @@ conf.set_quoted('SYSCONFDIR', gdm_prefix / get_option('sysconfdir'))
|
||
|
conf.set_quoted('BINDIR', gdm_prefix / get_option('bindir'))
|
||
|
conf.set_quoted('LIBDIR', gdm_prefix / get_option('libdir'))
|
||
|
conf.set_quoted('LIBEXECDIR', gdm_prefix / get_option('libexecdir'))
|
||
|
conf.set_quoted('LOGDIR', get_option('log-dir'))
|
||
|
conf.set_quoted('DMCONFDIR', dmconfdir)
|
||
|
conf.set_quoted('GDMCONFDIR', gdmconfdir)
|
||
|
conf.set_quoted('GDM_SCREENSHOT_DIR', gdm_screenshot_dir)
|
||
|
conf.set_quoted('GDM_XAUTH_DIR', gdm_xauth_dir)
|
||
|
conf.set_quoted('GDM_RAN_ONCE_MARKER_DIR', ran_once_marker_dir)
|
||
|
conf.set_quoted('GDM_RUN_DIR', gdm_run_dir)
|
||
|
conf.set_quoted('GNOMELOCALEDIR', gdm_prefix / get_option('localedir'))
|
||
|
conf.set_quoted('AT_SPI_REGISTRYD_DIR', at_spi_registryd_dir)
|
||
|
conf.set_quoted('GDM_PID_FILE', gdm_pid_file)
|
||
|
conf.set_quoted('GNOME_SETTINGS_DAEMON_DIR', gnome_settings_daemon_dir)
|
||
|
conf.set_quoted('LANG_CONFIG_FILE', lang_config_file)
|
||
|
conf.set('HAVE_ADT', have_adt)
|
||
|
conf.set('HAVE_UTMP_H', have_utmp_header)
|
||
|
conf.set('HAVE_UTMPX_H', have_utmpx_header)
|
||
|
conf.set('HAVE_POSIX_GETPWNAM_R', have_posix_getpwnam_r)
|
||
|
conf.set('UTMP', utmp_struct)
|
||
|
conf.set('HAVE_GETUTXENT', cc.has_function('getutxent'))
|
||
|
conf.set('HAVE_UPDWTMP', cc.has_function('updwtmp'))
|
||
|
conf.set('HAVE_UPDWTMPX', cc.has_function('updwtmpx'))
|
||
|
conf.set('HAVE_LOGIN', cc.has_function('login', args: '-lutil'))
|
||
|
conf.set('HAVE_LOGOUT', cc.has_function('logout', args: '-lutil'))
|
||
|
conf.set('HAVE_LOGWTMP', cc.has_function('logwtmp', args: '-lutil'))
|
||
|
conf.set('HAVE_PAM_SYSLOG', have_pam_syslog)
|
||
|
conf.set('HAVE_KEYUTILS', keyutils_dep.found())
|
||
|
conf.set('SUPPORTS_PAM_EXTENSIONS', pam_extensions_supported)
|
||
|
conf.set('HAVE_SELINUX', libselinux_dep.found())
|
||
|
+conf.set('HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY', xserver_nolisten_default)
|
||
|
conf.set('ENABLE_USER_DISPLAY_SERVER', get_option('user-display-server'))
|
||
|
conf.set('ENABLE_SYSTEMD_JOURNAL', get_option('systemd-journal'))
|
||
|
conf.set('ENABLE_WAYLAND_SUPPORT', get_option('wayland-support'))
|
||
|
conf.set('ENABLE_PROFILING', get_option('profiling'))
|
||
|
conf.set('GDM_INITIAL_VT', get_option('initial-vt'))
|
||
|
conf.set_quoted('GDM_DEFAULTS_CONF', gdm_defaults_conf)
|
||
|
conf.set_quoted('GDM_CUSTOM_CONF', gdm_custom_conf)
|
||
|
conf.set_quoted('GDM_RUNTIME_CONF', gdm_runtime_conf)
|
||
|
conf.set_quoted('GDM_SESSION_DEFAULT_PATH', get_option('default-path'))
|
||
|
conf.set_quoted('GDM_USERNAME', get_option('user'))
|
||
|
conf.set_quoted('GDM_GROUPNAME', get_option('group'))
|
||
|
conf.set('HAVE_LIBXDMCP', xdmcp_dep.found())
|
||
|
conf.set_quoted('SYSTEMD_X_SERVER', systemd_x_server)
|
||
|
conf.set('WITH_PLYMOUTH', plymouth_dep.found())
|
||
|
conf.set_quoted('X_SERVER', x_bin)
|
||
|
conf.set_quoted('X_PATH', x_path)
|
||
|
conf.set('HAVE_UT_UT_HOST', utmp_has_host_field)
|
||
|
conf.set('HAVE_UT_UT_PID', utmp_has_pid_field)
|
||
|
conf.set('HAVE_UT_UT_ID', utmp_has_id_field)
|
||
|
conf.set('HAVE_UT_UT_NAME', utmp_has_name_field)
|
||
|
conf.set('HAVE_UT_UT_TYPE', utmp_has_type_field)
|
||
|
conf.set('HAVE_UT_UT_EXIT_E_TERMINATION', utmp_has_exit_e_termination_field)
|
||
|
conf.set('HAVE_UT_UT_USER', utmp_has_user_field)
|
||
|
conf.set('HAVE_UT_UT_TIME', utmp_has_time_field)
|
||
|
conf.set('HAVE_UT_UT_TV', utmp_has_tv_field)
|
||
|
conf.set('HAVE_UT_UT_SYSLEN', utmp_has_syslen_field)
|
||
|
conf.set('ENABLE_IPV6', get_option('ipv6'))
|
||
|
configure_file(output: 'config.h', configuration: conf)
|
||
|
|
||
|
# Subdirs
|
||
|
--
|
||
|
2.34.1
|
||
|
|