From cfe18cf4227860f316781e5d87a94a9715660547 Mon Sep 17 00:00:00 2001 From: Bart Ribbers Date: Thu, 25 Apr 2024 22:46:17 +0200 Subject: [PATCH] extra-repos/systemd/plasma*: add initial systemd Plasma packages (MR 5563) --- .../systemd/kactivitymanagerd/APKBUILD | 55 +++++++ extra-repos/systemd/kscreenlocker/APKBUILD | 83 ++++++++++ .../systemd/kscreenlocker/kde-fingerprint.pam | 15 ++ .../systemd/kscreenlocker/kde-smartcard.pam | 15 ++ extra-repos/systemd/kscreenlocker/kde.pam | 5 + extra-repos/systemd/kwin/APKBUILD | 118 ++++++++++++++ extra-repos/systemd/plasma-workspace/APKBUILD | 153 ++++++++++++++++++ .../systemd/sddm/0001-pam-path-fix.patch | 40 +++++ ...3-disable-automatic-portal-launching.patch | 30 ++++ extra-repos/systemd/sddm/APKBUILD | 88 ++++++++++ extra-repos/systemd/sddm/sddm.confd | 1 + extra-repos/systemd/sddm/sddm.initd | 16 ++ extra-repos/systemd/sddm/sddm.pre-install | 6 + 13 files changed, 625 insertions(+) create mode 100644 extra-repos/systemd/kactivitymanagerd/APKBUILD create mode 100644 extra-repos/systemd/kscreenlocker/APKBUILD create mode 100644 extra-repos/systemd/kscreenlocker/kde-fingerprint.pam create mode 100644 extra-repos/systemd/kscreenlocker/kde-smartcard.pam create mode 100644 extra-repos/systemd/kscreenlocker/kde.pam create mode 100644 extra-repos/systemd/kwin/APKBUILD create mode 100644 extra-repos/systemd/plasma-workspace/APKBUILD create mode 100644 extra-repos/systemd/sddm/0001-pam-path-fix.patch create mode 100644 extra-repos/systemd/sddm/0003-disable-automatic-portal-launching.patch create mode 100644 extra-repos/systemd/sddm/APKBUILD create mode 100644 extra-repos/systemd/sddm/sddm.confd create mode 100644 extra-repos/systemd/sddm/sddm.initd create mode 100644 extra-repos/systemd/sddm/sddm.pre-install diff --git a/extra-repos/systemd/kactivitymanagerd/APKBUILD b/extra-repos/systemd/kactivitymanagerd/APKBUILD new file mode 100644 index 000000000..c02103cd4 --- /dev/null +++ b/extra-repos/systemd/kactivitymanagerd/APKBUILD @@ -0,0 +1,55 @@ +# Contributor: Bart Ribbers +# Maintainer: team/kde + +# The group tag is just to easily find this APKBUILD by some scripts for automation +# group=kde-plasma +pkgname=kactivitymanagerd +pkgver=6.0.2 +pkgrel=1 +pkgdesc="System service to manage user's activities and track the usage patterns" +# armhf blocked by qt6-qtdeclarative +arch="all !armhf" +url="https://kde.org/plasma-desktop/" +license="GPL-2.0-only OR GPL-3.0-only" +depends="qt6-qtbase-sqlite" +makedepends=" + boost-dev + extra-cmake-modules + kconfig-dev + kcoreaddons-dev + kdbusaddons-dev + kglobalaccel-dev + ki18n-dev + kio-dev + kwindowsystem-dev + kxmlgui-dev + qt6-qtbase-dev + samurai + " + +case "$pkgver" in + *.90*) _rel=unstable;; + *) _rel=stable;; +esac +subpackages="$pkgname-lang" +_repo_url="https://invent.kde.org/plasma/kactivitymanagerd.git" +source="https://download.kde.org/stable/plasma/$pkgver/kactivitymanagerd-$pkgver.tar.xz" + +build() { + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} +sha512sums=" +9eff8a65c485003b01e344c48343a5e75ff350b97a8e134faaecb9b62142dbcddcd2db72d835e19cb7be5402f7a4cbaa22b0f475beaaf39c51454749ab77c4f7 kactivitymanagerd-6.0.2.tar.xz +" diff --git a/extra-repos/systemd/kscreenlocker/APKBUILD b/extra-repos/systemd/kscreenlocker/APKBUILD new file mode 100644 index 000000000..7e81ef774 --- /dev/null +++ b/extra-repos/systemd/kscreenlocker/APKBUILD @@ -0,0 +1,83 @@ +# Contributor: Bart Ribbers +# Maintainer: Bart Ribbers + +# The group tag is just to easily find this APKBUILD by some scripts for automation +# group=kde-plasma +pkgname=kscreenlocker +pkgver=6.0.2 +pkgrel=1 +pkgdesc="Library and components for secure lock screen architecture" +# armhf blocked by extra-cmake-modules +arch="all !armhf" +url="https://kde.org/plasma-desktop/" +license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)" +depends="linux-pam" +depends_dev=" + kcmutils-dev + kcrash-dev + kdeclarative-dev + kglobalaccel-dev + ki18n-dev + kidletime-dev + knotifications-dev + ksvg-dev + ktextwidgets-dev + kwayland-dev + kwindowsystem-dev + kxmlgui-dev + layer-shell-qt-dev + libkscreen-dev + libplasma-dev + libseccomp-dev + linux-pam-dev + qt6-qtbase-dev + solid-dev + systemd-dev + xcb-util-keysyms-dev + " +makedepends=" + $depends_dev + extra-cmake-modules + samurai + " +checkdepends="xvfb-run" + +case "$pkgver" in + *.90*) _rel=unstable;; + *) _rel=stable;; +esac +_repo_url="https://invent.kde.org/plasma/kscreenlocker.git" +source="https://download.kde.org/$_rel/plasma/$pkgver/kscreenlocker-$pkgver.tar.xz + kde.pam + kde-fingerprint.pam + kde-smartcard.pam + " +subpackages="$pkgname-dev $pkgname-lang" +options="!check" # Requires running loginctl + +build() { + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib + cmake --build build +} + +check() { + xvfb-run ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -D -m644 "$srcdir"/kde.pam "$pkgdir"/etc/pam.d/kde + install -m644 "$srcdir"/kde-fingerprint.pam "$pkgdir"/etc/pam.d/kde-fingerprint + install -m644 "$srcdir"/kde-smartcard.pam "$pkgdir"/etc/pam.d/kde-smartcard +} + +sha512sums=" +e303d5b2e737c2cd40e10a8b60b9ec16314739758c60f4ca44252030504b77cac513ceb738eed1034cad6e6c2f70aa7588c6fc5225fbcba2a8da2ba0020c128e kscreenlocker-6.0.2.tar.xz +cdbc45fb74a3c43fb2302fe09bf2f9f644ca93693e0110cf748c403762236aaeea8284a8d21fc495014c69b6d5fe4789aaff7687ce9f03dda270490fa5042e2b kde.pam +fe2f244b73b5cccf4b7125b9e3cac0a35566840e4ba2f69937fd8053aa56af71ee43dcbfa9c0f79de9ebe31f656e98a5d38955f77560be5c3535b08215ad8789 kde-fingerprint.pam +2ae866d25224ba345ea9d5ddb2fce668de5c51d1cfbb4d7a048c50107ccd6cffc3231a46855599c0ba3d62ff002a26e45b69d9029f88f4ab42661465a5e526c5 kde-smartcard.pam +" diff --git a/extra-repos/systemd/kscreenlocker/kde-fingerprint.pam b/extra-repos/systemd/kscreenlocker/kde-fingerprint.pam new file mode 100644 index 000000000..628568ec3 --- /dev/null +++ b/extra-repos/systemd/kscreenlocker/kde-fingerprint.pam @@ -0,0 +1,15 @@ +auth substack fingerprint-auth +auth include postlogin + +account required pam_nologin.so +account include fingerprint-auth + +password include fingerprint-auth + +session required pam_selinux.so close +session required pam_loginuid.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include fingerprint-auth +session include postlogin diff --git a/extra-repos/systemd/kscreenlocker/kde-smartcard.pam b/extra-repos/systemd/kscreenlocker/kde-smartcard.pam new file mode 100644 index 000000000..3264a71cf --- /dev/null +++ b/extra-repos/systemd/kscreenlocker/kde-smartcard.pam @@ -0,0 +1,15 @@ +auth substack smartcard-auth +auth include postlogin + +account required pam_nologin.so +account include smartcard-auth + +password include smartcard-auth + +session required pam_selinux.so close +session required pam_loginuid.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include smartcard-auth +session include postlogin diff --git a/extra-repos/systemd/kscreenlocker/kde.pam b/extra-repos/systemd/kscreenlocker/kde.pam new file mode 100644 index 000000000..f4643d113 --- /dev/null +++ b/extra-repos/systemd/kscreenlocker/kde.pam @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth include base-auth +account include base-account +password include base-password +session include base-session diff --git a/extra-repos/systemd/kwin/APKBUILD b/extra-repos/systemd/kwin/APKBUILD new file mode 100644 index 000000000..43bef3468 --- /dev/null +++ b/extra-repos/systemd/kwin/APKBUILD @@ -0,0 +1,118 @@ +# Contributor: Bart Ribbers +# Maintainer: team/kde + +# The group tag is just to easily find this APKBUILD by some scripts for automation +# group=kde-plasma +pkgname=kwin +pkgver=6.0.2 +pkgrel=1 +pkgdesc="An easy to use, but flexible, composited Window Manager" +# armhf blocked by qt6-qtdeclarative +arch="all !armhf" +url="https://kde.org/plasma-desktop/" +license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only" +depends=" + hwdata + kirigami + qt6-qtmultimedia + qt6-qtwayland + xwayland + " +depends_dev="$pkgname + breeze-dev + fontconfig-dev + kcmutils-dev + kcompletion-dev + kconfig-dev + kconfigwidgets-dev + kcoreaddons-dev + kcrash-dev + kdeclarative-dev + kdecoration-dev + kglobalaccel-dev + ki18n-dev + kiconthemes-dev + kidletime-dev + kio-dev + knewstuff-dev + knotifications-dev + kpackage-dev + krunner-dev + kscreenlocker-dev + kservice-dev + ksvg-dev + ktextwidgets-dev + kwayland-dev + kwidgetsaddons-dev + kwindowsystem-dev + kxmlgui-dev + lcms2-dev + libdrm-dev + libepoxy-dev + libinput-dev + libplasma-dev + libqaccessibilityclient-dev + libxcvt-dev + libxi-dev + libxkbcommon-dev + mesa-dev + mesa-gbm + pipewire-dev + plasma-activities-dev + qt6-qtbase-dev + qt6-qtdeclarative-dev + qt6-qtsensors-dev + wayland-dev + xcb-util-cursor-dev + xcb-util-image-dev + xcb-util-wm-dev + " +makedepends="$depends_dev + extra-cmake-modules + kdoctools-dev + kglobalacceld-dev + kpipewire-dev + libcap-utils + libdisplay-info-dev + plasma-wayland-protocols + qt6-qttools-dev + samurai + systemd-dev + " +checkdepends="xvfb-run" + +case "$pkgver" in + *.90*) _rel=unstable;; + *) _rel=stable;; +esac +subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang" +_repo_url="https://invent.kde.org/plasma/kwin.git" +source="https://download.kde.org/stable/plasma/$pkgver/kwin-$pkgver.tar.xz + 0001-$pkgname-Fix-building-of-tests.patch::https://invent.kde.org/plasma/kwin/-/commit/a879c59a082707e0e7dfa8ebeb7b239551ec9c71.patch + " +# Broken, fails to setup due to missing or invalid XDG_RUNTIME_DIR? +options="!check" + +build() { + # significantly reduce debug symbol size + # use None here to not make cmake pass bare -g (-g2) + CFLAGS="$CFLAGS -O2 -g1" CXXFLAGS="$CXXFLAGS -O2 -g1" \ + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib + cmake --build build +} + +check() { + XDG_RUNTIME_DIR="$(mktemp -p -d "$builddir")" \ + xvfb-run ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} +sha512sums=" +f6f82afe2f007a14114fbf18e0aba6859328d928d14bf5369e9f879ec24baa50a9a1084db49877067eab17ab3dae13991d507c85458b4a588086ecfb4924a8a6 kwin-6.0.2.tar.xz +14c4ddceca2ef51a139319bdd64bc84d7a1df7c6419e86bdbb04572be3212ca46f5c25cd61fa3b511d7644046f92a07408e472e41d95aab93ec494138a09c1a9 0001-kwin-Fix-building-of-tests.patch +" diff --git a/extra-repos/systemd/plasma-workspace/APKBUILD b/extra-repos/systemd/plasma-workspace/APKBUILD new file mode 100644 index 000000000..a13286b2e --- /dev/null +++ b/extra-repos/systemd/plasma-workspace/APKBUILD @@ -0,0 +1,153 @@ +# Contributor: Bart Ribbers +# Maintainer: team/kde + +# The group tag is just to easily find this APKBUILD by some scripts for automation +# group=kde-plasma +pkgname=plasma-workspace +pkgver=6.0.2 +pkgrel=1 +pkgdesc="KDE Plasma Workspace" +# armhf blocked by extra-cmake-modules +arch="all !armhf" +url="https://kde.org/plasma-desktop/" +license="(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only" +depends=" + accountsservice + fprintd + kactivitymanagerd + kde-cli-tools + kded + kio-extras + kirigami + kirigami-addons + kwin + milou + pipewire-session-manager + plasma-integration + qt6-qttools + tzdata + " +depends_dev=" + baloo-dev + breeze-dev + eudev-dev + gpsd-dev + icu-dev + iso-codes-dev + karchive-dev + kauth-dev + kcmutils-dev + kcoreaddons-dev + kcrash-dev + kdbusaddons-dev + kdeclarative-dev + kded-dev + kglobalaccel-dev + kglobalacceld-dev + kguiaddons-dev + kholidays-dev + ki18n-dev + kiconthemes-dev + kidletime-dev + kio-dev + kitemmodels-dev + knewstuff-dev + knotifications-dev + knotifyconfig-dev + kpackage-dev + kparts-dev + kpipewire-dev + kquickcharts-dev + krunner-dev + kscreenlocker-dev + kstatusnotifieritem-dev + ksvg-dev + ktexteditor-dev + ktextwidgets-dev + kunitconversion-dev + kuserfeedback-dev + kwayland-dev + kwin-dev + layer-shell-qt-dev + libcanberra-dev + libkexiv2-dev + libkscreen-dev + libksysguard-dev + libplasma-dev + libqalculate-dev + networkmanager-qt-dev + phonon-dev + plasma-activities-stats-dev + plasma-wayland-protocols + plasma5support-dev + prison-dev + qt6-qtwayland-dev + wayland-dev + wayland-protocols + zlib-dev + " +makedepends="$depends_dev + extra-cmake-modules + kded + kdoctools-dev + libxtst-dev + qt6-qttools-dev + samurai + xdotool + systemd + " +checkdepends="xvfb-run" + +case "$pkgver" in + *.90*) _rel=unstable;; + *) _rel=stable;; +esac +subpackages="$pkgname-dbg $pkgname-dev $pkgname-libs $pkgname-doc $pkgname-lang $pkgname-zsh-completion" +_repo_url="https://invent.kde.org/plasma/plasma-workspace.git" +source="https://download.kde.org/$_rel/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz" +replaces="plasma-desktop<5.24 breeze<5.22.90" + +build() { + # reduce size of debug syms + CFLAGS="$CFLAGS -O2 -g1" CXXFLAGS="$CXXFLAGS -O2 -g1" \ + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DPLASMA_WAYLAND_DEFAULT_SESSION=TRUE + cmake --build build +} + +check() { + # nightcolortest requires running dbus + # testdesktop, lookandfeel-kcmTest, test_kio_fonts, servicerunnertest systemtraymodeltest are broken + # tst_triangleFilter requires plasma-workspace to be installed + # locationsrunnertest requires a running Wayland environment + local skipped_tests="(" + local tests=" + nightcolortest + testdesktop + lookandfeel-kcmTest + test_kio_fonts + servicerunnertest + systemtraymodeltest + tst_triangleFilter + locationsrunnertest + " + case "$CARCH" in + arm*|aarch64|ppc64le) tests="$tests calculatorrunnertest" ;; + esac + for test in $tests; do + skipped_tests="$skipped_tests|$test" + done + skipped_tests="$skipped_tests)" + xvfb-run ctest --test-dir build --output-on-failure -E "$skipped_tests" +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + +sha512sums=" +c357554537218e7f8e3e0fac0f6749c3bc8e6d79648aa30db13ed1a2699480222b49cb8b4fa651bb9a7d20c25516036b779065decf6471e56a4d9d0a7d3d4f27 plasma-workspace-6.0.2.tar.xz +" diff --git a/extra-repos/systemd/sddm/0001-pam-path-fix.patch b/extra-repos/systemd/sddm/0001-pam-path-fix.patch new file mode 100644 index 000000000..5ba8ad357 --- /dev/null +++ b/extra-repos/systemd/sddm/0001-pam-path-fix.patch @@ -0,0 +1,40 @@ +diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam +index b42991e..25c43d1 100644 +--- a/services/sddm-autologin.pam ++++ b/services/sddm-autologin.pam +@@ -6,8 +6,8 @@ auth required pam_nologin.so + auth required pam_permit.so + -auth optional pam_gnome_keyring.so + -auth optional pam_kwallet5.so +-account include system-local-login +-password include system-local-login +-session include system-local-login ++account include base-account ++password include base-password ++session include base-session + -session optional pam_gnome_keyring.so auto_start + -session optional pam_kwallet5.so auto_start +diff --git a/services/sddm.pam b/services/sddm.pam +index df11003..5c2d8a6 100644 +--- a/services/sddm.pam ++++ b/services/sddm.pam +@@ -1,15 +1,15 @@ + #%PAM-1.0 + +-auth include system-login ++auth include base-auth + -auth optional pam_gnome_keyring.so + -auth optional pam_kwallet5.so + +-account include system-login ++account include base-account + +-password include system-login ++password include base-password + -password optional pam_gnome_keyring.so use_authtok + + session optional pam_keyinit.so force revoke +-session include system-login ++session include base-session + -session optional pam_gnome_keyring.so auto_start + -session optional pam_kwallet5.so auto_start diff --git a/extra-repos/systemd/sddm/0003-disable-automatic-portal-launching.patch b/extra-repos/systemd/sddm/0003-disable-automatic-portal-launching.patch new file mode 100644 index 000000000..6b2095a5a --- /dev/null +++ b/extra-repos/systemd/sddm/0003-disable-automatic-portal-launching.patch @@ -0,0 +1,30 @@ +From a0dd7b641b98534961522753071fbf4143751a98 Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Mon, 24 Oct 2022 13:15:48 +0200 +Subject: [PATCH] disable automatic portal launching + +in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will +internally attempt to probe the portal tech early on in the app life +cycle. this causes the protal system to launch app and then crash +because we aren't actually providing a fully functional session. instead +opt out of this altogether + +Patch modified to apply properly on SDDM 0.19.0 +--- + src/greeter/GreeterApp.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp +index bbce512..183f7d1 100644 +--- a/src/greeter/GreeterApp.cpp ++++ b/src/greeter/GreeterApp.cpp +@@ -334,6 +334,9 @@ int main(int argc, char **argv) + QSurfaceFormat::setDefaultFormat(format); + } + ++ // Qt internally may load the xdg portal system early on, prevent this, we do not have a functional session running. ++ qputenv("QT_NO_XDG_DESKTOP_PORTAL", "1"); ++ + QGuiApplication app(argc, argv); + + QCommandLineParser parser; diff --git a/extra-repos/systemd/sddm/APKBUILD b/extra-repos/systemd/sddm/APKBUILD new file mode 100644 index 000000000..fac19af23 --- /dev/null +++ b/extra-repos/systemd/sddm/APKBUILD @@ -0,0 +1,88 @@ +# Contributor: Bart Ribbers +# Maintainer: Bart Ribbers +pkgname=sddm +pkgver=0.21.0 +pkgrel=1 +pkgdesc="Simple Desktop Display Manager" +url="https://github.com/sddm/sddm/" +# armhf blocked by qt5-qtdeclarative +arch="all !armhf" +license="GPL-2.0-only" +depends=" + dbus-x11 + linux-pam + upower + xorg-server + " +makedepends=" + extra-cmake-modules + libxcb-dev + linux-pam-dev + py3-docutils + qt6-qtbase-dev + qt6-qtdeclarative-dev + qt6-qttools-dev + samurai + systemd-dev + upower-dev + utmps-dev + " +subpackages="$pkgname-doc $pkgname-lang $pkgname-openrc" +install="sddm.pre-install" +langdir="/usr/share/sddm/translations" +pkgusers="sddm" +pkggroups="sddm" +source="https://github.com/sddm/sddm/archive/v$pkgver/sddm-v$pkgver.tar.gz + 0001-pam-path-fix.patch + 0003-disable-automatic-portal-launching.patch + sddm.initd + sddm.confd + " + +# secfixes: +# 0.19.0-r0: +# - CVE-2020-28049 + +build() { + CXXFLAGS="$CXXFLAGS -flto=auto" \ + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_MAN_PAGES=ON \ + -DBUILD_WITH_QT6=ON \ + -DENABLE_JOURNALD=ON \ + -DNO_SYSTEMD=OFF \ + -DUSE_ELOGIND=OFF \ + -DUID_MIN=500 \ + -DUID_MAX=65000 \ + -DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d + cmake --build build +} + +check() { + ctest --test-dir build --output-on-failure +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -Dm755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm + install -Dm644 "$srcdir"/sddm.confd "$pkgdir"/etc/conf.d/sddm +} + +lang() { + pkgdesc="Languages for package $pkgname" + install_if="$pkgname=$pkgver-r$pkgrel lang" + depends="$depends_lang" + + amove usr/share/sddm/translations-qt6 +} + +sha512sums=" +2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458 sddm-v0.21.0.tar.gz +42a0b24717820d98a42d178b5d3a40441672d496c9d8f7c2f8002d770a2718324e9d00d0f27602232b91e8bb042693125507d6cb8371b6f6f211f2b95babe666 0001-pam-path-fix.patch +bc7b572331de32245abba234e3537885a3d9dd20273a12bd7a82eb754467dd3c753fc4d90ec24cc206f7df0210cf3119dd056c477168b4173b77fc335b6546b0 0003-disable-automatic-portal-launching.patch +4876bf46790dd507f0df803987ad81d7ff2a00c22a8aabec88dd0e3a23aeda92aac59f08ef56ed1bf2b5cb9443077e77b31c9f453bafab2fd6f533be242fcbd4 sddm.initd +b841282b96110ec59a7aa539db0737327b09549d55c78dc4b2c3b28b4a6ad1facf015b3175cb6d3a38f13e47aa6314ef3dc1514a4e60dd653a97409ec54ba706 sddm.confd +" diff --git a/extra-repos/systemd/sddm/sddm.confd b/extra-repos/systemd/sddm/sddm.confd new file mode 100644 index 000000000..9bd312c0c --- /dev/null +++ b/extra-repos/systemd/sddm/sddm.confd @@ -0,0 +1 @@ +supervisor=supervise-daemon diff --git a/extra-repos/systemd/sddm/sddm.initd b/extra-repos/systemd/sddm/sddm.initd new file mode 100644 index 000000000..ea79bb6a7 --- /dev/null +++ b/extra-repos/systemd/sddm/sddm.initd @@ -0,0 +1,16 @@ +#!/sbin/openrc-run + +name="Display Manager" +description="SDDM Display Manager" + +command=/usr/bin/sddm +command_args="$sddm_opts" + +depends() { + provide display-manager + needs localmount +} + +start_pre() { + checkpath -d -o sddm:video -m755 /var/lib/sddm +} diff --git a/extra-repos/systemd/sddm/sddm.pre-install b/extra-repos/systemd/sddm/sddm.pre-install new file mode 100644 index 000000000..7df022e5d --- /dev/null +++ b/extra-repos/systemd/sddm/sddm.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S sddm 2>/dev/null +adduser -G video -h /var/lib/sddm -S -s /sbin/nologin sddm 2>/dev/null + +exit 0