summaryrefslogtreecommitdiff
path: root/extra/gdm
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-01 02:03:26 -0700
committerroot <root@rshg054.dnsready.net>2013-08-01 02:03:26 -0700
commit3391ef078ab86d3160b5e2fb3cfb794b75ce2a76 (patch)
tree3dece49302a2f07d08d6cf95ebebf467d61ff70a /extra/gdm
parentb73aa81c21acc75e383d0e73e0fbf553d2b68232 (diff)
Thu Aug 1 02:01:53 PDT 2013
Diffstat (limited to 'extra/gdm')
-rw-r--r--extra/gdm/PKGBUILD25
-rw-r--r--extra/gdm/arch-pam.patch179
-rw-r--r--extra/gdm/gdm.install1
3 files changed, 194 insertions, 11 deletions
diff --git a/extra/gdm/PKGBUILD b/extra/gdm/PKGBUILD
index 013edad6b..aae217eaa 100644
--- a/extra/gdm/PKGBUILD
+++ b/extra/gdm/PKGBUILD
@@ -1,28 +1,32 @@
-# $Id: PKGBUILD 190845 2013-07-18 20:08:14Z jgc $
+# $Id: PKGBUILD 191808 2013-07-30 23:19:36Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gdm
pkgname=(gdm libgdm)
-pkgver=3.8.3.1
+pkgver=3.8.4
pkgrel=1
pkgdesc="Gnome Display Manager"
arch=(i686 x86_64)
license=(GPL)
url="http://www.gnome.org"
options=('!libtool')
-depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server)
-makedepends=(itstool intltool gnome-doc-utils gobject-introspection)
+depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost)
+makedepends=(itstool intltool yelp-tools gobject-introspection)
checkdepends=('check')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver::3}/$pkgbase-$pkgver.tar.xz
- fix_external_program_directories.patch)
-sha256sums=('a8c8a32803e32c5d087c75c6be8160cfe4d15843953f07b599d653bac471320e'
- 'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2')
+ fix_external_program_directories.patch arch-pam.patch)
+sha256sums=('db40fb66bf476721b6d333abe0bfed7feacdca7d492f971c86a3f1e5cccdb447'
+ 'a878680734e35c1d66252cbcfe678c3961b5ff0fa16302f8796a5e7e65ffe4a2'
+ 'b5c225784c3107564cb9685e41dfecdb20b8ea2415905c4119c96748c4e68003')
prepare() {
cd $pkgbase-$pkgver
- patch -Np1 -i "$srcdir/fix_external_program_directories.patch"
+ patch -Np1 -i ../fix_external_program_directories.patch
+ patch -Np1 -i ../arch-pam.patch
+ AUTOPOINT='intltoolize --automake -c' autoreconf -fi
}
+
build() {
cd $pkgbase-$pkgver
./configure \
@@ -39,7 +43,7 @@ build() {
--without-tcp-wrappers \
--without-console-kit \
--with-systemd \
- --with-default-pam-config=exherbo
+ --with-default-pam-config=arch
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
@@ -64,8 +68,7 @@ package_gdm() {
cd $pkgbase-$pkgver
make DESTDIR="$pkgdir" install
- chmod 1770 "$pkgdir/var/log/gdm"
- chmod 700 "$pkgdir/var/lib/gdm/.config/dconf"
+ chmod 711 "$pkgdir/var/log/gdm"
rm -r "$pkgdir/var/run" "$pkgdir/var/gdm"
### Split libgdm
diff --git a/extra/gdm/arch-pam.patch b/extra/gdm/arch-pam.patch
new file mode 100644
index 000000000..1faa2b90b
--- /dev/null
+++ b/extra/gdm/arch-pam.patch
@@ -0,0 +1,179 @@
+diff --git c/configure.ac i/configure.ac
+index bda20c6..e118101 100644
+--- c/configure.ac
++++ i/configure.ac
+@@ -185,12 +185,13 @@ if test x$enable_split_authentication = xyes; then
+ fi
+
+ AC_ARG_WITH(default-pam-config,
+- AS_HELP_STRING([--with-default-pam-config: One of redhat, openembedded, exherbo, lfs, none @<:@default=auto@:>@]))
++ AS_HELP_STRING([--with-default-pam-config: One of redhat, openembedded, exherbo, lfs, arch, none @<:@default=auto@:>@]))
+ dnl If not given, try autodetecting from release files (see NetworkManager source)
+ if test x$with_default_pam_config = x; then
+ AC_CHECK_FILE(/etc/redhat-release,with_default_pam_config="redhat")
+ AC_CHECK_FILE(/etc/fedora-release,with_default_pam_config="redhat")
+ AC_CHECK_FILE(/etc/exherbo-release,with_default_pam_config="exherbo")
++ AC_CHECK_FILE(/etc/arch-release,with_default_pam_config="arch")
+ AC_CHECK_FILE(/etc/lfs-release,with_default_pam_config="lfs")
+ dnl If not autodetected, default to none
+ if test x$with_default_pam_config = x; then
+@@ -198,7 +199,7 @@ if test x$with_default_pam_config = x; then
+ fi
+ fi
+ case x$with_default_pam_config in
+- xredhat|xopenembedded|xexherbo|xlfs|xnone) ;;
++ xredhat|xopenembedded|xexherbo|xlfs|xarch|xnone) ;;
+ *)
+ AC_MSG_ERROR([Invalid --with-default-pam-config ${with_default_pam_config}])
+ exit 1
+@@ -208,6 +209,7 @@ AM_CONDITIONAL(ENABLE_REDHAT_PAM_CONFIG, test x$with_default_pam_config = xredha
+ AM_CONDITIONAL(ENABLE_OPENEMBEDDED_PAM_CONFIG, test x$with_default_pam_config = xopenembedded)
+ AM_CONDITIONAL(ENABLE_EXHERBO_PAM_CONFIG, test x$with_default_pam_config = xexherbo)
+ AM_CONDITIONAL(ENABLE_LFS_PAM_CONFIG, test x$with_default_pam_config = xlfs)
++AM_CONDITIONAL(ENABLE_ARCH_PAM_CONFIG, test x$with_default_pam_config = xarch)
+
+ AC_ARG_ENABLE(console-helper,
+ AS_HELP_STRING([--enable-console-helper],
+diff --git c/data/Makefile.am i/data/Makefile.am
+index 81eb8ef..6a67433 100644
+--- c/data/Makefile.am
++++ i/data/Makefile.am
+@@ -129,6 +129,15 @@ pam_lfs_files = pam-lfs/gdm.pam \
+ $(NULL)
+ EXTRA_DIST += $(pam_lfs_files)
+
++pam_arch_files = pam-arch/gdm-autologin.pam \
++ pam-arch/gdm-launch-environment.pam \
++ pam-arch/gdm-fingerprint.pam \
++ pam-arch/gdm-smartcard.pam \
++ pam-arch/gdm-password.pam \
++ pam-arch/gdm-pin.pam \
++ $(NULL)
++EXTRA_DIST += $(pam_arch_files)
++
+ if ENABLE_REDHAT_PAM_CONFIG
+ pam_files = $(pam_redhat_files)
+ endif
+@@ -141,6 +150,9 @@ endif
+ if ENABLE_LFS_PAM_CONFIG
+ pam_files = $(pam_lfs_files)
+ endif
++if ENABLE_ARCH_PAM_CONFIG
++pam_files = $(pam_arch_files)
++endif
+
+ EXTRA_DIST += \
+ $(schemas_in_files) \
+diff --git c/data/pam-arch/gdm-autologin.pam i/data/pam-arch/gdm-autologin.pam
+new file mode 100644
+index 0000000..de615ef
+--- /dev/null
++++ i/data/pam-arch/gdm-autologin.pam
+@@ -0,0 +1,13 @@
++auth required pam_tally.so onerr=succeed file=/var/log/faillog
++auth required pam_shells.so
++auth requisite pam_nologin.so
++auth required pam_env.so
++auth optional pam_permit.so
++auth optional pam_gnome_keyring.so
++
++account include system-local-login
++
++password include system-local-login
++
++session include system-local-login
++session optional pam_gnome_keyring.so auto_start
+diff --git c/data/pam-arch/gdm-fingerprint.pam i/data/pam-arch/gdm-fingerprint.pam
+new file mode 100644
+index 0000000..f296ae0
+--- /dev/null
++++ i/data/pam-arch/gdm-fingerprint.pam
+@@ -0,0 +1,15 @@
++auth required pam_tally.so onerr=succeed file=/var/log/faillog
++auth required pam_shells.so
++auth requisite pam_nologin.so
++auth required pam_env.so
++auth required pam_fprintd.so
++auth optional pam_permit.so
++auth optional pam_gnome_keyring.so
++
++account include system-local-login
++
++password required pam_fprintd.so
++password optional pam_permit.so
++
++session include system-local-login
++session optional pam_gnome_keyring.so auto_start
+diff --git c/data/pam-arch/gdm-launch-environment.pam i/data/pam-arch/gdm-launch-environment.pam
+new file mode 100644
+index 0000000..6dfbc51
+--- /dev/null
++++ i/data/pam-arch/gdm-launch-environment.pam
+@@ -0,0 +1,13 @@
++auth required pam_succeed_if.so audit quiet_success user = gdm
++auth required pam_env.so
++auth optional pam_permit.so
++
++account required pam_succeed_if.so audit quiet_success user = gdm
++account include system-local-login
++
++password required pam_deny.so
++
++session required pam_succeed_if.so audit quiet_success user = gdm
++session required pam_systemd.so
++session optional pam_keyinit.so force revoke
++session optional pam_permit.so
+diff --git c/data/pam-arch/gdm-password.pam i/data/pam-arch/gdm-password.pam
+new file mode 100644
+index 0000000..7411285
+--- /dev/null
++++ i/data/pam-arch/gdm-password.pam
+@@ -0,0 +1,9 @@
++auth include system-local-login
++auth optional pam_gnome_keyring.so
++
++account include system-local-login
++
++password include system-local-login
++
++session include system-local-login
++session optional pam_gnome_keyring.so auto_start
+diff --git c/data/pam-arch/gdm-pin.pam i/data/pam-arch/gdm-pin.pam
+new file mode 100644
+index 0000000..e024244
+--- /dev/null
++++ i/data/pam-arch/gdm-pin.pam
+@@ -0,0 +1,11 @@
++auth requisite pam_pin.so
++auth include system-local-login
++auth optional pam_gnome_keyring.so
++
++account include system-local-login
++
++password include system-local-login
++password optional pam_pin.so
++
++session include system-local-login
++session optional pam_gnome_keyring.so auto_start
+diff --git c/data/pam-arch/gdm-smartcard.pam i/data/pam-arch/gdm-smartcard.pam
+new file mode 100644
+index 0000000..7c3d736
+--- /dev/null
++++ i/data/pam-arch/gdm-smartcard.pam
+@@ -0,0 +1,15 @@
++auth required pam_tally.so onerr=succeed file=/var/log/faillog
++auth required pam_shells.so
++auth requisite pam_nologin.so
++auth required pam_env.so
++auth required pam_pkcs11.so wait_for_card card_only
++auth optional pam_permit.so
++auth optional pam_gnome_keyring.so
++
++account include system-local-login
++
++password required pam_pkcs11.so
++password optional pam_permit.so
++
++session include system-local-login
++session optional pam_gnome_keyring.so auto_start
+
diff --git a/extra/gdm/gdm.install b/extra/gdm/gdm.install
index c48faf4ae..4f15730f0 100644
--- a/extra/gdm/gdm.install
+++ b/extra/gdm/gdm.install
@@ -5,6 +5,7 @@ post_install() {
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
+ chown root:gdm /var/log/gdm > /dev/null
glib-compile-schemas /usr/share/glib-2.0/schemas
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor