diff --git a/desktop/kde/kde5-plasma/kde5-khotkeys/actions.py b/desktop/kde/kde5-plasma/kde5-khotkeys/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-khotkeys/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/kde5-plasma/kde5-khotkeys/pspec.xml b/desktop/kde/kde5-plasma/kde5-khotkeys/pspec.xml new file mode 100755 index 0000000000..cbc092fa14 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-khotkeys/pspec.xml @@ -0,0 +1,90 @@ + + + + + kde5-khotkeys + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 hotkey daemon + KDE5 hotkey daemon module allows you to configure custom keyboard shortcuts and mouse gestures. + http://download.kde.org/stable/plasma/5.3.1/khotkeys-5.3.1.tar.xz + + qt5-base-devel + kde5-kconfig-devel + kde5-kservice-devel + qt5-x11extras-devel + kde5-kcompletion-devel + kde5-kcoreaddons-devel + kde5-ktextwidgets-devel + kde5-kwindowsystem-devel + kde5-kconfigwidgets-devel + kde5-kwidgetsaddons-devel + kde5-kcmutils-devel + kde5-kdbusaddons-devel + kde5-kdelibs4-support-devel + kde5-kglobalaccel-devel + kde5-ki18n-devel + kde5-kio-devel + kde5-kxmlgui-devel + kde5-plasma-framework-devel + kde5-plasma-workspace-devel + extra-cmake-modules + + + + + kde5-khotkeys + + qt5-base + kde5-kconfig + kde5-kservice + qt5-x11extras + kde5-kcompletion + kde5-kcoreaddons + kde5-ktextwidgets + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kcmutils + kde5-kdbusaddons + kde5-kdelibs4-support + kde5-kglobalaccel + kde5-ki18n + kde5-kio + kde5-kxmlgui + kde5-plasma-framework + kde5-plasma-workspace + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-plasma/kde5-kmenuedit/actions.py b/desktop/kde/kde5-plasma/kde5-kmenuedit/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-kmenuedit/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/kde5-plasma/kde5-kmenuedit/pspec.xml b/desktop/kde/kde5-plasma/kde5-kmenuedit/pspec.xml new file mode 100755 index 0000000000..91ba734f10 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-kmenuedit/pspec.xml @@ -0,0 +1,70 @@ + + + + + kde5-kmenuedit + http://www.kde.org + + Pisi Linux admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.1/kmenuedit-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + python3 + + + + + kde5-kmenuedit + + qt5-base + kde5-kconfig + kde5-kservice + kde5-kcompletion + kde5-kcoreaddons + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kdbusaddons + kde5-kdelibs4-support + kde5-khotkeys + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kxmlgui + kde5-sonnet + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-plasma/kde5-ksshaskpass/actions.py b/desktop/kde/kde5-plasma/kde5-ksshaskpass/actions.py new file mode 100644 index 0000000000..b7b74bc57e --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-ksshaskpass/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README", "COPYING", "ChangeLog") diff --git a/desktop/kde/kde5-plasma/kde5-ksshaskpass/files/ksshaskpass.sh b/desktop/kde/kde5-plasma/kde5-ksshaskpass/files/ksshaskpass.sh new file mode 100644 index 0000000000..ae0aaa9e68 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-ksshaskpass/files/ksshaskpass.sh @@ -0,0 +1,2 @@ +test -f /usr/bin/ksshaskpass && export SSH_ASKPASS="/usr/bin/ksshaskpass" + diff --git a/desktop/kde/kde5-plasma/kde5-ksshaskpass/pspec.xml b/desktop/kde/kde5-plasma/kde5-ksshaskpass/pspec.xml new file mode 100755 index 0000000000..cf548a6f3b --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-ksshaskpass/pspec.xml @@ -0,0 +1,58 @@ + + + + + kde5-ksshaskpass + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + ssh-add helper that uses kwallet and kpassworddialog + ssh-add helper that uses kwallet and kpassworddialog + http://download.kde.org/stable/plasma/5.3.1/ksshaskpass-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools + python3 + extra-cmake-modules + + + + + kde5-ksshaskpass + + qt5-base + kde5-kcoreaddons + kde5-kwidgetsaddons + kde5-ki18n + kde5-kwallet + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + ksshaskpass.sh + + + + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/actions.py b/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/actions.py new file mode 100644 index 0000000000..81e02e04ae --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING", "COPYING.LIB", "LICENSE", "README", "ChangeLog") diff --git a/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/pspec.xml b/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/pspec.xml new file mode 100755 index 0000000000..f9632481a5 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-plasma-mediacenter/pspec.xml @@ -0,0 +1,58 @@ + + + + + kde5-plasma-mediacenter + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + A mediacenter user interface based on KDE Plasma components + A mediacenter user interface based on KDE Plasma components + http://download.kde.org/stable/plasma/5.3.1/plasma-mediacenter-5.3.1.tar.xz + + qt5-base-devel + qt5-multimedia-devel + kde5-baloo-devel + extra-cmake-modules + + + + + kde5-plasma-mediacenter + + qt5-base + kde5-baloo + kde5-kfilemetadata + kde5-kcoreaddons + qt5-declarative + kde5-kguiaddons + kde5-kservice + kde5-kconfig + kde5-ki18n + kde5-kio + taglib + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-plasma/kde5-sddm-kcm/actions.py b/desktop/kde/kde5-plasma/kde5-sddm-kcm/actions.py new file mode 100644 index 0000000000..b6b9ec50d8 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm-kcm/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("CONTRIBUTORS", "COPYING", "README") diff --git a/desktop/kde/kde5-plasma/kde5-sddm-kcm/pspec.xml b/desktop/kde/kde5-plasma/kde5-sddm-kcm/pspec.xml new file mode 100644 index 0000000000..e77cd0a6f6 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm-kcm/pspec.xml @@ -0,0 +1,78 @@ + + + + + kde5-sddm-kcm + https://projects.kde.org/projects/kde/workspace/sddm-kcm + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + app:console + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + http://download.kde.org/stable/plasma/5.3.1/sddm-kcm-5.3.1.tar.xz + + kde5-kcoreaddons-devel + kde5-kdoctools-devel + kde5-kconfigwidgets-devel + kde5-kauth-devel + kde5-kxmlgui-devel + kde5-ki18n-devel + qt5-base-devel + kde5-kio-devel + qt5-declarative-devel + qt5-tools-devel + qt5-x11extras-devel + kde5-kconfig-devel + docutils + libXcursor-devel + extra-cmake-modules + + + + + kde5-sddm-kcm + + kde5-kcoreaddons + kde5-sddm + kde5-kconfigwidgets + kde5-kauth + kde5-kxmlgui + kde5-ki18n + qt5-base + kde5-kio + kde5-kdoctools + libXcursor + kde5-kconfig + qt5-x11extras + qt5-declarative + xorg-server-xephyr + + + /etc/dbus-1/system.d + /usr/share/dbus-1/system-services + /usr/share/kservices5 + /usr/share/ + /usr/share/polkit-1/actions + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5/plugins + /usr/lib/libexec/kauth + /usr/lib + /usr/share/doc + + + + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-plasma/kde5-sddm-kcm/translations.xml b/desktop/kde/kde5-plasma/kde5-sddm-kcm/translations.xml new file mode 100644 index 0000000000..97bfd3908d --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm-kcm/translations.xml @@ -0,0 +1,8 @@ + + + + kde5-sddm-kcm + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + + diff --git a/desktop/kde/kde5-plasma/kde5-sddm/actions.py b/desktop/kde/kde5-plasma/kde5-sddm/actions.py new file mode 100644 index 0000000000..3d509a8d09 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + shelltools.system("sed -e 's|-Wall -march=native||' -e 's|-O2||' -i CMakeLists.txt") + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/kde5-plasma/kde5-sddm/comar/package.py b/desktop/kde/kde5-plasma/kde5-sddm/comar/package.py new file mode 100644 index 0000000000..152cbe045e --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/comar/package.py @@ -0,0 +1,46 @@ +#!/usr/bin/python + +import os, re +import shutil + +OUR_ID = 65 +OUR_NAME = "sddm" +OUR_DESC = "sddm" + +DATADIR = "/var/lib/sddm" +DATADIRMODE = 0755 + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + + # On first install... + if not os.path.exists(DATADIR): + os.makedirs(DATADIR, DATADIRMODE) + + try: + os.system ("groupadd -g %d %s" % (OUR_ID, OUR_NAME)) + os.system ("useradd -m -d /var/lib/sddm -r -s /bin/false -u %d -g %d %s -c %s" % (OUR_ID, OUR_ID, OUR_NAME, OUR_DESC)) + os.system ("passwd -l sddm > /dev/null") + os.system("/bin/chown -R sddm:sddm %s" % DATADIR) + except: + pass + +# os.system ("groupadd --system %s" % (OUR_NAME)) +# os.system ("useradd -c 'sddm' --system -d /var/lib/sddm -s /sbin/nologin -g %s %s" % (OUR_NAME, OUR_DESC)) + + + + # os.system("/bin/chown -R sddm:sddm /var/log/sddm.log") + + + +def postRemove(): + try: + os.system ("userdel %s" % OUR_NAME) + os.system ("groupdel %s" % OUR_NAME) + except: + pass + + + + + diff --git a/desktop/kde/kde5-plasma/kde5-sddm/comar/service.py b/desktop/kde/kde5-plasma/kde5-sddm/comar/service.py new file mode 100644 index 0000000000..058a771fec --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/comar/service.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +from comar.service import * +import os + +serviceType="server" +serviceDesc=_({"en": "sddm Server", + "tr": "sddm Sunucusu"}) +serviceDefault="on" +PIDFILE="/run/sddm/sddm.pid" +DAEMON="/usr/bin/sddm" + +@synchronized +def start(): + startService(command=DAEMON, + pidfile=PIDFILE, + detach=True, + donotify=True) + + +@synchronized +def stop(): + stopService(pidfile=PIDFILE, + donotify=True) + + try: + os.unlink(PIDFILE) + except OSError: + pass + +def status(): + return isServiceRunning(PIDFILE) diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm new file mode 100644 index 0000000000..b66e9367cc --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm @@ -0,0 +1,18 @@ +# Begin /etc/pam.d/sddm + +auth required pam_unix.so try_first_pass nullok +auth optional pam_permit.so +auth required pam_env.so + +account required pam_unix.so +account optional pam_permit.so +account required pam_time.so + +password required pam_unix.so try_first_pass nullok sha512 shadow +password optional pam_permit.so + +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so + +# End /etc/pam.d/sddm \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.10.0-upower.patch b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.10.0-upower.patch new file mode 100644 index 0000000000..63daf89175 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.10.0-upower.patch @@ -0,0 +1,12 @@ +diff -u -r sddm-0.9.0.orig/src/daemon/PowerManager.cpp sddm-0.9.0/src/daemon/PowerManager.cpp +--- sddm-0.9.0.orig/src/daemon/PowerManager.cpp 2014-10-01 18:40:37.402683578 +0200 ++++ sddm-0.9.0/src/daemon/PowerManager.cpp 2014-10-01 18:40:43.502618164 +0200 +@@ -197,7 +197,7 @@ + m_backends << new Login1Backend(); + + // check if upower interface exists +- if (interface->isServiceRegistered(UPOWER_SERVICE)) ++// if (interface->isServiceRegistered(UPOWER_SERVICE)) + m_backends << new UPowerBackend(); + } + \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.11.0-consolekit.patch b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.11.0-consolekit.patch new file mode 100644 index 0000000000..9295d0ef82 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-0.11.0-consolekit.patch @@ -0,0 +1,13 @@ +diff --git a/data/scripts/Xsession b/data/scripts/Xsession +index a5d270d..4b48524 100755 +--- a/data/scripts/Xsession ++++ b/data/scripts/Xsession +@@ -74,7 +74,7 @@ case $session in + exec xterm -geometry 80x24-0-0 + ;; + *) +- eval exec "$session" ++ eval exec ck-launch-session "$session" + ;; + esac + exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-autologin b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-autologin new file mode 100644 index 0000000000..b24b3bf6cf --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-autologin @@ -0,0 +1,16 @@ +# Begin /etc/pam.d/sddm-autologin + +auth requisite pam_nologin.so +auth required pam_env.so + +auth required pam_succeed_if.so uid >= 1000 quiet +auth required pam_permit.so + +account include system-account + +password required pam_deny.so + +session required pam_limits.so +session include system-session + +# End /etc/pam.d/sddm-autologin \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-greeter b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-greeter new file mode 100644 index 0000000000..b039ab5799 --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm-greeter @@ -0,0 +1,11 @@ +# Begin /etc/pam.d/sddm-greeter + +auth required pam_env.so +auth required pam_permit.so + +account required pam_permit.so +password required pam_deny.so +session required pam_unix.so +-session optional pam_systemd.so + +# End /etc/pam.d/sddm-greeter \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm.conf b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm.conf new file mode 100644 index 0000000000..311531317b --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm.conf @@ -0,0 +1,84 @@ +[Autologin] +# Autologin again on session exit +Relogin=false + +# Autologin session +Session=plasma.desktop + +# Autologin user +User= + + +[General] +# Halt command +HaltCommand=/sbin/shutdown -h -P now + +# Initial NumLock state +# Valid values: on|off|none +# If property is set to none, numlock won't be changed +Numlock=none + +# Reboot command +RebootCommand=/sbin/shutdown -r now + + +[Theme] +# Current theme name +Current=maui + +# Cursor theme +CursorTheme=breeze + +# Face icon directory +# The files should be in username.face.icon format +FacesDir=/usr/share/sddm/faces + +# Theme directory path +ThemeDir=/usr/share/sddm/themes + + +[Users] +# Default $PATH +DefaultPath=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin + +# Hidden shells +# Users with these shells as their default won't be listed +HideShells= + +# Hidden users +HideUsers=git,sddm + +# Maximum user id for displayed users +MaximumUid=65000 + +# 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 + + +[XDisplay] +# Xsetup script path +# A script to execute when starting the display server +DisplayCommand=/usr/share/sddm/scripts/Xsetup + +# Minimum VT +# The lowest virtual terminal number that will be used. +MinimumVT=1 + +# X server path +ServerPath=/usr/bin/X + +# Xsession script path +# A script to execute when starting the desktop session +SessionCommand=/usr/share/sddm/scripts/Xsession + +# Session description directory +SessionDir=/usr/share/xsessions + +# Xauth path +XauthPath=/usr/bin/xauth diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_upstream.patch b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_upstream.patch new file mode 100644 index 0000000000..28d9df4d2c --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_upstream.patch @@ -0,0 +1,746 @@ +diff -Nuar sddm-0.11.0/ChangeLog sddm-master/ChangeLog +--- sddm-0.11.0/ChangeLog 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/ChangeLog 2015-03-08 18:18:48.000000000 +0200 +@@ -4,6 +4,10 @@ + - Bug fixes + * Others + ++## 0.12.0 - XXXX-XX-XX ++---------------------- ++ * Add Arabic translation by Safa Alfulaij. ++ + ## 0.11.0 - 2014-11-20 + ---------------------- + + Reload the configuration every time we start a new session +@@ -15,7 +19,6 @@ + + ## 0.10.0 - 2014-10-16 + ---------------------- +- + + Set default icon theme from greeter theme configuration. + + Set cursor theme according to greeter theme configuration. + - Never permit a login as the sddm user (CVE-2014-7271) +diff -Nuar sddm-0.11.0/CMakeLists.txt sddm-master/CMakeLists.txt +--- sddm-0.11.0/CMakeLists.txt 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/CMakeLists.txt 2015-03-08 18:18:48.000000000 +0200 +@@ -77,7 +77,9 @@ + + # find qt5 imports dir + get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) +-exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR) ++if(NOT QT_IMPORTS_DIR) ++ exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR) ++endif() + + # Set components version + set(COMPONENTS_VERSION 2.0) +@@ -98,7 +100,12 @@ + add_definitions(-DHAVE_SYSTEMD) + set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_SYSTEMD) + +- pkg_check_modules(JOURNALD "libsystemd-journal") ++ # libsystemd-journal was merged into libsystemd in 209 ++ if(${SYSTEMD_VERSION} VERSION_LESS 209) ++ pkg_check_modules(JOURNALD "libsystemd-journal") ++ else() ++ pkg_check_modules(JOURNALD "libsystemd") ++ endif() + + if(ENABLE_JOURNALD) + if(JOURNALD_FOUND) +@@ -109,8 +116,11 @@ + endif() + endif() + +- execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_DIR) +- string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SYSTEM_UNIT_DIR ${SYSTEMD_SYSTEM_UNIT_DIR}) ++ if (NOT DEFINED SYSTEMD_SYSTEM_UNIT_DIR) ++ execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_DIR) ++ string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SYSTEM_UNIT_DIR ${SYSTEMD_SYSTEM_UNIT_DIR}) ++ endif() ++ + set(MINIMUM_VT 1) + set(HALT_COMMAND "/usr/bin/systemctl poweroff") + set(REBOOT_COMMAND "/usr/bin/systemctl reboot") +diff -Nuar sddm-0.11.0/CONTRIBUTORS sddm-master/CONTRIBUTORS +--- sddm-0.11.0/CONTRIBUTORS 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/CONTRIBUTORS 2015-03-08 18:18:48.000000000 +0200 +@@ -43,3 +43,4 @@ + a.k.a. Harvey + raffarti + w41l ++Sérgio Marques +diff -Nuar sddm-0.11.0/data/man/sddm.conf.rst.in sddm-master/data/man/sddm.conf.rst.in +--- sddm-0.11.0/data/man/sddm.conf.rst.in 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/man/sddm.conf.rst.in 2015-03-08 18:18:48.000000000 +0200 +@@ -65,6 +65,10 @@ + Path of the X server. + Default value is "/usr/bin/X". + ++`XephyrPath=` ++ Path of the Xephyr. ++ Default value is "/usr/bin/Xephyr". ++ + `XauthPath=` + Path of the Xauth. + Default value is "/usr/bin/xauth". +@@ -104,11 +108,11 @@ + Default value is 65000. + + `HideUsers=` +- Users that shouldn't show up in the user list. ++ Comma-separated list of Users that shouldn't show up in the user list. + Default value is empty. + + `HideShells=` +- Shells of users that shouldn't show up in the user list. ++ Comma-separated list of Shells of users that shouldn't show up in the user list. + Default value is empty. + + `RememberLastUser=` +diff -Nuar sddm-0.11.0/data/man/sddm.rst.in sddm-master/data/man/sddm.rst.in +--- sddm-0.11.0/data/man/sddm.rst.in 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/man/sddm.rst.in 2015-03-08 18:18:48.000000000 +0200 +@@ -25,9 +25,9 @@ + easily create pleasant, modern looking interfaces for sddm. + + sddm runs the greeter as a system user named **sddm** +-whose home directory need to be set to **/var/lib/sddm**. ++whose home directory needs to be set to **/var/lib/sddm**. + +-If pam and systemd are available, the greeter will go through logind ++If pam and systemd are available, the greeter will go through logind, + which will give it access to drm devices. + + Distributions without pam and systemd will need to put the **sddm** user +diff -Nuar sddm-0.11.0/data/scripts/Xsession sddm-master/data/scripts/Xsession +--- sddm-0.11.0/data/scripts/Xsession 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/scripts/Xsession 2015-03-08 18:18:48.000000000 +0200 +@@ -20,9 +20,8 @@ + . $HOME/.profile + fi + ;; +- */zsh) ++*/zsh) + [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@" +- emulate -R sh + [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc + zhome=${ZDOTDIR:-$HOME} + # zshenv is always sourced automatically. +@@ -30,6 +29,7 @@ + [ -f $zhome/.zprofile ] && . $zhome/.zprofile + [ -f $zdir/zlogin ] && . $zdir/zlogin + [ -f $zhome/.zlogin ] && . $zhome/.zlogin ++ emulate -R sh + ;; + */csh|*/tcsh) + # [t]cshrc is always sourced automatically. +diff -Nuar sddm-0.11.0/data/translations/ar.ts sddm-master/data/translations/ar.ts +--- sddm-0.11.0/data/translations/ar.ts 1970-01-01 02:00:00.000000000 +0200 ++++ sddm-master/data/translations/ar.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -0,0 +1,59 @@ ++ ++ ++ ++ ++ TextConstants ++ ++ Welcome to %1 ++ مرحبًا في %1 ++ ++ ++ Warning, Caps Lock is ON! ++ تحذير، مفتاح Caps Lock ممكّن! ++ ++ ++ Layout ++ التّخطيط ++ ++ ++ Login ++ لِج ++ ++ ++ Login failed ++ فشل الولوج ++ ++ ++ Login succeeded ++ نجح الولوج ++ ++ ++ Password ++ كلمة المرور ++ ++ ++ Enter your username and password ++ أدخِل اسم المستخدم وكلمة مروره ++ ++ ++ Reboot ++ أعد الإقلاع ++ ++ ++ Session ++ الجلسة ++ ++ ++ Shutdown ++ أطفئ ++ ++ ++ User name ++ اسم المستخدم ++ ++ ++ Select your user and enter password ++ اختر مستخدمًا وأدخِل كلمة مروره ++ ++ ++ +diff -Nuar sddm-0.11.0/data/translations/CMakeLists.txt sddm-master/data/translations/CMakeLists.txt +--- sddm-0.11.0/data/translations/CMakeLists.txt 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/CMakeLists.txt 2015-03-08 18:18:48.000000000 +0200 +@@ -1,9 +1,11 @@ + set(TRANSLATION_FILES ++ ar.ts + cs.ts + de.ts + et.ts + fi.ts + fr.ts ++ hu.ts + it.ts + ja.ts + pl.ts +diff -Nuar sddm-0.11.0/data/translations/hu.ts sddm-master/data/translations/hu.ts +--- sddm-0.11.0/data/translations/hu.ts 1970-01-01 02:00:00.000000000 +0200 ++++ sddm-master/data/translations/hu.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -0,0 +1,59 @@ ++ ++ ++ ++ ++ TextConstants ++ ++ Welcome to %1 ++ Üdvözöljük - %1 ++ ++ ++ Warning, Caps Lock is ON! ++ Figyelem: a Caps Lock BE van kapcsolva! ++ ++ ++ Layout ++ Nézet ++ ++ ++ Login ++ Bejelentkezés ++ ++ ++ Login failed ++ Bejelentkezés sikertelen ++ ++ ++ Login succeeded ++ Sikeres bejelentkezés ++ ++ ++ Password ++ Jelszó ++ ++ ++ Enter your username and password ++ Írja be a felhasználónevét és a jelszavát ++ ++ ++ Reboot ++ Újraindítás ++ ++ ++ Session ++ Munkamenet ++ ++ ++ Shutdown ++ Leállítás ++ ++ ++ User name ++ Felhasználónév ++ ++ ++ Select your user and enter password ++ Válassza ki a felhasználónevét és írja be a jelszavát ++ ++ ++ +diff -Nuar sddm-0.11.0/data/translations/it.ts sddm-master/data/translations/it.ts +--- sddm-0.11.0/data/translations/it.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/it.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -21,7 +21,7 @@ + + + Login failed +- Accesso fallito ++ Accesso non riuscito + + + Login succeeded +diff -Nuar sddm-0.11.0/data/translations/pt_PT.ts sddm-master/data/translations/pt_PT.ts +--- sddm-0.11.0/data/translations/pt_PT.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/pt_PT.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -5,11 +5,11 @@ + TextConstants + + Welcome to %1 +- Bem-vindo a %1 ++ Bem-vindo ao %1 + + + Warning, Caps Lock is ON! +- Atenção, Caps Lock está ligada! ++ Atenção, Caps Lock está ativo! + + + Layout +@@ -17,15 +17,15 @@ + + + Login +- Sessão ++ Autenticação + + + Login failed +- A autenticação falhou ++ Falha de autenticação + + + Login succeeded +- Autentificação com sucesso ++ Autenticação efetuada + + + Password +@@ -33,7 +33,7 @@ + + + Enter your username and password +- Escreva o seu nome de utilizador e senha ++ Escreva o seu nome de utilizador e a senha + + + Reboot +diff -Nuar sddm-0.11.0/data/translations/tr.ts sddm-master/data/translations/tr.ts +--- sddm-0.11.0/data/translations/tr.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/tr.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -5,7 +5,7 @@ + TextConstants + + Welcome to %1 +- Hoşgeldiniz (%1) ++ Hoş Geldiniz (%1) + + + Warning, Caps Lock is ON! +@@ -29,11 +29,11 @@ + + + Password +- Şifre ++ Parola + + + Enter your username and password +- Kullanıcı adınızı ve şifrenizi giriniz ++ Kullanıcı adınızı ve parolanızı giriniz + + + Reboot +@@ -53,7 +53,7 @@ + + + Select your user and enter password +- Kullanıcınızı seçiniz ve şifrenizi giriniz ++ Kullanıcınızı seçiniz ve parolanızı giriniz + + + +diff -Nuar sddm-0.11.0/README.md sddm-master/README.md +--- sddm-0.11.0/README.md 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/README.md 2015-03-08 18:18:48.000000000 +0200 +@@ -2,7 +2,7 @@ + + [![Build Status](https://travis-ci.org/sddm/sddm.svg?branch=master)](https://travis-ci.org/sddm/sddm) + +-SDDM is a modern display manager for X11 aiming to be fast, simple and beatiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces. ++SDDM is a modern display manager for X11 aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces. + + SDDM is extremely themeable. We put no restrictions on the user interface design, it is completely up to the designer. We simply provide a few callbacks to the user interface which can be used for authentication, suspend etc. To further ease theme creation we provide some premade components like a textbox, a combox etc. + +diff -Nuar sddm-0.11.0/src/common/Configuration.h sddm-master/src/common/Configuration.h +--- sddm-0.11.0/src/common/Configuration.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/common/Configuration.h 2015-03-08 18:18:48.000000000 +0200 +@@ -54,6 +54,7 @@ + // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal + Section(XDisplay, + Entry(ServerPath, QString, _S("/usr/bin/X"), _S("X server path")); ++ Entry(XephyrPath, QString, _S("/usr/bin/Xephyr"), _S("Xephyr path")); + Entry(XauthPath, QString, _S("/usr/bin/xauth"), _S("Xauth path")); + Entry(SessionDir, QString, _S("/usr/share/xsessions"), _S("Session description directory")); + Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Xsession script path\n" +diff -Nuar sddm-0.11.0/src/daemon/Display.cpp sddm-master/src/daemon/Display.cpp +--- sddm-0.11.0/src/daemon/Display.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Display.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -40,8 +40,8 @@ + #include + + namespace SDDM { +- Display::Display(const int displayId, const int terminalId, Seat *parent) : QObject(parent), +- m_displayId(displayId), m_terminalId(terminalId), ++ Display::Display(const int terminalId, Seat *parent) : QObject(parent), ++ m_terminalId(terminalId), + m_auth(new Auth(this)), + m_displayServer(new XorgDisplayServer(this)), + m_seat(parent), +@@ -73,8 +73,8 @@ + stop(); + } + +- const int Display::displayId() const { +- return m_displayId; ++ QString Display::displayId() const { ++ return m_displayServer->display(); + } + + const int Display::terminalId() const { +diff -Nuar sddm-0.11.0/src/daemon/Display.h sddm-master/src/daemon/Display.h +--- sddm-0.11.0/src/daemon/Display.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Display.h 2015-03-08 18:18:48.000000000 +0200 +@@ -39,10 +39,10 @@ + Q_OBJECT + Q_DISABLE_COPY(Display) + public: +- explicit Display(const int displayId, const int terminalId, Seat *parent); ++ explicit Display(int terminalId, Seat *parent); + ~Display(); + +- const int displayId() const; ++ QString displayId() const; + const int terminalId() const; + + const QString &name() const; +@@ -71,7 +71,6 @@ + bool m_relogin { true }; + bool m_started { false }; + +- int m_displayId { 0 }; + int m_terminalId { 7 }; + + QString m_passPhrase; +diff -Nuar sddm-0.11.0/src/daemon/Seat.cpp sddm-master/src/daemon/Seat.cpp +--- sddm-0.11.0/src/daemon/Seat.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Seat.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -51,36 +51,25 @@ + return m_name; + } + +- void Seat::createDisplay(int displayId, int terminalId) { ++ void Seat::createDisplay(int terminalId) { + //reload config if needed + mainConfig.load(); + +- if (displayId == -1) { +- // find unused display +- displayId = findUnused(0, [&](const int number) { +- bool alreadyExists = m_displayIds.contains(number); +- if (!alreadyExists) +- alreadyExists = XorgDisplayServer::displayExists(number); +- return alreadyExists; +- }); +- +- // find unused terminal ++ if (terminalId == -1) { ++ // find unused terminal + terminalId = findUnused(mainConfig.XDisplay.MinimumVT.get(), [&](const int number) { + return m_terminalIds.contains(number); + }); + } + +- // mark display as used +- m_displayIds << displayId; +- + // mark terminal as used + m_terminalIds << terminalId; + + // log message +- qDebug() << "Adding new display" << displayId << "on vt" << terminalId << "..."; ++ qDebug() << "Adding new display" << "on vt" << terminalId << "..."; + + // create a new display +- Display *display = new Display(displayId, terminalId, this); ++ Display *display = new Display(terminalId, this); + + // restart display on stop + connect(display, SIGNAL(stopped()), this, SLOT(displayStopped())); +@@ -92,26 +81,14 @@ + display->start(); + } + +- void Seat::removeDisplay(int displayId) { +- qDebug() << "Removing display" << displayId << "..."; +- +- // display object +- Display *display = nullptr; ++ void Seat::removeDisplay(Display* display) { ++ qDebug() << "Removing display" << display->displayId() << "..."; + +- // find display +- for (Display *d: m_displays) +- if (d->displayId() == displayId) +- display = d; +- +- // check if found +- if (display == nullptr) +- return; + + // remove display from list + m_displays.removeAll(display); + + // mark display and terminal ids as unused +- m_displayIds.removeAll(display->displayId()); + m_terminalIds.removeAll(display->terminalId()); + + // stop the display +@@ -127,7 +104,7 @@ + Display *display = qobject_cast(sender()); + + // remove display +- removeDisplay(display->displayId()); ++ removeDisplay(display); + + // restart otherwise + if (m_displays.isEmpty()) +diff -Nuar sddm-0.11.0/src/daemon/Seat.h sddm-master/src/daemon/Seat.h +--- sddm-0.11.0/src/daemon/Seat.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Seat.h 2015-03-08 18:18:48.000000000 +0200 +@@ -34,8 +34,8 @@ + const QString &name() const; + + public slots: +- void createDisplay(int displayId = -1, int terminalId = -1); +- void removeDisplay(int displayId); ++ void createDisplay(int terminalId = -1); ++ void removeDisplay(SDDM::Display* display); + + private slots: + void displayStopped(); +@@ -45,7 +45,6 @@ + + QList m_displays; + QList m_terminalIds; +- QList m_displayIds; + }; + } + +diff -Nuar sddm-0.11.0/src/daemon/Utils.h sddm-master/src/daemon/Utils.h +--- sddm-0.11.0/src/daemon/Utils.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Utils.h 2015-03-08 18:18:48.000000000 +0200 +@@ -21,6 +21,8 @@ + #ifndef SDDM_UTILS_H + #define SDDM_UTILS_H + ++#include ++ + namespace SDDM { + + inline QString generateName(int length) { +diff -Nuar sddm-0.11.0/src/daemon/XorgDisplayServer.cpp sddm-master/src/daemon/XorgDisplayServer.cpp +--- sddm-0.11.0/src/daemon/XorgDisplayServer.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/XorgDisplayServer.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -28,6 +28,9 @@ + #include + #include + #include ++#include ++ ++#include + + #include + +@@ -36,9 +39,6 @@ + + namespace SDDM { + XorgDisplayServer::XorgDisplayServer(Display *parent) : DisplayServer(parent) { +- // figure out the X11 display +- m_display = QString(":%1").arg(displayPtr()->displayId()); +- + // get auth directory + QString authDir = RUNTIME_DIR; + +@@ -50,7 +50,7 @@ + QDir().mkpath(authDir); + + // set auth path +- m_authPath = QString("%1/%2").arg(authDir).arg(m_display); ++ m_authPath = QString("%1/%2").arg(authDir).arg(QUuid::createUuid().toString()); + + // generate cookie + std::random_device rd; +@@ -70,10 +70,6 @@ + stop(); + } + +- bool XorgDisplayServer::displayExists(int number) { +- return QFile(QString("/tmp/.X%1-lock").arg(number)).exists(); +- } +- + const QString &XorgDisplayServer::display() const { + return m_display; + } +@@ -136,44 +132,72 @@ + if (daemonApp->testing()) { + QStringList args; + args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600"; +- process->start("/usr/bin/Xephyr", args); ++ process->start(mainConfig.XDisplay.XephyrPath.get(), args); ++ ++ ++ // wait for display server to start ++ if (!process->waitForStarted()) { ++ // log message ++ qCritical() << "Failed to start display server process."; ++ ++ // return fail ++ return false; ++ } ++ emit started(); + } else { + // set process environment + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); +- env.insert("DISPLAY", m_display); +- env.insert("XAUTHORITY", m_authPath); + env.insert("XCURSOR_THEME", mainConfig.Theme.CursorTheme.get()); + process->setProcessEnvironment(env); + +- // tell the display server to notify us when we can connect +- SignalHandler::ignoreSigusr1(); ++ //create pipe for communicating with X server ++ //0 == read from X, 1== write to from X ++ int pipeFds[2]; ++ if (pipe(pipeFds) != 0) { ++ qCritical("Could not create pipe to start X server"); ++ } + + // start display server + QStringList args; +- args << m_display +- << "-auth" << m_authPath ++ args << "-auth" << m_authPath + << "-nolisten" << "tcp" + << "-background" << "none" + << "-noreset" ++ << "-displayfd" << QString::number(pipeFds[1]) + << QString("vt%1").arg(displayPtr()->terminalId()); + qDebug() << "Running:" + << qPrintable(mainConfig.XDisplay.ServerPath.get()) + << qPrintable(args.join(" ")); + process->start(mainConfig.XDisplay.ServerPath.get(), args); +- SignalHandler::initializeSigusr1(); +- connect(DaemonApp::instance()->signalHandler(), SIGNAL(sigusr1Received()), this, SIGNAL(started())); +- } + +- // wait for display server to start +- if (!process->waitForStarted()) { +- // log message +- qCritical() << "Failed to start display server process."; ++ // wait for display server to start ++ if (!process->waitForStarted()) { ++ // log message ++ qCritical() << "Failed to start display server process."; ++ ++ // return fail ++ close(pipeFds[0]); ++ return false; ++ } ++ ++ QFile readPipe; ++ ++ if (!readPipe.open(pipeFds[0], QIODevice::ReadOnly)) { ++ qCritical("Failed to open pipe to start X Server "); ++ ++ close(pipeFds[0]); ++ return false; ++ } ++ QByteArray displayNumber = readPipe.readLine(); ++ displayNumber.prepend(QByteArray(":")); ++ displayNumber.remove(displayNumber.size() -1, 1); //trim trailing whitespace ++ m_display= displayNumber; ++ ++ // close our pipe ++ close(pipeFds[0]); + +- // return fail +- return false; +- } +- if (daemonApp->testing()) + emit started(); ++ } + + // set flag + m_started = true; +diff -Nuar sddm-0.11.0/src/daemon/XorgDisplayServer.h sddm-master/src/daemon/XorgDisplayServer.h +--- sddm-0.11.0/src/daemon/XorgDisplayServer.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/XorgDisplayServer.h 2015-03-08 18:18:48.000000000 +0200 +@@ -33,8 +33,6 @@ + explicit XorgDisplayServer(Display *parent); + ~XorgDisplayServer(); + +- static bool displayExists(int number); +- + const QString &display() const; + const QString &authPath() const; + +diff -Nuar sddm-0.11.0/src/greeter/SessionModel.cpp sddm-master/src/greeter/SessionModel.cpp +--- sddm-0.11.0/src/greeter/SessionModel.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/greeter/SessionModel.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -57,6 +57,7 @@ + continue; + SessionPtr si { new Session { session, "", "", "" } }; + QTextStream in(&inputFile); ++ bool execAllowed = true; + while (!in.atEnd()) { + QString line = in.readLine(); + if (line.startsWith("Name=")) +@@ -65,9 +66,15 @@ + si->exec = line.mid(5); + if (line.startsWith("Comment=")) + si->comment = line.mid(8); ++ if (line.startsWith("TryExec=")) { ++ QFileInfo fi(line.mid(8)); ++ if (!fi.exists() || !fi.isExecutable()) ++ execAllowed = false; ++ } + } + // add to sessions list +- d->sessions.push_back(si); ++ if (execAllowed) ++ d->sessions.push_back(si); + // close file + inputFile.close(); + } +diff -Nuar sddm-0.11.0/src/helper/backend/PamBackend.cpp sddm-master/src/helper/backend/PamBackend.cpp +--- sddm-0.11.0/src/helper/backend/PamBackend.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/helper/backend/PamBackend.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -251,7 +251,9 @@ + QProcessEnvironment sessionEnv = m_app->session()->processEnvironment(); + QString display = sessionEnv.value("DISPLAY"); + if (!display.isEmpty()) { ++#ifdef PAM_XDISPLAY + m_pam->setItem(PAM_XDISPLAY, qPrintable(display)); ++#endif + m_pam->setItem(PAM_TTY, qPrintable(display)); + } + if (!m_pam->putEnv(sessionEnv)) { diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_y b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_y new file mode 100644 index 0000000000..0a76cc169d --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_y @@ -0,0 +1,10 @@ +# Begin /etc/pam.d/sddm +#%PAM-1.0 +auth substack system-auth +auth optional pam_gnome_keyring.so +account include system-auth +session optional pam_keyinit.so force revoke +session include system-auth +session optional pam_console.so +session optional pam_gnome_keyring.so auto_start +session optional pam_selinux.so diff --git a/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_yedek b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_yedek new file mode 100644 index 0000000000..b66e9367cc --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/files/sddm_yedek @@ -0,0 +1,18 @@ +# Begin /etc/pam.d/sddm + +auth required pam_unix.so try_first_pass nullok +auth optional pam_permit.so +auth required pam_env.so + +account required pam_unix.so +account optional pam_permit.so +account required pam_time.so + +password required pam_unix.so try_first_pass nullok sha512 shadow +password optional pam_permit.so + +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so + +# End /etc/pam.d/sddm \ No newline at end of file diff --git a/desktop/kde/kde5-plasma/kde5-sddm/pspec.xml b/desktop/kde/kde5-plasma/kde5-sddm/pspec.xml new file mode 100755 index 0000000000..aad39497bb --- /dev/null +++ b/desktop/kde/kde5-plasma/kde5-sddm/pspec.xml @@ -0,0 +1,68 @@ + + + + + kde5-sddm + https://github.com/sddm/sddm + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + QML based X11 display manager + KDE Power Management module. Provides kded daemon DBus helper and KCM for configuring Power settings + https://github.com/sddm/sddm/archive/v0.11.0.tar.gz + + qt5-base-devel + qt5-tools-devel + qt5-base-devel + extra-cmake-modules + docutils + + + sddm_upstream.patch + sddm-0.10.0-upower.patch + sddm-0.11.0-consolekit.patch + + + + + kde5-sddm + + qt5-base + qt5-declarative + docutils + xorg-server-xephyr + + + /etc + /usr/share + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + sddm.conf + sddm + + + System.Service + System.Package + + + + + + 2014-09-20 + 0.11 + First release + Stefan Gronewold (groni) + groni@pisilinux.org + + + diff --git a/desktop/x11/libepoxy/actions.py b/desktop/x11/libepoxy/actions.py new file mode 100755 index 0000000000..cc05e6da4b --- /dev/null +++ b/desktop/x11/libepoxy/actions.py @@ -0,0 +1,22 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import autotools +from pisi.actionsapi import get + +def setup(): + autotools.autoreconf("-vfi") + + autotools.configure() + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" %get.installDIR()) + + pisitools.dodoc("README.md", "COPYING") diff --git a/desktop/x11/libepoxy/pspec.xml b/desktop/x11/libepoxy/pspec.xml new file mode 100755 index 0000000000..629edf9ef0 --- /dev/null +++ b/desktop/x11/libepoxy/pspec.xml @@ -0,0 +1,60 @@ + + + + + libepoxy + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + MIT + library + OpenGL function pointer management library + Epoxy is a library for handling OpenGL function pointer management for you. + https://github.com/anholt/libepoxy/archive/v1.2.tar.gz + + python3 + xorg-util + mesa-devel + + + + + libepoxy + + mesa + + + /etc/xdg + /usr/bin + /usr/lib + /usr/share + /usr/share/locale + /usr/share/doc + /usr/share/man + + + + + libepoxy-devel + Development files for libepoxy + + libepoxy + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2015-05-27 + 1.2 + First release + Stefan Gronewold(groni) + groni@pisilinux.org + + +