diff options
author | root <root@rshg054.dnsready.net> | 2013-08-01 02:03:26 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-08-01 02:03:26 -0700 |
commit | 3391ef078ab86d3160b5e2fb3cfb794b75ce2a76 (patch) | |
tree | 3dece49302a2f07d08d6cf95ebebf467d61ff70a /extra/gdm | |
parent | b73aa81c21acc75e383d0e73e0fbf553d2b68232 (diff) |
Thu Aug 1 02:01:53 PDT 2013
Diffstat (limited to 'extra/gdm')
-rw-r--r-- | extra/gdm/PKGBUILD | 25 | ||||
-rw-r--r-- | extra/gdm/arch-pam.patch | 179 | ||||
-rw-r--r-- | extra/gdm/gdm.install | 1 |
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 |