commit:     413968902b01f6f2fa49390be43b5f377fab8439
Author:     stefson <herrtimson <AT> yahoo <DOT> de>
AuthorDate: Sat Nov  5 21:45:33 2016 +0000
Commit:     Felix Janda <felix.janda <AT> posteo <DOT> de>
CommitDate: Sat Nov 12 00:12:10 2016 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=41396890

lxde-base/lxdm: add fix for musl

 lxde-base/lxdm/Manifest                            | 15 ++++
 lxde-base/lxdm/files/Xsession                      | 79 ++++++++++++++++++
 .../lxdm/files/lxdm-0.4.1-configure-add-pam.patch  | 45 +++++++++++
 lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch  | 25 ++++++
 lxde-base/lxdm/files/lxdm-0.4.1-fix-execinfo.patch | 57 +++++++++++++
 .../lxdm/files/lxdm-0.4.1-fix-optional-pam.patch   | 31 ++++++++
 .../lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch    | 16 ++++
 .../lxdm-0.4.1-git-fix-null-pointer-deref.patch    | 51 ++++++++++++
 .../files/lxdm-0.4.1-missing-pam-defines.patch     | 29 +++++++
 .../files/lxdm-0.4.1-optional-consolekit.patch     | 43 ++++++++++
 .../files/lxdm-0.4.1-pam_console-disable.patch     |  9 +++
 .../lxdm/files/lxdm-0.4.1-selinux-support.patch    |  7 ++
 lxde-base/lxdm/files/lxdm.service                  | 12 +++
 lxde-base/lxdm/lxdm-0.4.1-r9.ebuild                | 93 ++++++++++++++++++++++
 lxde-base/lxdm/metadata.xml                        | 19 +++++
 15 files changed, 531 insertions(+)

diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest
new file mode 100644
index 0000000..0c2d032
--- /dev/null
+++ b/lxde-base/lxdm/Manifest
@@ -0,0 +1,15 @@
+AUX Xsession 1974 SHA256 
4f17b37d78e943a0d485892a9b906743602fb5f071a8d972f5d74dccc0c5e142 SHA512 
497c420601e171ae3e753f2277119bd39eb0cb4e6968b5294c54ec1673d96553787f4e02c3a0bb1d0270048e721ee96aa4b3df0caed8ae40b12d726c6abf90da
 WHIRLPOOL 
3e906c785bf85c98ffbb8c92c27c8885bd9fcb6fa4863b11476b52df87aa22d8ee07552d303d2cc86ef878bcd953132d102300b71a340ef4e57515b39aa19738
+AUX lxdm-0.4.1-configure-add-pam.patch 1410 SHA256 
22d9a569755acd1ffadc23939b6b2d0845f0956efafda31b3a91dbd5580a5815 SHA512 
4a5f2f4a282739e74e63d583036e0cc84f3613983d3fac2795827d9065ade3e2cfc353472345be1948444ac4c2f037f5bc97c62a79a9b170e8fd6e0fc23ab6dd
 WHIRLPOOL 
d8ac31e16fce57b037cef36f88461ccb1e3669e5cef947aea2ed9ff32604aaee1ec959010e9a0e4099eebc86f34986cb774d2e6ddcc571afdc6b1104825dfb6d
+AUX lxdm-0.4.1-event-check.patch 704 SHA256 
f5e2e29c7ea307959c4fb3e34433bb63de3efef5e14be11e4c6dfeedb1cdacb1 SHA512 
459dc8106a836f6b6cdb6eb64a4d818a5af17318e800f5d6194a6ec7fcc9ce1bc2957516670dc191d5ae8bb325144997958dc2e7062f59cb38b98abf6ec60cd1
 WHIRLPOOL 
6208e31029cc29bfd840312f77fdc99a20881a8476dd31a41b8ec8742f1eebbdcb964062f313c5967a1919dff554f871098764b0f3990438a0c74da0c98cb4f6
+AUX lxdm-0.4.1-fix-execinfo.patch 1373 SHA256 
469c10499b733fa16f8912a806c51eb5c9aff4f114cc05ad9bbaf6559745d36d SHA512 
7dbc8aaf6ba9e088e0e9c20778e7fe32fa4e6b9c63d09eedc4812806f0add77b1d7661681c7f72baae5151ab13490ceae537c002462ac0d84a87cb029be30ff8
 WHIRLPOOL 
a5caa5a1ab78ebf336c88628433eb42a08bce189ad15ce9ffd1aaa0c782cafe186a2611bcd125d9863e98ce47159e8ce75597515cfed1711610e0622a2102b8e
+AUX lxdm-0.4.1-fix-optional-pam.patch 669 SHA256 
0014c8a84e9d4cb16ec5ef29a3e734527caa677e868ef9f9dd21cc2da1721632 SHA512 
817b96d59e73daadab1165df90ff6de76c06bb9fbfec57299dca4a590e2d7284e6ede4a5cffeb53d5d12a5eaaa7ad5a0f0d3d04bb35ea005a4be6f81d1b09dbf
 WHIRLPOOL 
a9ff132d0002579fea056a85417dcc6e35bc5dd7b4928734fcc5f6bda08d7bf05f634dfd127690d8de2bad91721ebc37f293f0b18d693290de4940bb0fa78245
+AUX lxdm-0.4.1-fix-pam-100-cpu.patch 444 SHA256 
cf5aa1cd633c510be44cbb2d9dfa09fe6541c83c77297d000c010d5f0348ffde SHA512 
2aef14d7dc9e2f10fda1d22b5837225f61af9a8fb46267ad98eb65149e72c165c6588c4816dc8c20ec90f49a2db5289b519f9b1c0b4b5b9ec430bea73fbac9a6
 WHIRLPOOL 
6039273a31292cc6903db4a84d89a2dc80fd0d776a9dc6f8dd438cf5d2d574e84b877a397e510267d4d7a690a0ed3520232c9225d8b590fc4b7e98c323d5e543
+AUX lxdm-0.4.1-git-fix-null-pointer-deref.patch 1560 SHA256 
a33e3226c463bc445d7d27b11e34de8b09c7c1fdf44be8628d54334fd41b7ea3 SHA512 
204124b2558280183e71799c2e006c9efb97b17bc5ef5f9cbf68afd0a4da2568d6e3d7a8d7dc3e12283b8d2febea541793fd72861ca7d692f1595be209d47f62
 WHIRLPOOL 
9f253d5b674c4a156e9fc99389c62c6271ca674beb109293992ba040520751310d229b270834a172c98275b2a5db6090679c41c663003a970c2bc60ddf631545
+AUX lxdm-0.4.1-missing-pam-defines.patch 583 SHA256 
b9aa62fc73ce8f52f354388bcec0a03c228b40ba1a86e2aba1071501ecc1a5d8 SHA512 
e7ebb98cae18874152ed5ae528db452428db5f0311cf92eeec93dc9bffaefb101fb587466e9f7c015199cf25c1fbc45ac1c20e3f41d7dd087622ac2e53b812e9
 WHIRLPOOL 
ea2e3b6db573642ea79573e5a473a1ac00d6216fa1a848bb0b10b690a0f39a643fa43ff9f3f58467f6a4ad5083df8ee553f6315ed290e6d76d306ad023889707
+AUX lxdm-0.4.1-optional-consolekit.patch 1467 SHA256 
48804e3af27b5ad34b84569e97a9dbfecfc3dcab7de1c460dbd1f48acf744403 SHA512 
56d41d8115dbb7d83f1ae54958c3a7982175d59ae06680f092ab005ecd490e06f4209ad296abed3d562f717f23bf45413ef899e79ea2e498b4d4980b50a5f99d
 WHIRLPOOL 
a1a3bfd462f8ac74c6a6480cbcd20d3b7b351be798b180713da94c147534cf8d127d63a456f61ae4633ef7de081412e5c849cf727f830c1b0eaf9bfcb2972293
+AUX lxdm-0.4.1-pam_console-disable.patch 344 SHA256 
51d1a0f0b5749e451e313df3bd3d08b3f5181f00eb01993973393c1b4dcd8ad2 SHA512 
15ebae762ca266da2986c6dc29b866068e7120457da253cc0513fb285c386869f35c074c2cd1cc1ff05045f533e565400cf39ae2f484eafb29fb2faeb2d260e4
 WHIRLPOOL 
42255d3a834333a0c830b1a8a045e526dd3ef93271a943eea542932cf04533de7e43ba3eea459c0c758e4851f3736b3a50f158c49a5a770fafce6dfefee173f5
+AUX lxdm-0.4.1-selinux-support.patch 281 SHA256 
e260022bcf9954d4b404b4a3ea5c1679165e2b7e33a1a327b61fd1ef796cb962 SHA512 
8875c92a2159b0390c00a1460c294c8ebdfa8920c38d7edeaf0108813cfc59eb6aebacb28e7d5d8012177809f29962035afe6c4a9ea439f6bcdb630fd31b626c
 WHIRLPOOL 
a08ceaaefda33045eb76450c8d22906f8cac95337dccf921bc4c7bb91c83e33e7f3d55814e8738276ff0218bda4234617e0640cd5c5048412fef1f276c9f812a
+AUX lxdm.service 277 SHA256 
6ffe016e8b03354b0a02e2e5d550a0f5f278fceccecfd8747619bdcf6ba9f800 SHA512 
123e48527423d542fc838e3171e9130df7d87f054fc66be87b1a539a6c31b64edbf467cfc07901716845ba5c8250b39ac0a2ac2e7f3e0e563639867815ff0514
 WHIRLPOOL 
f526f986e43c817f610a46d86510580e9f6da97b5504ca7c83c37af83b9382f050fbed2df787a07934f4880b325ce0bc10066134b2912c007f6c92dc41e9dff2
+DIST lxdm-0.4.1.tar.gz 296714 SHA256 
9e0d0a5672fcf31a18de8178ce73eab1723d6ae7097dfe41e9fe2c46e180cf08 SHA512 
8ed4a955a910def4db66958d1cb24976db178b8763199a024b6c2119894745e3646566c42d01472dffbbcbb7fd21784b01e74dc88038e01caebaa3b6d720ff27
 WHIRLPOOL 
1bbb55bf955f46aaac54ca3372c09308baa496297e56026456e464217f115d6b26994e8be6b6b228b663bb2e14cf9d5ace6930f75024f6426825dd4fefc5349f
+EBUILD lxdm-0.4.1-r9.ebuild 2182 SHA256 
44434c64f51ac1fb9d0de4ecc6206dcc975b790363bfd271a5b23a420a0c78cc SHA512 
d831624cae794601f3f76036b5a6f39a884d7a8fd670c91f47152f0cd78d50204a77578643110ca3981eb94184b7670a695c348d37f0fdfa62b6321e26df1c73
 WHIRLPOOL 
f6bd2072f6fc303528c3c0dd0390c2628f043200fa7f41ebf79b07c578cfed0c75132d0c322a2097b5853955944040407c33cf9b27acd3b98d659a1a465874a5
+MISC metadata.xml 581 SHA256 
445f767d5cbc606c43fc81855e6cd31011b25f6c1dc4cd439af76973bbfdab71 SHA512 
bfb1509cb2c43f2711a38c284a1a4152192b91c5a9f681fe063848cbeb39e8a2185d2bff084d08b0d9583cb2482101e23ce955aa9b81606a2bc270a657d7a2d1
 WHIRLPOOL 
b79a5cdc369f9ced22b58a8ec92be209006c8f0c18f51d1bb9c71113ed3d029e7cdcec58497a05083a09c7173a423a4b2c7c1e4237339ba2094f4dfa6b371b0d

diff --git a/lxde-base/lxdm/files/Xsession b/lxde-base/lxdm/files/Xsession
new file mode 100644
index 0000000..d5df36f
--- /dev/null
+++ b/lxde-base/lxdm/files/Xsession
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# LXDM wrapper to run around X sessions.
+# Copied form lightdm
+
+echo "Running X session wrapper"
+
+#Convert MATE to lower case util MATE scripts are fixed
+[ "$DESKTOP_SESSION" = "MATE" ] && DESKTOP_SESSION=mate
+export DESKTOP_SESSION
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; 
do
+    if [ -f "$file" ]; then
+        echo "Loading profile from $file";
+        . "$file"
+    fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+    if [ -f "$file" ]; then
+        echo "Loading resource: $file"
+        xrdb -nocpp -merge "$file"
+    fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+    if [ -f "$file" ]; then
+        echo "Loading keymap: $file"
+        setxkbmap `cat "$file"`
+        XKB_IN_USE=yes
+    fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+    for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+        if [ -f "$file" ]; then
+           echo "Loading modmap: $file"
+           xmodmap "$file"
+        fi
+    done
+fi
+
+unset XKB_IN_USE
+
+# /etc/X11/xinit/xinitrc.d/80-dbus expects $command to be
+# set to the Xsession arguments. So make it happy. See
+# https://bugs.gentoo.org/show_bug.cgi?id=533456
+command="$@"
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+    for script in $xinitdir/*; do
+        echo "Loading xinit script $script"
+        if [ -x "$script" -a ! -d "$script" ]; then
+            . "$script"
+        fi
+    done
+fi
+
+# Load Xsession scripts
+xsessionddir="/etc/X11/Xsession.d"
+if [ -d "$xsessionddir" ]; then
+    for i in `ls $xsessionddir`; do
+        script="$xsessionddir/$i"
+        echo "Loading X session script $script"
+        if [ -r "$script"  -a -f "$script" ] && expr "$i" : 
'^[[:alnum:]_-]\+$' > /dev/null; then
+            . "$script"
+        fi
+    done
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $command

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch
new file mode 100644
index 0000000..d91bf75
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-configure-add-pam.patch
@@ -0,0 +1,45 @@
+From 949ee91acb55baeb4b8761957eabd2e5a345d2ae Mon Sep 17 00:00:00 2001
+From: Mitch Harder <[email protected]>
+Date: Thu, 8 Dec 2011 11:02:28 -0600
+Subject: Fix configure.ac test for pam libs.
+
+A bug report on Gentoo noted that the configure test for pam
+wasn't working correctly.
+https://bugs.gentoo.org/show_bug.cgi?id=384615
+
+This corrections borrows the configure.ac pam testing method used in xdm.
+---
+ configure.ac |   13 +++++++++++--
+ 1 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e952473..eaa883a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,12 +14,21 @@ AC_PROG_INSTALL
+ AM_PROG_CC_C_O
+ 
+ # Checks for libraries.
+ AC_CHECK_LIB([crypt], [crypt])
+ 
+-AC_ARG_WITH(pam,AC_HELP_STRING([--without-pam],[build without pam]),
+-[],[AC_CHECK_LIB([pam], [pam_open_session])])
++# Check for PAM support
++AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]),
++      [USE_PAM=$withval], [USE_PAM=$use_pam_default])
++if test "x$USE_PAM" != "xno" ; then
++      AC_SEARCH_LIBS(pam_open_session,[pam])
++      AC_CHECK_FUNC(pam_open_session, 
++              [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])],
++              [if test "x$USE_PAM" != "xtry" ; then
++                      AC_MSG_ERROR(["PAM support requested, but 
pam_open_session not found."])
++               fi])
++fi
+ 
+ AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
+ 
+ # Checks for header files.
+ AC_PATH_X
+-- 
+1.7.3.4
+

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
new file mode 100644
index 0000000..4c2d5b3
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
@@ -0,0 +1,25 @@
+From d4e41ecb36a1ea29482b75674d804bb0f05540b2 Mon Sep 17 00:00:00 2001
+From: dgod <[email protected]>
+Date: Sun, 25 Dec 2011 15:23:19 +0800
+Subject: [PATCH 1/1] fix event check bug caused cpu 100%
+
+---
+ src/lxcom.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 02763eb..18ee12e 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
+ 
+ static gboolean lxcom_check(GSource *source)
+ {
+-      return TRUE;
++      return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
+ }
+ 
+ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer 
user_data)
+-- 
+1.7.4.1
+

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-execinfo.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-fix-execinfo.patch
new file mode 100644
index 0000000..8ca3e86
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-execinfo.patch
@@ -0,0 +1,57 @@
+From 855c090f1330aedc97b9a486dcd0d0b4c7ff4f4e Mon Sep 17 00:00:00 2001
+From: dgod <[email protected]>
+Date: Sun, 16 Oct 2016 12:49:40 +0800
+Subject: [PATCH] Compile with the musl c library (no execinfo.h)
+
+---
+ configure.ac | 2 +-
+ src/lxdm.c   | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 52f2ac9..a9fca61 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,7 +32,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" 
!= xno ])
+ 
+ # Checks for header files.
+ AC_PATH_X
+-AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
++AC_CHECK_HEADERS([execinfo.h shadow.h stdlib.h string.h unistd.h utmpx.h])
+ 
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_TYPE_PID_T
+diff --git a/src/lxdm.c b/src/lxdm.c
+index e00d219..53d2176 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -49,7 +49,9 @@
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ 
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif
+ 
+ #ifdef HAVE_UTMPX_H
+ #include <utmpx.h>
+@@ -1552,6 +1554,7 @@ int lxdm_do_auto_login(void)
+ 
+ static void log_sigsegv(void)
+ {
++#ifdef HAVE_EXECINFO_H
+       void *array[40];
+       size_t size;
+       char **bt_strs;
+@@ -1564,6 +1567,7 @@ static void log_sigsegv(void)
+           fprintf(stderr, "%s\n", bt_strs[i]);
+ 
+       free(bt_strs);
++#endif
+ }
+ 
+ static void sigsegv_handler(int sig)
+-- 
+2.1.4
+
+

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
new file mode 100644
index 0000000..0aecc08
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
@@ -0,0 +1,31 @@
+diff --git a/Makefile.am b/Makefile.am
+index bfac56b..40710fc 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,10 +2,13 @@ NULL =
+ SUBDIRS= \
+       src \
+       po \
+-      pam \
+       data \
+       $(NULL)
+ 
++if HAVE_PAM
++SUBDIRS += pam
++endif
++
+ rpm: dist @[email protected]
+       rpmbuild -bb \
+       --define "_sourcedir `pwd`" \
+diff --git a/configure.ac b/configure.ac
+index ae5177f..aaa1bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,7 @@ if test "x$USE_PAM" != "xno" ; then
+                       AC_MSG_ERROR(["PAM support requested, but 
pam_open_session not found."])
+                fi])
+ fi
++AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+ 
+ # Checks for header files.
+ AC_PATH_X

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch
new file mode 100644
index 0000000..103268e
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-pam-100-cpu.patch
@@ -0,0 +1,16 @@
+--- lxdm-0.4.1.orig/src/lxdm.c
++++ lxdm-0.4.1/src/lxdm.c
+@@ -1458,8 +1458,12 @@ void lxdm_do_login(struct passwd *pw, ch
+               setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 
1);
+       }
+ #endif
++      int i;
++      for(i=2;i<256;i++)
++              g_source_remove(i);
++
+       char** env, *path;
+-      int n_env,i;
++      int n_env;
+       n_env  = g_strv_length(environ);
+       /* copy all environment variables and override some of them */
+       env = g_new(char*, n_env + 1 + 13);

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch
new file mode 100644
index 0000000..7abdbd4
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-git-fix-null-pointer-deref.patch
@@ -0,0 +1,51 @@
+From 19f82a206b2cec964cea0475395d63dedf183788 Mon Sep 17 00:00:00 2001
+From: Andrea Florio <[email protected]>
+Date: Fri, 29 Jul 2011 23:59:32 +0200
+Subject: [PATCH] fix null pointer dereference
+
+---
+ src/config.c |   25 ++++++++++---------------
+ 1 files changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 3f92f7b..4603ab4 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -125,24 +125,19 @@ static gboolean image_file_valid(const char *filename)
+ static void update_face_image(GtkWidget *w)
+ {
+       GdkPixbuf *pixbuf;
+-      char *path;
+-      path=g_build_filename(user->pw_dir,".face",NULL);
+-      if(access(path,R_OK))
+-      {
+-              g_free(path);
+-              if(ui_nobody)
+-                      
pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL);
+-              if(!pixbuf)
+-                      
pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
++      char *path=g_build_filename(user->pw_dir,".face",NULL);
++      pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL);
++      g_free(path);
++      if(!pixbuf && ui_nobody)
++              
pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL);
++      if(!pixbuf)
++              pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
+                                               "avatar-default", 
48,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
+-      }
+-      else
++      if(pixbuf)
+       {
+-              pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL);
+-              g_free(path);
++              gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf);
++              g_object_unref(pixbuf);
+       }
+-      gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf);
+-      g_object_unref(pixbuf);
+ }
+ 
+ static void set_face_file(const char *filename)
+-- 
+1.7.0.1
+

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch
new file mode 100644
index 0000000..a59273c
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-missing-pam-defines.patch
@@ -0,0 +1,29 @@
+From 0f9e8e53a8d30f5c8ccfb03edc282148f58bfd30 Mon Sep 17 00:00:00 2001
+From: dgod <[email protected]>
+Date: Sun, 1 Jan 2012 17:05:22 +0800
+Subject: [PATCH] fix bug introduced from pam detect
+
+---
+ src/lxdm.c |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index b5a90be..07be1e0 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -25,8 +25,12 @@
+ #include <config.h>
+ #endif
+ #ifndef HAVE_LIBPAM
++#ifdef USE_PAM
++#define HAVE_LIBPAM 1
++#else
+ #define HAVE_LIBPAM 0
+ #endif
++#endif
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+-- 
+1.7.4.1
+

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
new file mode 100644
index 0000000..621a9d6
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
@@ -0,0 +1,43 @@
+X-Gentoo-Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=443666
+X-Git-Url: 
http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=902438eb83b4ae97d774e4e5f38b46f2d826df2f
+X-Git-Url: 
http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=371b018474217bdff1d5108b384fbf0f45aa873d
+
+Signed-off-by: Markos Chandras <[email protected]>
+
+Index: lxdm-0.4.1/configure.ac
+===================================================================
+--- lxdm-0.4.1.orig/configure.ac
++++ lxdm-0.4.1/configure.ac
+@@ -28,8 +28,6 @@ if test "x$USE_PAM" != "xno" ; then
+                fi])
+ fi
+ 
+-AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
+-
+ # Checks for header files.
+ AC_PATH_X
+ AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
+@@ -89,11 +87,22 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules])
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+ 
+-PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
++
++AC_ARG_ENABLE(consolekit,
++      AC_HELP_STRING([--disable-consolekit],[disable ConsoleKit support]),
++      [enable_consolekit=$enableval],
++      [enable_consolekit=yes]
++)
++
++if test "x$enable_consolekit" = "xyes" ; then
++  AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
++  PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
+       AC_SUBST(CONSOLEKIT_CFLAGS)
+       AC_SUBST(CONSOLEKIT_LIBS)],[
+       echo "ConsoleKit devel package not found"
+       ])
++fi
++
+ 
+ AC_ARG_ENABLE(password,
+ AC_HELP_STRING([--enable-password],[enable to load autologin password store 
at config file]),

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch
new file mode 100644
index 0000000..628e9a5
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-pam_console-disable.patch
@@ -0,0 +1,9 @@
+--- lxdm-0.4.0.orig/pam/lxdm
++++ lxdm-0.4.0/pam/lxdm
+@@ -5,5 +5,5 @@ account    include     system-auth
+ session    optional   pam_keyinit.so force revoke
+ session    include    system-auth
+ session    required   pam_loginuid.so
+-session    optional   pam_console.so
++#session    optional  pam_console.so
+ session    optional   pam_gnome_keyring.so auto_start

diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch 
b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
new file mode 100644
index 0000000..c7df391
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
@@ -0,0 +1,7 @@
+--- a/pam/lxdm 2011-12-05 17:30:39.749064359 -0600
++++ b/pam/lxdm 2011-12-05 17:31:19.355569211 -0600
+@@ -7,3 +7,4 @@
+ session    required   pam_loginuid.so
+ #session    optional  pam_console.so
+ session    optional   pam_gnome_keyring.so auto_start
++session          optional     pam_selinux.so

diff --git a/lxde-base/lxdm/files/lxdm.service 
b/lxde-base/lxdm/files/lxdm.service
new file mode 100644
index 0000000..bf4a0a8
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=LXDE Display Manager
[email protected] plymouth-quit.service
+After=systemd-user-sessions.service [email protected] plymouth-quit.service
+
+[Service]
+ExecStart=/usr/sbin/lxdm
+Restart=always
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=display-manager.service

diff --git a/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild 
b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
new file mode 100644
index 0000000..86d44cf
--- /dev/null
+++ b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+WANT_AUTOMAKE="1.12" #493996
+inherit eutils autotools systemd
+
+DESCRIPTION="LXDE Display Manager"
+HOMEPAGE="http://lxde.org";
+SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc x86"
+
+IUSE="consolekit debug gtk3 nls pam"
+
+RDEPEND="consolekit? ( sys-auth/consolekit )
+       x11-libs/libxcb
+       gtk3? ( x11-libs/gtk+:3 )
+       !gtk3? ( x11-libs/gtk+:2 )
+       nls? ( sys-devel/gettext )
+       pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+       >=dev-util/intltool-0.40
+       virtual/pkgconfig"
+
+src_prepare() {
+       # Upstream bug, tarball contains pre-made lxdm.conf
+       rm "${S}"/data/lxdm.conf || die
+
+       # There is consolekit
+       epatch "${FILESDIR}/${P}-pam_console-disable.patch"
+       # Fix null pointer dereference, backported from git
+       epatch "${FILESDIR}/${P}-git-fix-null-pointer-deref.patch"
+
+       epatch "${FILESDIR}"/${P}-configure-add-pam.patch
+
+       # 403999
+       epatch "${FILESDIR}"/${P}-missing-pam-defines.patch
+
+       # 412025
+       epatch "${FILESDIR}"/${P}-event-check.patch
+
+       # 393329 Selinux support
+       epatch "${FILESDIR}"/${P}-selinux-support.patch
+
+       # See https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/922363
+       epatch "${FILESDIR}/${P}-fix-pam-100-cpu.patch"
+
+       # Optional Consolekit support. bug #443666
+       epatch "${FILESDIR}"/${P}-optional-consolekit.patch
+
+       # 469512
+       epatch "${FILESDIR}"/${P}-fix-optional-pam.patch
+
+       # 597260
+       epatch "${FILESDIR}"/${P}-fix-execinfo.patch
+
+       # this replaces the bootstrap/autogen script in most packages
+       eautoreconf
+
+       # process LINGUAS
+       if use nls; then
+               einfo "Running intltoolize ..."
+               intltoolize --force --copy --automake || die
+               strip-linguas -i "${S}/po" || die
+       fi
+}
+src_configure() {
+       econf   --enable-password \
+               --with-x \
+               --with-xconn=xcb \
+               $(use_enable consolekit) \
+               $(use_enable gtk3) \
+               $(use_enable nls) \
+               $(use_enable debug) \
+               $(use_with pam)
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die
+       dodoc AUTHORS README TODO || die
+       systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_postinst() {
+       echo
+       elog "Take into consideration that LXDM is in the early stages of 
development!"
+       echo
+}

diff --git a/lxde-base/lxdm/metadata.xml b/lxde-base/lxdm/metadata.xml
new file mode 100644
index 0000000..f6cd3ce
--- /dev/null
+++ b/lxde-base/lxdm/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo LXDE Project</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Brian Evans</name>
+       </maintainer>
+       <use>
+               <flag name="consolekit">Enables support for authorization using 
consolekit</flag>
+               <flag name="gtk3">Use GTK+3 instead of 2</flag>
+       </use>
+       <upstream>
+               <remote-id type="sourceforge">lxde</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to