summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhillipe Smith2015-06-09 01:42:25 -0300
committerPhillipe Smith2015-06-09 01:42:25 -0300
commitb8ae430036769475230df4ecccd23abe8fd7aca8 (patch)
treed4acb33f3d14c6d053d146d477a3d86623a3f02d
downloadaur-b8ae430036769475230df4ecccd23abe8fd7aca8.tar.gz
Initial import
-rw-r--r--.SRCINFO51
-rwxr-xr-xPKGBUILD87
-rw-r--r--PostLogout7
-rwxr-xr-xXsession.patch14
-rw-r--r--autogen.sh.patch16
-rw-r--r--configure.ac.patch11
-rw-r--r--greeter.ui.patch13
-rwxr-xr-xlxdm-daemon36
-rw-r--r--lxdm-pam8
-rw-r--r--lxdm.conf.patch11
-rwxr-xr-xlxdm.install27
-rwxr-xr-xlxdm.patch26
-rw-r--r--lxdm_greeter_session.patch13
-rw-r--r--pam-env-vars.patch50
-rw-r--r--service9
-rw-r--r--xconn.patch35
16 files changed, 414 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..1d3d4d255709
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,51 @@
+pkgbase = lxdm-git
+ pkgdesc = Lightweight Display Manager (part of LXDE) - git checkout
+ pkgver = 0.5.1.r1.g6d5b573
+ pkgrel = 1
+ url = http://blog.lxde.org/?p=531
+ install = lxdm.install
+ arch = i686
+ arch = x86_64
+ groups = lxde
+ license = GPL
+ makedepends = intltool
+ makedepends = git
+ depends = cairo
+ depends = dbus-core
+ depends = gdk-pixbuf2
+ depends = glib2
+ depends = gtk2
+ depends = libx11
+ depends = libxcb
+ depends = pango
+ provides = lxdm
+ conflicts = lxdm
+ conflicts = lxdm-svn
+ backup = etc/lxdm/lxdm.conf
+ backup = etc/pam.d/lxdm
+ backup = etc/lxdm/Xsession
+ backup = etc/lxdm/PreLogin
+ backup = etc/lxdm/LoginReady
+ backup = etc/lxdm/PostLogin
+ backup = etc/lxdm/PostLogout
+ backup = etc/lxdm/PreReboot
+ backup = etc/lxdm/PreShutdown
+ source = lxdm::git+http://git.lxde.org/git/lxde/lxdm.git
+ source = http://dl.dropbox.com/u/4813005/lxdm/lxdm-themes.tar.gz
+ source = Xsession.patch
+ source = lxdm.patch
+ source = lxdm.conf.patch
+ source = xconn.patch
+ source = lxdm-pam
+ source = PostLogout
+ md5sums = SKIP
+ md5sums = 1cc5163253149952329671db34ce7907
+ md5sums = 9bdf95adb74d81d4b6b6176fb1142090
+ md5sums = baed9055e8825a5511712bc095197519
+ md5sums = e0653feadbcf9c8fcea1600008b32850
+ md5sums = a3bdde937a4ec72416f23bd7e644b620
+ md5sums = 2897b4f8bf09bdfa060e1be52868873f
+ md5sums = 5d585acc332056b8d5be3a15d2f20d84
+
+pkgname = lxdm-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..26dd6e97e7b9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,87 @@
+# Maintainer: Phillipe Smith <phillipe@archlinux.com.br>
+# Contributor: Christian Hesse <mail@eworm.de>
+
+pkgname=lxdm-git
+_gitname=lxdm
+pkgver=0.5.1.r1.g6d5b573
+pkgrel=1
+pkgdesc='Lightweight Display Manager (part of LXDE) - git checkout'
+arch=('i686' 'x86_64')
+url="http://blog.lxde.org/?p=531"
+license=('GPL')
+groups=('lxde')
+provides=('lxdm')
+conflicts=('lxdm' 'lxdm-svn')
+install=lxdm.install
+backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession'
+ 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin'
+ 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown')
+depends=('cairo' 'dbus-core' 'gdk-pixbuf2' 'glib2' 'gtk2' 'libx11' 'libxcb' 'pango')
+makedepends=('intltool' 'git')
+source=('lxdm::git+http://git.lxde.org/git/lxde/lxdm.git'
+ 'http://dl.dropbox.com/u/4813005/lxdm/lxdm-themes.tar.gz'
+ 'Xsession.patch' 'lxdm.patch' 'lxdm.conf.patch' 'xconn.patch'
+ 'lxdm-pam' 'PostLogout')
+md5sums=('SKIP'
+ '1cc5163253149952329671db34ce7907'
+ '9bdf95adb74d81d4b6b6176fb1142090'
+ 'baed9055e8825a5511712bc095197519'
+ 'e0653feadbcf9c8fcea1600008b32850'
+ 'a3bdde937a4ec72416f23bd7e644b620'
+ '2897b4f8bf09bdfa060e1be52868873f'
+ '5d585acc332056b8d5be3a15d2f20d84')
+
+pkgver() {
+ cd $_gitname
+
+ if GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)"; then
+ echo "$(sed -e "s/^${pkgname%%-git}//" -e 's/^[-_/a-zA-Z]\+//' -e 's/[_-]\+/./g' <<< ${GITTAG}).r$(git rev-list --count ${GITTAG}..).g$(git log -1 --format="%h")"
+ else
+ echo "0.r$(git rev-list --count master).g$(git log -1 --format="%h")"
+ fi
+}
+
+build() {
+ cd $_gitname
+
+ ./autogen.sh
+
+ sed -i '/es_VE/d;/frp/d' po/LINGUAS # Fix language compile errors
+
+ ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/bin --sysconfdir=/etc --libexecdir=/usr/lib/lxdm --localstatedir=/var --with-pam
+ make
+
+ sed -i 's/getty@tty1/getty@tty7/g' systemd/lxdm.service
+ sed -i 's/sbin/bin/' systemd/lxdm.service
+ sed -i 's/sbin/bin/' data/lxdm
+
+ patch -Np0 < ${srcdir}/lxdm.patch
+ patch -Np0 < ${srcdir}/lxdm.conf.patch
+ patch -Np0 < ${srcdir}/Xsession.patch
+ patch -Np1 < ${srcdir}/xconn.patch
+}
+
+package() {
+ cd $_gitname
+
+ make DESTDIR=${pkgdir} sbindir=/usr/bin install
+ chmod 644 "$pkgdir/etc/lxdm/lxdm.conf"
+ install -m644 ${srcdir}/lxdm-pam ${pkgdir}/etc/pam.d/lxdm
+ install -m755 ${srcdir}/PostLogout ${pkgdir}/etc/lxdm/PostLogout
+
+ # Home directory
+ install -d ${pkgdir}/var/{lib,run}/lxdm
+ chown -R 121:121 "$pkgdir/var/lib/lxdm"
+ echo 'GDK_CORE_DEVICE_EVENTS=true' > "$pkgdir"/var/lib/lxdm/.pam_environment
+
+ # Custom themes
+ cp -r ${srcdir}/lxdm-themes/* ${pkgdir}/usr/share/lxdm/themes
+
+ # GNOME Shell extension
+ mkdir -p "$pkgdir/usr/share/gnome-shell/extensions"
+ cp -r gnome-shell/LXDM_User_Switch@dgod "$pkgdir/usr/share/gnome-shell/extensions"
+
+ # avoid conflict with filesystem>=2012.06
+ rm -r ${pkgdir}/var/run
+}
+
diff --git a/PostLogout b/PostLogout
new file mode 100644
index 000000000000..3a766dfc7df7
--- /dev/null
+++ b/PostLogout
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Kills all your processes when you log out.
+ps --user $USER | awk 'NR > 1 {print $1}' | xargs -t kill
+
+# Sets the desktop background to solid black. Useful if you have multiple monitors.
+xsetroot -solid black
diff --git a/Xsession.patch b/Xsession.patch
new file mode 100755
index 000000000000..a9ba6323383b
--- /dev/null
+++ b/Xsession.patch
@@ -0,0 +1,14 @@
+--- data/Xsession.orig 2010-01-31 20:48:08.695677408 -0200
++++ data/Xsession 2010-01-31 20:47:48.260223292 -0200
+@@ -2,6 +2,11 @@
+
+ # use bash for "exec -l", howto run login shell by /bin/sh ?
+
++[[ -f /etc/profile ]] && . /etc/profile
++[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
++[[ -f /etc/xprofile ]] && . /etc/xprofile
++[[ -f "$HOME/.xprofile" ]] && . "$HOME/.xprofile"
++
+ if [ $# -eq 1 -a -n "$1" ]; then
+ LXSESSION=$1
+ else
diff --git a/autogen.sh.patch b/autogen.sh.patch
new file mode 100644
index 000000000000..d920ce868955
--- /dev/null
+++ b/autogen.sh.patch
@@ -0,0 +1,16 @@
+--- autogen.sh.orig 2012-05-04 01:08:43.333727388 -0300
++++ autogen.sh 2012-05-04 01:29:32.287088285 -0300
+@@ -4,10 +4,10 @@
+ AUTOMAKE=${AUTOMAKE:-automake}
+ AM_INSTALLED_VERSION=$($AUTOMAKE --version | sed -e '2,$ d' -e 's/.* \([0-9]*\.[0-9]*\).*/\1/')
+
+-if [ "$AM_INSTALLED_VERSION" != "1.10" \
+- -a "$AM_INSTALLED_VERSION" != "1.11" ];then
++if [ "$AM_INSTALLED_VERSION" != "1.11" \
++ -a "$AM_INSTALLED_VERSION" != "1.12" ];then
+ echo
+- echo "You must have automake > 1.10 or 1.11 installed to compile gpicview."
++ echo "You must have automake > 1.10 installed to compile lxdm-git."
+ echo "Install the appropriate package for your distribution,"
+ echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
+ exit 1
diff --git a/configure.ac.patch b/configure.ac.patch
new file mode 100644
index 000000000000..4947ead2ff88
--- /dev/null
+++ b/configure.ac.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2013-07-07 02:35:03.696270072 -0300
++++ configure.ac 2013-07-07 02:33:47.886268401 -0300
+@@ -3,7 +3,7 @@
+
+ AC_PREREQ([2.63])
+ AC_INIT([lxdm], [0.4.2], [http://lxde.org/])
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
++AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
+
+ AC_CONFIG_SRCDIR([src/lxdm.c])
+ AC_CONFIG_HEADERS([config.h])
diff --git a/greeter.ui.patch b/greeter.ui.patch
new file mode 100644
index 000000000000..a2a366809876
--- /dev/null
+++ b/greeter.ui.patch
@@ -0,0 +1,13 @@
+--- data/themes/Industrial/greeter.ui.orig 2012-05-09 23:54:03.743980613 -0300
++++ data/themes/Industrial/greeter.ui 2012-05-10 00:26:20.340687396 -0300
+@@ -201,7 +201,9 @@
+ </packing>
+ </child>
+ <child>
+- <object class="GtkComboBoxEntry" id="keyboard"/>
++ <object class="GtkComboBoxEntry" id="keyboard">
++ <property name="text_column">0</property>
++ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
diff --git a/lxdm-daemon b/lxdm-daemon
new file mode 100755
index 000000000000..68eb6225d066
--- /dev/null
+++ b/lxdm-daemon
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID `which lxdm-binary`)
+case "$1" in
+ start)
+ stat_busy "Starting LXDM Display Manager"
+ [ -z "$PID" ] && /usr/sbin/lxdm -d &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lxdm
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LXDM Display Manager"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lxdm
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/lxdm-pam b/lxdm-pam
new file mode 100644
index 000000000000..659c884fb6ad
--- /dev/null
+++ b/lxdm-pam
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth include system-login
+-auth optional pam_gnome_keyring.so
+account include system-login
+password include system-login
+session include system-login
+-session optional pam_gnome_keyring.so auto_start
+-session optional pam_systemd.so
diff --git a/lxdm.conf.patch b/lxdm.conf.patch
new file mode 100644
index 000000000000..f9aee7655087
--- /dev/null
+++ b/lxdm.conf.patch
@@ -0,0 +1,11 @@
+--- data//lxdm.conf.orig 2012-05-10 00:58:14.960732248 -0300
++++ data/lxdm.conf 2012-05-10 00:58:38.024065894 -0300
+@@ -34,7 +34,7 @@
+ gtk_theme=Clearlooks
+
+ ## background of the greeter
+-bg=/usr/share/backgrounds/default.png
++#bg=/usr/share/backgrounds/default.png
+
+ ## if show bottom pane
+ bottom_pane=1
diff --git a/lxdm.install b/lxdm.install
new file mode 100755
index 000000000000..e8b5198f13c1
--- /dev/null
+++ b/lxdm.install
@@ -0,0 +1,27 @@
+pkgname=lxdm-git
+
+post_install() {
+ getent group lxdm > /dev/null 2>&1 && \
+ groupmod -g 121 lxdm > /dev/null 2>&1 || \
+ groupadd -g 121 lxdm
+ getent passwd lxdm > /dev/null 2>&1 && \
+ usermod -c 'Lightweight X11 Display Manager' -u 121 -g 121 -d /var/lib/lxdm -s /sbin/nologin lxdm > /dev/null 2>&1 || \
+ useradd -c 'Lightweight X11 Display Manager' -u 121 -g 121 -d /var/lib/lxdm -s /sbin/nologin lxdm
+ passwd -l lxdm > /dev/null
+
+cat << EOF
+
+ >>> There're two custom themes for lxdm: ArchStripes and ArchDark
+ >>> You can configure them on /etc/lxdm/lxdm.conf in theme=theme_name
+ >>> The LXDM themes are localized in /usr/share/lxdm/themes
+
+EOF
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ getent passwd lxdm > /dev/null 2>&1 && userdel lxdm
+}
diff --git a/lxdm.patch b/lxdm.patch
new file mode 100755
index 000000000000..a703a386d972
--- /dev/null
+++ b/lxdm.patch
@@ -0,0 +1,26 @@
+--- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
++++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
+@@ -1,21 +1,13 @@
+ #!/bin/sh
+
+-[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+-
+-if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
+- . /etc/sysconfig/language
+- if [ -n "$RC_LANG"]; then
+- LANG=$RC_LANG
+- fi
++if [ -r /etc/profile.d/locale.sh ]; then
++ . /etc/profile.d/locale.sh
+ fi
+
+ if [ -n "$LANG" ]; then
+ export LANG
+ fi
+
+-[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
+-[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
+-
+ if [ -n "$DEFAULT_WM" ]; then
+ PREFERRED=$DEFAULT_WM
+ fi
diff --git a/lxdm_greeter_session.patch b/lxdm_greeter_session.patch
new file mode 100644
index 000000000000..f3b94a57a44b
--- /dev/null
+++ b/lxdm_greeter_session.patch
@@ -0,0 +1,13 @@
+diff --git a/src/greeter.c b/src/greeter.c
+index c0c150d..1f6b88e 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -114,7 +114,7 @@ static char *get_session_exec(void)
+ GtkTreeModel* model;
+ GtkTreeIter it;
+ gchar *res;
+- if(!lang)
++ if(!sessions)
+ return g_strdup("");
+
+ if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(sessions), &it))
diff --git a/pam-env-vars.patch b/pam-env-vars.patch
new file mode 100644
index 000000000000..ab8605ff1d67
--- /dev/null
+++ b/pam-env-vars.patch
@@ -0,0 +1,50 @@
+diff --git a/src/lxdm.c b/src/lxdm.c
+index 369aedf..cd1d486 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -935,16 +935,23 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name)
+ g_warning( "pam open session error \"%s\"\n", pam_strerror(s->pamh, err));
+ }
+
+-void append_pam_environ(pam_handle_t *pamh,char **env)
++static char **append_pam_environ(pam_handle_t *pamh,char **env)
+ {
+- int i,j,n;
++ int i,j,n,a;
+ char **penv;
+- if(!pamh) return;
++ if(!pamh) return env;
+ penv=pam_getenvlist(pamh);
+- if(!penv) return;
++ if(!penv) return env;
++ a=g_strv_length(penv);
++ if(a==0)
++ {
++ free(penv);
++ return env;
++ }
++ env=g_renew(char *,env,g_strv_length(env)+1+a+10);
+ for(i=0;penv[i]!=NULL;i++)
+ {
+- //printf("PAM %s\n",penv[i]);
++ fprintf(stderr,"PAM %s\n",penv[i]);
+ n=strcspn(penv[i],"=")+1;
+ for(j=0;env[j]!=NULL;j++)
+ {
+@@ -960,6 +967,7 @@ void append_pam_environ(pam_handle_t *pamh,char **env)
+ free(penv[i]);
+ }
+ free(penv);
++ return env;
+ }
+
+ #endif
+@@ -1540,7 +1548,7 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option)
+ if(s->child==0)
+ {
+ #if HAVE_LIBPAM
+- append_pam_environ(s->pamh,env);
++ env=append_pam_environ(s->pamh,env);
+ pam_end(s->pamh,0);
+ #endif
+ switch_user(pw, session_exec, env);
diff --git a/service b/service
new file mode 100644
index 000000000000..e1840476c165
--- /dev/null
+++ b/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=LXDE Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/lxdm
+
+[Install]
+Alias=display-manager.service
diff --git a/xconn.patch b/xconn.patch
new file mode 100644
index 000000000000..01d45f36f9a4
--- /dev/null
+++ b/xconn.patch
@@ -0,0 +1,35 @@
+diff -aur lxdm/src/xconn.c lxdm.modified/src/xconn.c
+--- lxdm/src/xconn.c 2012-12-23 19:27:04.512531088 -0800
++++ lxdm.modified/src/xconn.c 2012-12-23 19:28:31.659227448 -0800
+@@ -172,7 +172,7 @@
+ free(c);
+ }
+
+-#if 0
++//#if 0
+ static xcb_window_t xconn_get_root(xconn_t c)
+ {
+ const xcb_setup_t *setup;
+@@ -181,11 +181,11 @@
+ xcb_screen_t *screen = iter.data;
+ return screen->root;
+ }
+-#endif
++//#endif
+
+ void xconn_clean(xconn_t c)
+ {
+-#if 0
++//#if 0
+ xcb_query_tree_cookie_t wintree;
+ xcb_query_tree_reply_t *rep;
+ xcb_window_t *children;
+@@ -202,7 +202,7 @@
+ xcb_kill_client(c->c,children[i]);
+ free(rep);
+ xcb_flush(c->c);
+-#endif
++//#endif
+ }
+
+ #endif