From a0efbd908c43f575ef61d3127d26497cd575a6c4 Mon Sep 17 00:00:00 2001 From: David P Date: May 03 2022 02:11:53 +0000 Subject: updpkg: nonsystemd/sddm 0.19.0-8.nonsystemd1 Signed-off-by: David P --- diff --git a/nonsystemd/sddm/PKGBUILD b/nonsystemd/sddm/PKGBUILD index 47e1389..6303ef3 100644 --- a/nonsystemd/sddm/PKGBUILD +++ b/nonsystemd/sddm/PKGBUILD @@ -4,54 +4,71 @@ # Contributor (Arch): Andrea Scarpino pkgname=sddm -pkgver=0.18.1 -pkgrel=1 +pkgver=0.19.0 +pkgrel=8 pkgrel+=.nonsystemd1 pkgdesc='QML based X11 and Wayland display manager' -arch=('x86_64') -arch+=('i686' 'armv7h') -url='http://github.com/sddm/sddm' -license=('GPL') -depends=('qt5-declarative' 'xorg-xauth' 'xorg-server' 'elogind') -makedepends=('extra-cmake-modules' 'python-docutils' 'qt5-tools') -makedepends+=('pcre2') +arch=(x86_64) +arch+=(i686 armv7h) +url='https://github.com/sddm/sddm' +license=(GPL) +depends=(qt5-declarative xorg-xauth xorg-server ttf-font) +makedepends=(extra-cmake-modules python-docutils qt5-tools) backup=('usr/share/sddm/scripts/Xsetup' 'usr/share/sddm/scripts/Xstop' 'etc/pam.d/sddm' 'etc/pam.d/sddm-autologin' 'etc/pam.d/sddm-greeter') -provides=('display-manager' 'sddm-elogind') -replaces=('sddm-elogind') -conflicts=(${replaces[@]}) -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/v${pkgver}.tar.gz" - sddm.sysusers sddm.tmpfiles) -sha256sums=('07296fc747010a5dd58a45f16c3224b439997afad42566e4b043c841b1b71700' +provides=(display-manager) +source=($pkgname-$pkgver.tar.gz::"https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz" + sddm.sysusers sddm.tmpfiles + pam-faillock.patch + sddm-fix-race-pre.patch::"https://github.com/sddm/sddm/commit/68cc9e31.patch" + sddm-fix-race.patch::"https://patch-diff.githubusercontent.com/raw/sddm/sddm/pull/1324.patch" + sddm-desktop-session.patch::"https://github.com/sddm/sddm/commit/5fd5ed27.patch" + sddm-0.18.0-Xsession.patch + sddm-0.19.0-pam-1.4-substack.patch + sddm-0.19.0-Xserver_startup.patch + sddm-fix-build.patch) +sha256sums=('e76da1f13d5ad5e0179e3fec57543126044339405ef19c397e105e0807bd4e41' '9fce66f325d170c61caed57816f4bc72e9591df083e89da114a3bb16b0a0e60f' - 'db625f2a3649d6d203e1e1b187a054d5c6263cadf7edd824774d8ace52219677') + 'db625f2a3649d6d203e1e1b187a054d5c6263cadf7edd824774d8ace52219677' + '441f441fc63c16c5dbd83411a305d88b17e50836c958677db881b9b6c13c668a' + '33770560315b5369fd15baf5cd877f1191e642cefc6d2a1b4f0a7a80c109c025' + 'bbe45a316140c145d7de67dbe95764e44a0787ad9c6bcd2f7e0694484bd79640' + '83e4df6e1c0c23e7b38c1d523c236108eae177ba11c5d466825690845ef99fcf' + 'dc2384e1b17cf1a217bff363c948494a74ec8d41c2a11dbd3cec0aefa880e845' + '921674946b1d0f728382ebd4fde2566f16b80434ebce6e790c684f98819273bb' + 'd46932e0a60cf5050aaea590ff5f3ab580d2118cbf746f55f78033f72f1bcb76' + 'e9058d261138e637248b20243e3e81ff337ab669a4a25fbff387bf9558a682c6') +options=(debug) prepare() { - mkdir -p build + patch -d $pkgname-$pkgver -p1 < pam-faillock.patch # Port away from deprecated pam_tally2 + patch -d $pkgname-$pkgver -p1 < sddm-fix-race-pre.patch # Make next patch apply + patch -d $pkgname-$pkgver -p1 < sddm-fix-race.patch # Fix race at startup + patch -d $pkgname-$pkgver -p1 < sddm-desktop-session.patch # Fix desktop session name + patch -d $pkgname-$pkgver -p1 < sddm-fix-build.patch # Fix build with Qt post 5.15.2 } build() { - cd build - cmake ../${pkgname}-${pkgver} \ + cmake -B build -S $pkgname-$pkgver \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/sddm \ -DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d \ -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \ -DUSE_ELOGIND=yes \ -DNO_SYSTEMD=yes \ - -DBUILD_MAN_PAGES=ON - make + -DBUILD_MAN_PAGES=ON \ + -DUID_MAX=60513 + cmake --build build } package() { - cd build - make DESTDIR="${pkgdir}" install + DESTDIR="$pkgdir" cmake --install build - install -Dm644 "$srcdir"/sddm.sysusers "$pkgdir"/usr/lib/sysusers.d/sddm.conf - install -Dm644 "$srcdir"/sddm.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/sddm.conf + install -Dm644 sddm.sysusers "$pkgdir"/usr/lib/sysusers.d/sddm.conf + install -Dm644 sddm.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/sddm.conf install -d "$pkgdir"/usr/lib/sddm/sddm.conf.d "$pkgdir"/usr/bin/sddm --example-config > "$pkgdir"/usr/lib/sddm/sddm.conf.d/default.conf diff --git a/nonsystemd/sddm/pam-faillock.patch b/nonsystemd/sddm/pam-faillock.patch new file mode 100644 index 0000000..91c44bb --- /dev/null +++ b/nonsystemd/sddm/pam-faillock.patch @@ -0,0 +1,12 @@ +diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam +index 4c82048..b42991e 100755 +--- a/services/sddm-autologin.pam ++++ b/services/sddm-autologin.pam +@@ -1,6 +1,6 @@ + #%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/nonsystemd/sddm/sddm-0.18.0-Xsession.patch b/nonsystemd/sddm/sddm-0.18.0-Xsession.patch new file mode 100644 index 0000000..41c813a --- /dev/null +++ b/nonsystemd/sddm/sddm-0.18.0-Xsession.patch @@ -0,0 +1,24 @@ +--- a/data/scripts/Xsession 2016-08-28 14:52:04.910181422 +0200 ++++ b/data/scripts/Xsession 2017-10-21 15:25:47.668886596 +0200 +@@ -50,6 +50,10 @@ + ;; + esac + ++# Make D-Bus and ConsoleKit start properly, see: ++# /etc/X11/xinit/xinitrc.d/{80-dbus,90-consolekit} ++command="$@" ++ + [ -f /etc/xprofile ] && . /etc/xprofile + [ -f $HOME/.xprofile ] && . $HOME/.xprofile + +@@ -94,8 +98,8 @@ + . "$USERXSESSION" + fi + +-if [ -z "$*" ]; then ++if [ -z "$command" ]; then + exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." + else +- exec $@ ++ exec $command + fi diff --git a/nonsystemd/sddm/sddm-0.19.0-Xserver_startup.patch b/nonsystemd/sddm/sddm-0.19.0-Xserver_startup.patch new file mode 100644 index 0000000..a8d6064 --- /dev/null +++ b/nonsystemd/sddm/sddm-0.19.0-Xserver_startup.patch @@ -0,0 +1,35 @@ +From a13d38ea605a8db7392f90ae1a894e14d7746e8d Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Wed, 9 Dec 2020 19:33:08 +0100 +Subject: [PATCH] Emit XorgDisplayServer::started only when the auth file is + ready + +--- + src/daemon/XorgDisplayServer.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp +index 5f93a1b..4c51304 100644 +--- a/src/daemon/XorgDisplayServer.cpp ++++ b/src/daemon/XorgDisplayServer.cpp +@@ -222,8 +222,6 @@ namespace SDDM { + + // close our pipe + close(pipeFds[0]); +- +- emit started(); + } + + // The file is also used by the greeter, which does care about the +@@ -236,6 +234,8 @@ namespace SDDM { + } + changeOwner(m_authPath); + ++ emit started(); ++ + // set flag + m_started = true; + +-- +2.35.1 + diff --git a/nonsystemd/sddm/sddm-0.19.0-pam-1.4-substack.patch b/nonsystemd/sddm/sddm-0.19.0-pam-1.4-substack.patch new file mode 100644 index 0000000..49c41cb --- /dev/null +++ b/nonsystemd/sddm/sddm-0.19.0-pam-1.4-substack.patch @@ -0,0 +1,31 @@ +--- sddm-0.19.0/services/sddm-autologin.pam ++++ sddm-0.19.0/services/sddm-autologin.pam +@@ -1,6 +1,5 @@ + #%PAM-1.0 + auth required pam_env.so +-auth required pam_tally2.so file=/var/log/tallylog onerr=succeed + auth required pam_shells.so + auth required pam_nologin.so + auth required pam_permit.so +--- sddm-0.19.0/services/sddm.pam ++++ sddm-0.19.0/services/sddm.pam +@@ -1,15 +1,15 @@ + #%PAM-1.0 + +-auth include system-login ++auth substack system-login + -auth optional pam_gnome_keyring.so + -auth optional pam_kwallet5.so + +-account include system-login ++account substack system-login + +-password include system-login ++password substack system-login + -password optional pam_gnome_keyring.so use_authtok + + session optional pam_keyinit.so force revoke +-session include system-login ++session substack system-login + -session optional pam_gnome_keyring.so auto_start + -session optional pam_kwallet5.so auto_start diff --git a/nonsystemd/sddm/sddm-fix-build.patch b/nonsystemd/sddm/sddm-fix-build.patch new file mode 100644 index 0000000..8e6cde8 --- /dev/null +++ b/nonsystemd/sddm/sddm-fix-build.patch @@ -0,0 +1,13 @@ +diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp +index 5f93a1b..d5f29a9 100644 +--- a/src/daemon/XorgDisplayServer.cpp ++++ b/src/daemon/XorgDisplayServer.cpp +@@ -65,7 +65,7 @@ namespace SDDM { + // create a random hexadecimal number + const char *digits = "0123456789abcdef"; + for (int i = 0; i < 32; ++i) +- m_cookie[i] = digits[dis(gen)]; ++ m_cookie[i] = QLatin1Char(digits[dis(gen)]); + } + + XorgDisplayServer::~XorgDisplayServer() {