git: 718687d3ee3e - main - x11/sddm: Update to 0.20.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jul 2023 16:07:50 UTC
The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=718687d3ee3e9556cd440c0aa26a36c52937e620 commit 718687d3ee3e9556cd440c0aa26a36c52937e620 Author: Gleb Popov <arrowd@FreeBSD.org> AuthorDate: 2021-10-12 16:10:40 +0000 Commit: Gleb Popov <arrowd@FreeBSD.org> CommitDate: 2023-07-14 16:07:47 +0000 x11/sddm: Update to 0.20.0 Co-authored-by: Kenneth Raplee <kenrap@kennethraplee.com> --- x11/sddm/Makefile | 14 +++--- x11/sddm/distinfo | 8 ++-- x11/sddm/files/patch-data_scripts_Xsession | 19 -------- x11/sddm/files/patch-services_sddm-autologin.pam | 6 +-- x11/sddm/files/patch-services_sddm.pam | 40 ++++++++--------- x11/sddm/files/patch-src_common_Configuration.h | 6 +-- x11/sddm/files/patch-src_daemon_DaemonApp.cpp | 22 ---------- x11/sddm/files/patch-src_daemon_Display.cpp | 24 ----------- x11/sddm/files/patch-src_helper_UserSession.cpp | 55 ------------------------ x11/sddm/pkg-plist | 5 +++ 10 files changed, 40 insertions(+), 159 deletions(-) diff --git a/x11/sddm/Makefile b/x11/sddm/Makefile index 94f46a1fc1c4..553e9c4288b5 100644 --- a/x11/sddm/Makefile +++ b/x11/sddm/Makefile @@ -1,12 +1,8 @@ PORTNAME= sddm -PORTVERSION= 0.19.0 +PORTVERSION= 0.20.0 DISTVERSIONPREFIX= v -PORTREVISION= 8 CATEGORIES= x11 -PATCH_SITES= https://github.com/sddm/sddm/commit/ -PATCHFILES= e93bf95c54ad8c2a1604f8d7be05339164b19308.patch:-p1 - MAINTAINER= kde@FreeBSD.org COMMENT= QML based login manager WWW= https://github.com/sddm/sddm @@ -30,8 +26,9 @@ CPE_VENDOR= ${PORTNAME}_project USE_GITHUB= yes USE_KDE= ecm:build USE_QT= core declarative dbus gui network \ - buildtools:build linguisttools:build qmake:build testlib:build -USE_XORG= xcb + buildtools:build linguisttools:build declarative-test:build \ + qmake:build testlib:build +USE_XORG= xau xcb CONFLICTS_INSTALL= lightdm @@ -39,7 +36,8 @@ CMAKE_ON= BUILD_MAN_PAGES CMAKE_ARGS= -DUID_MIN=1000 \ -DUID_MAX=65000 \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${LOCALBASE}/etc \ - -DRST2MAN_EXECUTABLE=${LOCALBASE}/bin/rst2man.py-${PYTHON_VER} + -DRST2MAN_EXECUTABLE=${LOCALBASE}/bin/rst2man.py-${PYTHON_VER} \ + -DSDDM_INITIAL_VT=7 USE_RC_SUBR= sddm SUB_FILES= xinitrc.desktop diff --git a/x11/sddm/distinfo b/x11/sddm/distinfo index bf6877f2adcf..22293e126b67 100644 --- a/x11/sddm/distinfo +++ b/x11/sddm/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1640593130 -SHA256 (sddm-sddm-v0.19.0_GH0.tar.gz) = e76da1f13d5ad5e0179e3fec57543126044339405ef19c397e105e0807bd4e41 -SIZE (sddm-sddm-v0.19.0_GH0.tar.gz) = 3532945 -SHA256 (e93bf95c54ad8c2a1604f8d7be05339164b19308.patch) = 4878cbadf98d0219e268ba2dd73adda917fccf1bd99113652e626082f2bdfc72 -SIZE (e93bf95c54ad8c2a1604f8d7be05339164b19308.patch) = 865 +TIMESTAMP = 1689196955 +SHA256 (sddm-sddm-v0.20.0_GH0.tar.gz) = 467c8bd91e0d4f76d4bc4e57ab334f1f48a33478482ba9476d93b0b3d7ace9fb +SIZE (sddm-sddm-v0.20.0_GH0.tar.gz) = 3552722 diff --git a/x11/sddm/files/patch-data_scripts_Xsession b/x11/sddm/files/patch-data_scripts_Xsession deleted file mode 100644 index 1cde066065fb..000000000000 --- a/x11/sddm/files/patch-data_scripts_Xsession +++ /dev/null @@ -1,19 +0,0 @@ -Fix use of "$@" (see sh(1)). - -There's no systemd on FreeBSD so start the session using $STARTUP which is -defined in 90-consolekit if ConsoleKit2 is installed. By default this allows -local users to shutdown/reboot the machine and access devices like USB keys. - -Also use dbus-run-session so libdbus doesn't have to autolauch the session bus -daemon on first use. Autolaunched dbus daemons tend to linger and may only -exit if the X server exits. - ---- data/scripts/Xsession.orig 2019-03-13 09:22:35 UTC -+++ data/scripts/Xsession -@@ -98,5 +98,5 @@ fi - if [ -z "$*" ]; then - exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." - else -- exec $@ -+ exec $STARTUP /usr/bin/dbus-run-session --dbus-daemon=/usr/bin/dbus-daemon -- "$@" - fi diff --git a/x11/sddm/files/patch-services_sddm-autologin.pam b/x11/sddm/files/patch-services_sddm-autologin.pam index 4117b6d709ff..6bbe10335f32 100644 --- a/x11/sddm/files/patch-services_sddm-autologin.pam +++ b/x11/sddm/files/patch-services_sddm-autologin.pam @@ -1,9 +1,9 @@ ---- services/sddm-autologin.pam.orig 2020-11-03 09:55:31 UTC +--- services/sddm-autologin.pam.orig 2021-10-03 13:28:23 UTC +++ services/sddm-autologin.pam -@@ -1,13 +1,9 @@ +@@ -1,13 +1,10 @@ #%PAM-1.0 -auth required pam_env.so --auth required pam_tally2.so file=/var/log/tallylog onerr=succeed + auth required pam_faillock.so preauth -auth required pam_shells.so -auth required pam_nologin.so auth required pam_permit.so diff --git a/x11/sddm/files/patch-services_sddm.pam b/x11/sddm/files/patch-services_sddm.pam index 5b77e395a39f..58d80d965b2d 100644 --- a/x11/sddm/files/patch-services_sddm.pam +++ b/x11/sddm/files/patch-services_sddm.pam @@ -1,27 +1,27 @@ ---- services/sddm.pam.orig 2017-12-05 16:00:16 UTC +--- services/sddm.pam.orig 2023-02-08 07:12:21 UTC +++ services/sddm.pam @@ -1,15 +1,14 @@ #%PAM-1.0 --auth include system-login ---auth optional pam_gnome_keyring.so ---auth optional pam_kwallet5.so -+auth include login -+#auth optional pam_gnome_keyring.so -+#auth optional pam_kwallet5.so +-auth include system-login +--auth optional pam_gnome_keyring.so +--auth optional pam_kwallet5.so ++auth include login ++#auth optional pam_gnome_keyring.so ++#auth optional pam_kwallet5.so --account include system-login -+account include login +-account include system-login ++account include login --password include system-login ---password optional pam_gnome_keyring.so use_authtok -+password include login -+#password optional pam_gnome_keyring.so use_authtok +-password include system-login +--password optional pam_gnome_keyring.so use_authtok ++password include login ++#password optional pam_gnome_keyring.so use_authtok --session optional pam_keyinit.so force revoke --session include system-login ---session optional pam_gnome_keyring.so auto_start ---session optional pam_kwallet5.so auto_start -+session include login -+#session optional pam_gnome_keyring.so auto_start -+#session optional pam_kwallet5.so auto_start +-session optional pam_keyinit.so force revoke +-session include system-login +--session optional pam_gnome_keyring.so auto_start +--session optional pam_kwallet5.so auto_start ++session include login ++#session optional pam_gnome_keyring.so auto_start ++#session optional pam_kwallet5.so auto_start diff --git a/x11/sddm/files/patch-src_common_Configuration.h b/x11/sddm/files/patch-src_common_Configuration.h index decb680a3c0d..cb15eb236b8a 100644 --- a/x11/sddm/files/patch-src_common_Configuration.h +++ b/x11/sddm/files/patch-src_common_Configuration.h @@ -6,9 +6,9 @@ Set the default theme and cursor theme to breeze, because sddm is most likely used together with Plasma. If they aren't available sddm falls back to a compiled-in theme. ---- src/common/Configuration.h.orig 2020-11-03 09:55:31 UTC +--- src/common/Configuration.h.orig 2021-10-12 20:26:16 UTC +++ src/common/Configuration.h -@@ -47,10 +47,10 @@ namespace SDDM { +@@ -51,10 +51,10 @@ namespace SDDM { // Name Entries (but it's a regular class again) Section(Theme, Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path")); @@ -18,6 +18,6 @@ compiled-in theme. "The files should be named <username>.face.icon")); - Entry(CursorTheme, QString, QString(), _S("Cursor theme used in the greeter")); + Entry(CursorTheme, QString, _S("breeze_cursors"), _S("Cursor theme used in the greeter")); + Entry(CursorSize, QString, QString(), _S("Cursor size used in the greeter")); Entry(Font, QString, QString(), _S("Font used in the greeter")); Entry(EnableAvatars, bool, true, _S("Enable display of custom user avatars")); - Entry(DisableAvatarsThreshold,int, 7, _S("Number of users to use as threshold\n" diff --git a/x11/sddm/files/patch-src_daemon_DaemonApp.cpp b/x11/sddm/files/patch-src_daemon_DaemonApp.cpp deleted file mode 100644 index 78c7f42763fd..000000000000 --- a/x11/sddm/files/patch-src_daemon_DaemonApp.cpp +++ /dev/null @@ -1,22 +0,0 @@ -On FreeBSD console-kit-daemon isn't started by the init system, so try to -start it from sddm. - ---- src/daemon/DaemonApp.cpp.orig 2017-12-05 16:00:16 UTC -+++ src/daemon/DaemonApp.cpp -@@ -28,6 +28,7 @@ - - #include "MessageHandler.h" - -+#include <QDBusConnectionInterface> - #include <QDebug> - #include <QHostInfo> - #include <QTimer> -@@ -48,6 +49,8 @@ namespace SDDM { - - // set testing parameter - m_testing = (arguments().indexOf(QStringLiteral("--test-mode")) != -1); -+ -+ QDBusConnection::systemBus().interface()->startService(QStringLiteral("org.freedesktop.ConsoleKit")); - - // create display manager - m_displayManager = new DisplayManager(this); diff --git a/x11/sddm/files/patch-src_daemon_Display.cpp b/x11/sddm/files/patch-src_daemon_Display.cpp deleted file mode 100644 index d4e583a60caf..000000000000 --- a/x11/sddm/files/patch-src_daemon_Display.cpp +++ /dev/null @@ -1,24 +0,0 @@ -VirtualTerminal for Wayland is only present on Linux at the moment. -As we are only interested in an X11 session at the moment, we therefore -can hide it behind a Q_OS_LINUX. - -Only set XDG_CURRENT_DESKTOP and XDG_SESSION_DESKTOP if the xsession .desktop -file defines DesktopNames. Our xinitrc.desktop does not set it because that -may confuse the desktop session started from ~/.xinitrc. These environment -variables are used for OnlyShowIn and NotShowIn in .desktop files. - ---- src/daemon/Display.cpp.orig 2020-11-03 09:55:31 UTC -+++ src/daemon/Display.cpp -@@ -320,10 +320,12 @@ namespace SDDM { - env.insert(QStringLiteral("XDG_SEAT_PATH"), daemonApp->displayManager()->seatPath(seat()->name())); - env.insert(QStringLiteral("XDG_SESSION_PATH"), daemonApp->displayManager()->sessionPath(QStringLiteral("Session%1").arg(daemonApp->newSessionId()))); - env.insert(QStringLiteral("DESKTOP_SESSION"), session.desktopSession()); -+ if (!session.desktopNames().isEmpty()) - env.insert(QStringLiteral("XDG_CURRENT_DESKTOP"), session.desktopNames()); - env.insert(QStringLiteral("XDG_SESSION_CLASS"), QStringLiteral("user")); - env.insert(QStringLiteral("XDG_SESSION_TYPE"), session.xdgSessionType()); - env.insert(QStringLiteral("XDG_SEAT"), seat()->name()); -+ if (!session.desktopNames().isEmpty()) - env.insert(QStringLiteral("XDG_SESSION_DESKTOP"), session.desktopNames()); - - m_auth->insertEnvironment(env); diff --git a/x11/sddm/files/patch-src_helper_UserSession.cpp b/x11/sddm/files/patch-src_helper_UserSession.cpp deleted file mode 100644 index efe28218dfa0..000000000000 --- a/x11/sddm/files/patch-src_helper_UserSession.cpp +++ /dev/null @@ -1,55 +0,0 @@ ---- src/helper/UserSession.cpp.orig 2019-03-13 09:22:35 UTC -+++ src/helper/UserSession.cpp -@@ -33,6 +33,9 @@ - #include <unistd.h> - #include <fcntl.h> - #include <sched.h> -+#if defined(Q_OS_FREEBSD) -+#include <login_cap.h> -+#endif /* defined(Q_OS_FREEBSD) */ - - namespace SDDM { - UserSession::UserSession(HelperApp *parent) -@@ -46,10 +49,8 @@ namespace SDDM { - bool UserSession::start() { - QProcessEnvironment env = qobject_cast<HelperApp*>(parent())->session()->processEnvironment(); - -- if (env.value(QStringLiteral("XDG_SESSION_CLASS")) == QLatin1String("greeter")) { -- QProcess::start(m_path); -- } else if (env.value(QStringLiteral("XDG_SESSION_TYPE")) == QLatin1String("x11")) { -- const QString cmd = QStringLiteral("%1 \"%2\"").arg(mainConfig.X11.SessionCommand.get()).arg(m_path); -+ if (env.value(QStringLiteral("XDG_SESSION_TYPE")) == QLatin1String("x11")) { -+ const QString cmd = QStringLiteral("%1 %2").arg(mainConfig.X11.SessionCommand.get()).arg(m_path); - qInfo() << "Starting:" << cmd; - QProcess::start(cmd); - } else if (env.value(QStringLiteral("XDG_SESSION_TYPE")) == QLatin1String("wayland")) { -@@ -130,6 +131,21 @@ namespace SDDM { - - // switch user - const QByteArray username = qobject_cast<HelperApp*>(parent())->user().toLocal8Bit(); -+#if defined(Q_OS_FREEBSD) -+ struct passwd *pw = getpwnam(username.constData()); -+ /* execve() uses the environment prepared in Backend::openSession(), -+ therefore environment variables which are set here are ignored. */ -+ if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) { -+ qCritical() << "setusercontext(NULL, *, " << pw->pw_uid << ", LOGIN_SETALL) failed for user: " << username; -+ exit(Auth::HELPER_OTHER_ERROR); -+ } -+ if (chdir(pw->pw_dir) != 0) { -+ qCritical() << "chdir(" << pw->pw_dir << ") failed for user: " << username; -+ qCritical() << "verify directory exist and has sufficient permissions"; -+ exit(Auth::HELPER_OTHER_ERROR); -+ } -+ const QString homeDir = QString::fromLocal8Bit(pw->pw_dir); -+#else /* defined(Q_OS_FREEBSD) */ - struct passwd pw; - struct passwd *rpw; - long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX); -@@ -221,6 +237,7 @@ namespace SDDM { - exit(Auth::HELPER_OTHER_ERROR); - } - const QString homeDir = QString::fromLocal8Bit(pw.pw_dir); -+#endif /* defined(Q_OS_FREEBSD) */ - - //we cannot use setStandardError file as this code is run in the child process - //we want to redirect after we setuid so that the log file is owned by the user diff --git a/x11/sddm/pkg-plist b/x11/sddm/pkg-plist index 35988b33a4ad..bc24fd18f449 100644 --- a/x11/sddm/pkg-plist +++ b/x11/sddm/pkg-plist @@ -18,6 +18,8 @@ etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf %%QT_QMLDIR%%/SddmComponents/qmldir %%QT_QMLDIR%%/SddmComponents/warning.png libexec/sddm-helper +libexec/sddm-helper-start-wayland +libexec/sddm-helper-start-x11user share/man/man1/sddm-greeter.1.gz share/man/man1/sddm.1.gz share/man/man5/sddm-state.conf.5.gz @@ -29,6 +31,7 @@ share/man/man5/sddm.conf.5.gz %%DATADIR%%/flags/ar.png %%DATADIR%%/flags/at.png %%DATADIR%%/flags/az.png +%%DATADIR%%/flags/bd.png %%DATADIR%%/flags/be.png %%DATADIR%%/flags/bg.png %%DATADIR%%/flags/bh.png @@ -159,6 +162,7 @@ share/man/man5/sddm.conf.5.gz %%DATADIR%%/translations/eu.qm %%DATADIR%%/translations/fi.qm %%DATADIR%%/translations/fr.qm +%%DATADIR%%/translations/gl.qm %%DATADIR%%/translations/he.qm %%DATADIR%%/translations/hi_IN.qm %%DATADIR%%/translations/hu.qm @@ -166,6 +170,7 @@ share/man/man5/sddm.conf.5.gz %%DATADIR%%/translations/is.qm %%DATADIR%%/translations/it.qm %%DATADIR%%/translations/ja.qm +%%DATADIR%%/translations/ka.qm %%DATADIR%%/translations/kk.qm %%DATADIR%%/translations/ko.qm %%DATADIR%%/translations/lt.qm