pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/x11/sddm



Module Name:    pkgsrc
Committed By:   gutteridge
Date:           Fri Jan  2 22:22:23 UTC 2026

Modified Files:
        pkgsrc/x11/sddm: Makefile distinfo
        pkgsrc/x11/sddm/files: sddm.sh
        pkgsrc/x11/sddm/patches: patch-src_common_VirtualTerminal.cpp

Log Message:
sddm: apply various functional fixes

>From Stepan Ipatov via pkgsrc-wip:

Fix keyboard responsiveness on startup. "It happens due to the way sddm
selects the virtual TTY for starting the X server. It calls
ioctl(fd, VT_OPENQRY, &vt) and gets the first free TTY. The problem is
that at the stage of system boot when the rc scripts are executed, the
ioctl() call returns /dev/ttyE1. Apparently, sddm and getty do not
coexist well on the same TTY. The only workaround I've found so far is
to delay starting sddm until init has already spawned getty. Once that
happens, ioctl() returns the expected /dev/ttyE4."

Require dbus during rc.d startup.

Further changes from me:

Fixed typo in the rc.d/sddm script that prevented directories from
being created.

Fixed typo in PKG_GROUPS_VARS assignment.

Increased parameterization of the rc.d/sddm script. (Some of these
changes are different from what was last committed to wip.)


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/x11/sddm/Makefile pkgsrc/x11/sddm/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/x11/sddm/files/sddm.sh
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/x11/sddm/Makefile
diff -u pkgsrc/x11/sddm/Makefile:1.1 pkgsrc/x11/sddm/Makefile:1.2
--- pkgsrc/x11/sddm/Makefile:1.1        Tue Dec 30 04:00:08 2025
+++ pkgsrc/x11/sddm/Makefile    Fri Jan  2 22:22:23 2026
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+# $NetBSD: Makefile,v 1.2 2026/01/02 22:22:23 gutteridge Exp $
 
 DISTNAME=      sddm-0.21.0
+PKGREVISION=   1
 CATEGORIES=    x11
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=sddm/}
 GITHUB_TAG=    refs/tags/v${PKGVERSION_NOREV}
@@ -61,13 +62,16 @@ BUILD_DEFS+=                VARBASE
 SDDM_GROUP=            sddm
 SDDM_USER=             sddm
 SDDM_HOME=             ${VARBASE}/lib/sddm
-PKG_GROUPS_VARS+=      SMDM_GROUP
+PKG_GROUPS_VARS+=      SDDM_GROUP
 PKG_USERS_VARS+=       SDDM_USER
 PKG_GROUPS=            ${SDDM_GROUP}
 PKG_USERS=             ${SDDM_USER}:${SDDM_GROUP}
 PKG_GECOS.${SDDM_USER}=        SDDM user
 PKG_HOME.${SDDM_USER}= ${SDDM_HOME}
 
+FILES_SUBST+=  SDDM_USER=${SDDM_USER}
+FILES_SUBST+=  SDDM_GROUP=${SDDM_GROUP}
+
 OWN_DIRS_PERMS+=       ${SDDM_HOME} ${SDDM_USER} ${SDDM_GROUP} 0770
 
 .if ${INIT_SYSTEM} == "rc.d"
Index: pkgsrc/x11/sddm/distinfo
diff -u pkgsrc/x11/sddm/distinfo:1.1 pkgsrc/x11/sddm/distinfo:1.2
--- pkgsrc/x11/sddm/distinfo:1.1        Tue Dec 30 04:00:08 2025
+++ pkgsrc/x11/sddm/distinfo    Fri Jan  2 22:22:23 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+$NetBSD: distinfo,v 1.2 2026/01/02 22:22:23 gutteridge Exp $
 
 BLAKE2s (sddm-0.21.0.tar.gz) = 074acc30769f11b9efda7e0a6eb5a48603034170bbe4f175f9f0b579ed3e2c8e
 SHA512 (sddm-0.21.0.tar.gz) = 2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458
@@ -8,7 +8,7 @@ SHA1 (patch-data_man_sddm.conf.rst.in) =
 SHA1 (patch-data_themes_CMakeLists.txt) = 105647648b6b172c89cbe68e5d34136459b8e1da
 SHA1 (patch-services_CMakeLists.txt) = f271ae7044792b22d7ac7427c462400c2cb24d29
 SHA1 (patch-src_common_Configuration.h) = 67d0960dc3b8a01d3c80d3897a1fa3c7575635fe
-SHA1 (patch-src_common_VirtualTerminal.cpp) = fb3be92b0aab514abc883df6b046a0c29a9ef106
+SHA1 (patch-src_common_VirtualTerminal.cpp) = 12f888d18ff320ad93e069f9da45bc91ad200de5
 SHA1 (patch-src_common_XAuth.cpp) = 0d828eb6adc19bf7dc69a1ca26e80b92bcc56722
 SHA1 (patch-src_daemon_LogindDBusTypes.cpp) = cd8773a37bdc89196bba67cdb0c41a8a4b416306
 SHA1 (patch-src_helper_Backend.cpp) = 7b9702880840723411b0eb19c45cb66e33b8700c

Index: pkgsrc/x11/sddm/files/sddm.sh
diff -u pkgsrc/x11/sddm/files/sddm.sh:1.1 pkgsrc/x11/sddm/files/sddm.sh:1.2
--- pkgsrc/x11/sddm/files/sddm.sh:1.1   Tue Dec 30 04:00:09 2025
+++ pkgsrc/x11/sddm/files/sddm.sh       Fri Jan  2 22:22:23 2026
@@ -1,9 +1,9 @@
 #!@RCD_SCRIPTS_SHELL@
 #
-# $NetBSD: sddm.sh,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+# $NetBSD: sddm.sh,v 1.2 2026/01/02 22:22:23 gutteridge Exp $
 #
 # PROVIDE: sddm
-# REQUIRE: DAEMON LOGIN wscons
+# REQUIRE: DAEMON LOGIN wscons dbus
 # KEYWORD: shutdown
 
 $_rc_subr_loaded . /etc/rc.subr
@@ -15,17 +15,31 @@ pidfile="@VARBASE@/run/$name.pid"
 command="@PREFIX@/sbin/daemonize"
 command_args="$command_args -p $pidfile"
 command_args="$command_args $procname"
-
 start_precmd=sddm_prestart
+start_cmd=sddm_start
 
 sddm_prestart() {
-       dirs="@VARBASE@/lib/$name"
-       if test ! -d $dir; then
-               /bin/mkdir -p $dir
-               /bin/chmod 0755 $dir
-               /usr/sbin/chown sddm:sddm $dir
+       dir="@VARBASE@/lib/$name"
+       if @TEST@ ! -d $dir; then
+               @MKDIR@ $dir
+               @CHMOD@ 0755 $dir
+               @CHOWN@ @SDDM_USER@:@SDDM_GROUP@ $dir
        fi
 }
 
+sddm_start()
+{
+       @ECHO@ "Starting ${name}."
+
+       (
+               # Delay starting sddm until init has already spawned getty.
+               for i in $(seq 1 60); do
+                       pgrep -f '^/usr/libexec/getty ' >/dev/null && break
+                       sleep 1
+               done
+               $command $command_args
+       ) &
+}
+
 load_rc_config $name
 run_rc_command "$1"

Index: pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp
diff -u pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp:1.1 pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp:1.2
--- pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp:1.1    Tue Dec 30 04:00:09 2025
+++ pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp        Fri Jan  2 22:22:23 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_common_VirtualTerminal.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+$NetBSD: patch-src_common_VirtualTerminal.cpp,v 1.2 2026/01/02 22:22:23 gutteridge Exp $
 
 Fix tty device for NetBSD.
 
@@ -13,7 +13,7 @@ Fix tty device for NetBSD.
  #else
  #include <linux/vt.h>
  #include <linux/kd.h>
-@@ -58,6 +60,22 @@ namespace SDDM {
+@@ -58,6 +60,21 @@ namespace SDDM {
              }
              return vtActive;
          }
@@ -21,8 +21,7 @@ Fix tty device for NetBSD.
 +        static const char *defaultVtPath = "/dev/ttyE0";        
 +
 +        QString path(int vt) {
-+            char c = (vt <= 10 ? '0' : 'a') + (vt - 1);
-+            return QStringLiteral("/dev/ttyE%1").arg(c);
++            return QStringLiteral("/dev/ttyE%1").arg(vt - 1);
 +        }
 +
 +        int getVtActive(int fd) {
@@ -36,7 +35,7 @@ Fix tty device for NetBSD.
  #else
          static const char *defaultVtPath = "/dev/tty0";
  
-@@ -119,12 +137,12 @@ namespace SDDM {
+@@ -119,12 +136,12 @@ namespace SDDM {
  
              if (getmodeReply.mode != VT_AUTO)
                  goto out;



Home | Main Index | Thread Index | Old Index