summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-01-09 03:46:16 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-01-09 03:46:16 +0000
commitc8dcffeee823616eae8c5994b1160f9a124cd6be (patch)
treea94a2c786871d55c579ee8a2d87ab1d57ba36902
parentae92bf200ab037ae73cb22d4a78724b006c71b08 (diff)
x11-misc/sddm : add sys-auth/elogind support
-rw-r--r--x11-misc/sddm/files/sddm-enable-elogind.patch56
-rw-r--r--x11-misc/sddm/files/sddm-redcore-consolekit.conf (renamed from x11-misc/sddm/files/sddm-redcore.conf)0
-rw-r--r--x11-misc/sddm/files/sddm-redcore-elogind.conf114
-rw-r--r--x11-misc/sddm/sddm-0.14.0-r4.ebuild (renamed from x11-misc/sddm/sddm-0.14.0-r3.ebuild)27
4 files changed, 188 insertions, 9 deletions
diff --git a/x11-misc/sddm/files/sddm-enable-elogind.patch b/x11-misc/sddm/files/sddm-enable-elogind.patch
new file mode 100644
index 00000000..b427ddd9
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-enable-elogind.patch
@@ -0,0 +1,56 @@
+--- a/CMakeLists.txt 2016-11-10 09:27:03.866358608 +0100
++++ b/CMakeLists.txt 2016-11-10 10:28:25.384374766 +0100
+@@ -93,7 +93,7 @@
+ endif()
+
+ # systemd
+-if(NOT NO_SYSTEMD)
++if(NOT NO_SYSTEMD AND NOT USE_ELOGIND)
+ pkg_check_modules(SYSTEMD "systemd")
+ endif()
+
+@@ -127,12 +127,34 @@
+ set(REBOOT_COMMAND "/usr/bin/systemctl reboot")
+ else()
+ set(SYSTEMD_FOUND 0)
++endif()
++add_feature_info("systemd" SYSTEMD_FOUND "systemd support")
++add_feature_info("journald" JOURNALD_FOUND "journald support")
++
++# elogind
++if(NO_SYSTEMD AND USE_ELOGIND)
++ pkg_check_modules(ELOGIND "libelogind")
++endif()
++
++if(ELOGIND_FOUND)
++ add_definitions(-DHAVE_ELOGIND)
++ set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_ELOGIND)
++
++ set(MINIMUM_VT 7)
++ set(HALT_COMMAND "/bin/loginctl poweroff")
++ set(REBOOT_COMMAND "/bin/loginctl reboot")
++else()
++ set(ELOGIND_FOUND 0)
++endif()
++add_feature_info("elogind" ELOGIND_FOUND "elogind support")
++
++# Default behaviour if neither systemd nor elogind is used
++if (NOT ELOGIND_FOUND AND NOT SYSTEMD_FOUND)
+ set(MINIMUM_VT 7)
+ set(HALT_COMMAND "/sbin/shutdown -h -P now")
+ set(REBOOT_COMMAND "/sbin/shutdown -r now")
+ endif()
+-add_feature_info("systemd" SYSTEMD_FOUND "systemd support")
+-add_feature_info("journald" JOURNALD_FOUND "journald support")
++
+
+ # Set constants
+ set(DATA_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/sddm" CACHE PATH "System application data install directory")
+--- a/services/sddm-greeter.pam 2016-06-19 12:24:42.000000000 +0200
++++ b/services/sddm-greeter.pam 2016-11-02 09:48:18.990032363 +0100
+@@ -14,4 +14,5 @@
+
+ # Setup session
+ session required pam_unix.so
+ session optional pam_systemd.so
++session optional pam_elogind.so
diff --git a/x11-misc/sddm/files/sddm-redcore.conf b/x11-misc/sddm/files/sddm-redcore-consolekit.conf
index cb4bae90..cb4bae90 100644
--- a/x11-misc/sddm/files/sddm-redcore.conf
+++ b/x11-misc/sddm/files/sddm-redcore-consolekit.conf
diff --git a/x11-misc/sddm/files/sddm-redcore-elogind.conf b/x11-misc/sddm/files/sddm-redcore-elogind.conf
new file mode 100644
index 00000000..15721d22
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-redcore-elogind.conf
@@ -0,0 +1,114 @@
+[Autologin]
+# Whether sddm should automatically log back into sessions when they exit
+Relogin=false
+
+# Name of session file for autologin session
+Session=
+
+# Username for autologin session
+User=
+
+[General]
+# Halt command
+HaltCommand=/bin/loginctl poweroff
+
+# Input method module
+InputMethod=
+
+# Initial NumLock state. Can be on, off or none.
+# If property is set to none, numlock won't be changed
+# NOTE: Currently ignored if autologin is enabled.
+Numlock=off
+
+# Reboot command
+RebootCommand=/bin/loginctl reboot
+
+[Theme]
+# Current theme name
+Current=redcore
+
+# Cursor theme used in the greeter
+CursorTheme=Hacked-Red
+
+# Number of users to use as threshold
+# above which avatars are disabled
+# unless explicitly enabled with EnableAvatars
+DisableAvatarsThreshold=7
+
+# Enable display of custom user avatars
+EnableAvatars=true
+
+# Global directory for user avatars
+# The files should be named <username>.face.icon
+FacesDir=/usr/share/sddm/faces
+
+# Theme directory path
+ThemeDir=/usr/share/sddm/themes
+
+[Users]
+# Default $PATH for logged in users
+DefaultPath=/bin:/usr/bin:/usr/local/bin
+
+# Comma-separated list of shells.
+# Users with these shells as their default won't be listed
+HideShells=
+
+# Comma-separated list of users that should not be listed
+HideUsers=
+
+# Maximum user id for displayed users
+MaximumUid=60000
+
+# Minimum user id for displayed users
+MinimumUid=1000
+
+# Remember the session of the last successfully logged in user
+RememberLastSession=true
+
+# Remember the last successfully logged in user
+RememberLastUser=true
+
+[Wayland]
+# Path to a script to execute when starting the desktop session
+SessionCommand=/usr/share/sddm/scripts/wayland-session
+
+# Directory containing available Wayland sessions
+SessionDir=/usr/share/wayland-sessions
+
+# Path to the user session log file
+SessionLogFile=.local/share/sddm/wayland-session.log
+
+[X11]
+# Path to a script to execute when starting the display server
+DisplayCommand=/usr/share/sddm/scripts/Xsetup
+
+# Path to a script to execute when stopping the display server
+DisplayStopCommand=/usr/share/sddm/scripts/Xstop
+
+# The lowest virtual terminal number that will be used.
+MinimumVT=7
+
+# Arguments passed to the X server invocation
+ServerArguments=-nolisten tcp
+
+# Path to X server binary
+ServerPath=/usr/bin/X
+
+# Path to a script to execute when starting the desktop session
+SessionCommand=/usr/share/sddm/scripts/Xsession
+
+# Directory containing available X sessions
+SessionDir=/usr/share/xsessions
+
+# Path to the user session log file
+SessionLogFile=.local/share/sddm/xorg-session.log
+
+# Path to the Xauthority file
+UserAuthFile=.Xauthority
+
+# Path to xauth binary
+XauthPath=/usr/bin/xauth
+
+# Path to Xephyr binary
+XephyrPath=/usr/bin/Xephyr
+
diff --git a/x11-misc/sddm/sddm-0.14.0-r3.ebuild b/x11-misc/sddm/sddm-0.14.0-r4.ebuild
index 9337a0a9..bc6402c9 100644
--- a/x11-misc/sddm/sddm-0.14.0-r3.ebuild
+++ b/x11-misc/sddm/sddm-0.14.0-r4.ebuild
@@ -11,7 +11,12 @@ KEYWORDS="amd64 ~arm x86"
LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
SLOT="0"
-IUSE="+branding consolekit +pam systemd"
+IUSE="+branding consolekit elogind +pam systemd"
+
+REQUIRED_USE="elogind? ( !systemd !consolekit )
+ systemd? ( !elogind !consolekit )
+ consolekit? ( !elogind !systemd )
+"
RDEPEND=">=dev-qt/qtcore-5.6:5
>=dev-qt/qtdbus-5.6:5
@@ -22,6 +27,7 @@ RDEPEND=">=dev-qt/qtcore-5.6:5
x11-libs/libxcb[xkb(-)]
branding? ( x11-themes/redcore-theme-sddm )
consolekit? ( >=sys-auth/consolekit-0.9.4 )
+ elogind? ( sys-auth/elogind )
pam? ( sys-libs/pam )
systemd? ( sys-apps/systemd:= )
!systemd? ( || ( sys-power/upower sys-power/upower-pm-utils ) )"
@@ -35,9 +41,9 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}/${PN}-0.13.0-pam_kwallet.patch"
- # fix for flags handling and bug 563108
"${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch"
"${FILESDIR}/${P}-avatars.patch"
+ "${FILESDIR}/${PN}-enable-elogind.patch"
)
pkg_pretend() {
@@ -49,7 +55,9 @@ pkg_pretend() {
}
src_prepare() {
- use consolekit && eapply "${FILESDIR}/${P}-consolekit.patch"
+ if use consolekit; then
+ eapply "${FILESDIR}/${P}-consolekit.patch"
+ fi
cmake-utils_src_prepare
}
@@ -58,6 +66,7 @@ src_configure() {
local mycmakeargs=(
-DENABLE_PAM=$(usex pam)
-DNO_SYSTEMD=$(usex '!systemd')
+ -DUSE_ELOGIND=$(usex 'elogind')
-DBUILD_MAN_PAGES=ON
-DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf"
)
@@ -65,14 +74,14 @@ src_configure() {
cmake-utils_src_configure
}
-src_compile() {
- cmake-utils_src_compile
-}
-
src_install() {
cmake-utils_src_install
- rm -rf ${ED}/etc/sddm.conf
- cp -avx ${FILESDIR}/sddm-redcore.conf ${ED}etc/sddm.conf
+ # overwrite sddm.conf
+ if use consolekit; then
+ cp -avx ${FILESDIR}/sddm-redcore-consolekit.conf ${ED}etc/sddm.conf
+ elif use elogind; then
+ cp -avx ${FILESDIR}/sddm-redcore-elogind.conf ${ED}etc/sddm.conf
+ fi
}
pkg_postinst() {