wip/gdm: Builds and runs successfully on NetBSD 9.0

Fixes:
- rc.d script
- pam.d configs
- proper VT5 selection for X
- remove dependency on the Power daemon
This commit is contained in:
Dan Cîrnaț 2020-07-30 14:43:10 +02:00
parent 273245a90c
commit fff62d806f
9 changed files with 97 additions and 10 deletions

7
gdm/INSTALL Normal file
View File

@ -0,0 +1,7 @@
# $NetBSD$
case ${STAGE} in
POST-INSTALL)
${CHMOD} +x ${PREFIX}/etc/gdm/Xsession
;;
esac

View File

@ -1,6 +1,7 @@
# $NetBSD: Makefile,v 1.6 2015/06/06 20:44:44 krytarowski Exp $
DISTNAME= gdm-3.36.2
PKGREVISION= 1
CATEGORIES= x11 gnome
MASTER_SITES= ${MASTER_SITE_GITHUB:=GNOME/}
LICENSE= gnu-gpl-v2
@ -22,6 +23,12 @@ USE_LANGUAGES= c c++
.include "options.mk"
SUBST_CLASSES+= paths
SUBST_STAGE.paths= pre-configure
SUBST_FILES.paths= daemon/gdm-session-worker.c
SUBST_SED.paths= -e 's,$${LOCALBASE},${PREFIX},g'
SUUBST_VARS.paths= PREFIX
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-dmconfdir=${PKG_SYSCONFDIR}/dm
@ -34,6 +41,9 @@ CONFIGURE_ARGS+= --disable-user-display-server
CONFIGURE_ARGS+= --with-user=${GDMOWN}
CONFIGURE_ARGS+= --with-group=${GDMGRP}
CONFIGURE_ARGS+= --with-dbus-sys=${PREFIX}/etc/dbus-1/system.d
CONFIGURE_ARGS+= --with-initial-vt=05
CONFIGURE_ARGS+= --enable-gdm-xsession
CONFIGURE_ARGS+= --with-default-path="/usr/local/bin:/usr/local/sbin:${PREFIX}/bin:${PREFIX}/sbin:/usr/bin:/usr/sbin:/bin/sbin"
CONFIGURE_ENV+= PREFIX=${PREFIX}
CONFIGURE_ENV+= X11BASE=${X11BASE}
CONFIGURE_SCRIPT= ./autogen.sh
@ -54,6 +64,7 @@ OWN_DIRS+= ${VARBASE}/log/gdm
PKG_SYSCONFSUBDIR= gdm
EGDIR= ${PREFIX}/share/examples/gdm
CONF_FILES= ${EGDIR}/custom.conf ${PKG_SYSCONFDIR}/custom.conf
CONF_FILES+= ${EGDIR}/Xsession ${PKG_SYSCONFDIR}/Xsession
RCD_SCRIPTS= gdm
@ -104,6 +115,9 @@ post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/gdm/BuiltInSessions
${INSTALL_DATA} ${FILESDIR}/custom.desktop \
${DESTDIR}${PREFIX}/share/gdm/BuiltInSessions
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/examples/pam.d
${INSTALL_DATA} ${FILESDIR}/gdm-* ${DESTDIR}/${PREFIX}/share/examples/pam.d
${CHMOD} +x ${DESTDIR}${PREFIX}/share/examples/gdm/Xsession
.include "../../sysutils/gsettings-desktop-schemas/buildlink3.mk"
.include "../../security/openpam/buildlink3.mk"

View File

@ -21,7 +21,9 @@ share/examples/gdm/Init/Default
share/examples/gdm/PostLogin/Default.sample
share/examples/gdm/PostSession/Default
share/examples/gdm/PreSession/Default
share/examples/gdm/Xsession
share/examples/gdm/custom.conf
share/examples/pam.d/gdm-launch-environment
share/gdm/BuiltInSessions/custom.desktop
share/gdm/gdb-cmd
share/gdm/gdm.schemas
@ -190,3 +192,4 @@ share/locale/zh_HK/LC_MESSAGES/gdm.mo
share/locale/zh_TW/LC_MESSAGES/gdm.mo
share/locale/zu/LC_MESSAGES/gdm.mo
share/pixmaps/NetBSD.xpm
@pkgdir share/examples/gdm/pam.d

View File

@ -9,7 +9,8 @@ SHA1 (patch-common_gdm-address_c) = 194c2ccb1404709d2cb78cdaded93258bfec74f3
SHA1 (patch-common_gdm-common_c) = a144a8d39380b921f1cd8b9568886cb853189afa
SHA1 (patch-common_gdm-common_h) = 9a3ae5a59f66539f861ced8f31f4daa2388aafdc
SHA1 (patch-common_gdm-log_c) = 8855a1ddc30f927248c86eeede943e7f447a71cd
SHA1 (patch-configure_ac) = 40e3d7d9b5dc828cf1f7360e949fdcf7c17d0a84
SHA1 (patch-config.h.in) = e55b63fdd56ec469f5daa1f2938ae3907532aeaa
SHA1 (patch-configure_ac) = 588e470eed24d0fe62911aea1287dfac6a925b5c
SHA1 (patch-daemon_Makefile_am) = 45e1bdaada5241a488c4d3bb1a4f538f22483a30
SHA1 (patch-daemon_gdm-display_c) = 8c0dd3f90126b5a037411c56b2e9b7775a761d1d
SHA1 (patch-daemon_gdm-launch-environment_c) = 0df990e1259b206eb1de05f2c4c88941b4d43197
@ -27,4 +28,6 @@ SHA1 (patch-data_Init_in) = 9df2fcf45c138fd3bd392964b6f7dd514e31bcad
SHA1 (patch-data_Makefile_am) = ccfad37aa9ec3e37191454b10f8243a5bf97f1a5
SHA1 (patch-data_PostSession_in) = 3a8e66f8ae2839a54955aa8a25f51f3a26cbe791
SHA1 (patch-data_PreSession_in) = 598d10822c2d9e0600a684c29a7b2a2f5e14d10d
SHA1 (patch-data_gdm.conf-custom.in) = 005a58326ab108f578c56c50768ae2ee164e3a5a
SHA1 (patch-data_gnome-login.session.in) = ac5734a93290311a6fec8b5845e393eaa198199d
SHA1 (patch-libgdm_gdm-user-switching_c) = d655f79e498eaa7efd88ada4409d48270adf1d0c

View File

@ -0,0 +1,11 @@
# $OpenBSD: gdm-launch-environment,v 1.5 2016/04/26 08:59:48 ajacoutot Exp $
#
# gdm-launch-environment settings for pam(3)
auth required pam_permit.so
account required pam_permit.so
password required pam_permit.so
session include system

View File

@ -14,14 +14,15 @@ fi
name="gdm"
rcvar=${name}
command="@PREFIX@/sbin/${name}"
pidfile="/var/run/${name}.pid"
procname="@PREFIX@/sbin/gdm-binary"
command_args="&"
pidfile="/var/run/gdm/${name}.pid"
procname="@PREFIX@/sbin/gdm"
required_files="@PKG_SYSCONFDIR@/custom.conf"
extra_commands="reload"
if [ -f /etc/rc.subr ]; then
load_rc_config ${name}
run_rc_command "$1"
PATH=@PREFIX@/bin:$PATH run_rc_command "$1"
else
echo -n " ${name}"
${command} ${gdm_flags} ${command_args}

View File

@ -15,9 +15,9 @@ Subject: drop consolekit support
https://bugzilla.gnome.org/show_bug.cgi?id=722482
Index: configure.ac
--- configure.ac.orig
--- configure.ac.orig 2020-05-04 20:11:25.000000000 +0000
+++ configure.ac
@@ -224,12 +224,6 @@ AM_CONDITIONAL(ENABLE_EXHERBO_PAM_CONFIG, test x$with_
@@ -224,12 +224,6 @@ AM_CONDITIONAL(ENABLE_EXHERBO_PAM_CONFIG
AM_CONDITIONAL(ENABLE_LFS_PAM_CONFIG, test x$with_default_pam_config = xlfs)
AM_CONDITIONAL(ENABLE_ARCH_PAM_CONFIG, test x$with_default_pam_config = xarch)
@ -57,7 +57,7 @@ Index: configure.ac
fi
PKG_CHECK_MODULES([KEYUTILS],
@@ -612,14 +619,8 @@ dnl --------------------------------------------------
@@ -612,14 +619,8 @@ dnl ------------------------------------
dnl - Check for utmp stuff
dnl ---------------------------------------------------------------------------
@ -133,7 +133,33 @@ Index: configure.ac
AC_ARG_WITH(gnome-settings-daemon-directory,
[AC_HELP_STRING([--with-gnome-settings-daemon-directory],
[Specify the directory of gnome-settings-daemon used by the chooser @<:@default=libexecdir@:>@])],,
@@ -1489,6 +1528,7 @@ echo "
@@ -1142,10 +1181,10 @@ elif test -x /usr/X11/bin/Xserver; then
X_PATH="/usr/X11/bin"
X_SERVER_PATH="/usr/X11/bin"
X_SERVER="/usr/X11/bin/Xserver"
-elif test ! -h /usr/X11R6 -a -x /usr/X11R6/bin/X; then
- X_PATH="/usr/X11R6/bin"
- X_SERVER_PATH="/usr/X11R6/bin"
- X_SERVER="/usr/X11R6/bin/X"
+elif test ! -h /usr/X11R7 -a -x /usr/X11R7/bin/X; then
+ X_PATH="/usr/X11R7/bin"
+ X_SERVER_PATH="/usr/X11R7/bin"
+ X_SERVER="/usr/X11R7/bin/X"
elif test ! -h /usr/X11 -a -x /usr/X11/bin/X; then
X_PATH="/usr/X11/bin"
X_SERVER_PATH="/usr/X11/bin"
@@ -1173,6 +1212,10 @@ elif test -x /opt/X11R6/bin/X; then
X_PATH="/opt/X11R6/bin"
X_SERVER_PATH="/opt/X11R6/bin"
X_SERVER="/opt/X11R6/bin/X"
+elif test -x /usr/pkg/bin/X; then
+ X_PATH="/usr/pkg/bin"
+ X_SERVER_PATH="/usr/pkg/bin"
+ X_SERVER="/usr/pkg/bin/X"
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
@@ -1489,6 +1532,7 @@ echo "
dmconfdir: ${dmconfdir}
localstatedir: ${localstatedir}
datadir: ${datadir}
@ -141,7 +167,7 @@ Index: configure.ac
gnome-settings-daemon location: ${with_gnome_settings_daemon_directory}
gnome-session-check-accel location: ${with_check_accelerated_directory}
source code location: ${srcdir}
@@ -1519,6 +1559,8 @@ echo \
@@ -1519,6 +1563,8 @@ echo \
" Xinerama support: ${XINERAMA_SUPPORT}
XDMCP support: ${XDMCP_SUPPORT}
SELinux support: ${use_selinux}
@ -150,7 +176,7 @@ Index: configure.ac
systemd unit dir: ${with_systemdsystemunitdir}
udev dir: ${with_udevdir}
plymouth support: ${use_plymouth}
@@ -1528,3 +1570,4 @@ echo \
@@ -1528,3 +1574,4 @@ echo \
Enable documentation: ${enable_documentation}
Install GDM's Xsession: ${enable_gdm_xsession}
"

View File

@ -0,0 +1,13 @@
$NetBSD$
--- data/gdm.conf-custom.in.orig 2020-05-04 20:11:25.000000000 +0000
+++ data/gdm.conf-custom.in
@@ -2,7 +2,7 @@
[daemon]
# Uncomment the line below to force the login screen to use Xorg
-#WaylandEnable=false
+WaylandEnable=false
[security]

View File

@ -0,0 +1,9 @@
$NetBSD$
--- data/gnome-login.session.in.orig 2020-05-04 20:11:25.000000000 +0000
+++ data/gnome-login.session.in
@@ -1,3 +1,3 @@
[GNOME Session]
Name=Display Manager
-RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;
+RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;