diff options
author | Phillipe Smith | 2015-06-09 01:42:25 -0300 |
---|---|---|
committer | Phillipe Smith | 2015-06-09 01:42:25 -0300 |
commit | b8ae430036769475230df4ecccd23abe8fd7aca8 (patch) | |
tree | d4acb33f3d14c6d053d146d477a3d86623a3f02d | |
download | aur-b8ae430036769475230df4ecccd23abe8fd7aca8.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 51 | ||||
-rwxr-xr-x | PKGBUILD | 87 | ||||
-rw-r--r-- | PostLogout | 7 | ||||
-rwxr-xr-x | Xsession.patch | 14 | ||||
-rw-r--r-- | autogen.sh.patch | 16 | ||||
-rw-r--r-- | configure.ac.patch | 11 | ||||
-rw-r--r-- | greeter.ui.patch | 13 | ||||
-rwxr-xr-x | lxdm-daemon | 36 | ||||
-rw-r--r-- | lxdm-pam | 8 | ||||
-rw-r--r-- | lxdm.conf.patch | 11 | ||||
-rwxr-xr-x | lxdm.install | 27 | ||||
-rwxr-xr-x | lxdm.patch | 26 | ||||
-rw-r--r-- | lxdm_greeter_session.patch | 13 | ||||
-rw-r--r-- | pam-env-vars.patch | 50 | ||||
-rw-r--r-- | service | 9 | ||||
-rw-r--r-- | xconn.patch | 35 |
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 |