diff options
Diffstat (limited to 'gnome-unstable/gdm')
-rw-r--r-- | gnome-unstable/gdm/PKGBUILD | 58 | ||||
-rw-r--r-- | gnome-unstable/gdm/fix_external_program_directories.patch | 12 | ||||
-rw-r--r-- | gnome-unstable/gdm/gdm.install | 30 |
3 files changed, 100 insertions, 0 deletions
diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD new file mode 100644 index 000000000..b5f9b5f14 --- /dev/null +++ b/gnome-unstable/gdm/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 167181 2012-09-26 20:17:35Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gdm +pkgver=3.6.0 +pkgrel=1 +pkgdesc="Gnome Display Manager" +arch=(i686 x86_64) +license=(GPL) +url="http://www.gnome.org" +backup=(etc/pam.d/gdm-autologin etc/pam.d/gdm-fingerprint etc/pam.d/gdm-launch-environment + etc/pam.d/gdm-password etc/pam.d/gdm-smartcard etc/gdm/custom.conf) +groups=(gnome) +options=('!libtool') +depends=(libcanberra gnome-session gnome-settings-daemon metacity upower accountsservice systemd + xorg-xrdb nss polkit-gnome) +makedepends=(itstool intltool gnome-doc-utils xorg-server gobject-introspection) +optdepends=('gnome-shell: new login interface' + 'fprintd: fingerprint authentication') +install=gdm.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + fix_external_program_directories.patch) +sha256sums=('ea63736fc8f7234aca442f4e99b3ba9cc29dce5e464ed93f7bf7eb8c49abd60b' + 'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2') + +build() { + cd "$pkgname-$pkgver" + patch -Np1 -i "$srcdir/fix_external_program_directories.patch" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/gdm \ + --localstatedir=/var \ + --disable-static \ + --disable-schemas-compile \ + --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \ + --with-check-accelerated-directory=/usr/lib/gnome-session \ + --with-authentication-agent-directory=/usr/lib/polkit-gnome \ + --without-tcp-wrappers \ + --without-console-kit \ + --with-systemd \ + --with-default-pam-config=exherbo + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make -j1 # race condition building gdm-client.c, does not wait for gdm-client-glue.h +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + chmod 1770 "$pkgdir/var/log/gdm" + chmod 700 "$pkgdir/var/lib/gdm/.config/dconf" + rm -r "$pkgdir/var/run" "$pkgdir/var/gdm" +} diff --git a/gnome-unstable/gdm/fix_external_program_directories.patch b/gnome-unstable/gdm/fix_external_program_directories.patch new file mode 100644 index 000000000..5e51a776f --- /dev/null +++ b/gnome-unstable/gdm/fix_external_program_directories.patch @@ -0,0 +1,12 @@ +diff -Nur gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c +--- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:05.304823391 +0000 ++++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:17.004732251 +0000 +@@ -131,7 +131,7 @@ + ret = FALSE; + + error = NULL; +- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error); ++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error); + if (error != NULL) { + g_warning ("Error starting settings daemon: %s", error->message); + g_error_free (error); diff --git a/gnome-unstable/gdm/gdm.install b/gnome-unstable/gdm/gdm.install new file mode 100644 index 000000000..c48faf4ae --- /dev/null +++ b/gnome-unstable/gdm/gdm.install @@ -0,0 +1,30 @@ +pkgname=gdm + +post_install() { + getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm + getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm + passwd -l gdm > /dev/null + chown -R gdm:gdm /var/lib/gdm > /dev/null + + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + dconf update +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then + gconfpkg --uninstall ${pkgname} + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas + dconf update + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + getent passwd gdm >/dev/null 2>&1 && userdel gdm + getent group gdm >/dev/null 2>&1 && groupdel gdm +} |