Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=xfcetesting.git;a=commitdiff;h=b77b8d7ee8f0f8b847ef697d343137143c0d043a

commit b77b8d7ee8f0f8b847ef697d343137143c0d043a
Author: Baste <[email protected]>
Date:   Thu Oct 18 15:02:54 2012 +0200

gdm-3.6.1-2-x86_64
* Fix pam
* Enable gdm.service

diff --git a/source/gnome/gdm/FrugalBuild b/source/gnome/gdm/FrugalBuild
index 3daa15d..f71ba81 100644
--- a/source/gnome/gdm/FrugalBuild
+++ b/source/gnome/gdm/FrugalBuild
@@ -4,29 +4,28 @@

pkgname=gdm
pkgver=3.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="GNOME Display Manager"
url="http://www.gnome.org/";
backup=(etc/gdm/custom.conf etc/pam.d/gdm etc/pam.d/gdm-autologin \
-       etc/pam.d/gdm-welcome etc/pam.d/gdm-password)
+       etc/pam.d/gdm-welcome etc/pam.d/gdm-password 
etc/pam.d/gdm-launch-environment)
depends=('dbus-glib' 'accountsservice' 'nss' 'xorg-server' 'libxrandr' 'gtk+3' \
'libcanberra-gtk' 'pam' 'upower' 'libxklavier' 'polkit-gnome' 'gnome-session' 
'systemd')
makedepends=('intltool' 'gnome-doc-utils' 'gobject-introspection' 'dconf' 
'gnome-settings-daemon' 'itstool')
groups=('gnome' 'gnome-minimal')
archs=('i686' 'x86_64')
+#nofakeroot for recreate glib schema (use dbus...)
+#will see for don't use nofakeroot
+options=('nofakeroot' 'scriptlet' 'force')
_F_gnome_git="n"
_F_gnome_ext=".tar.xz"
Finclude gnome
-#source=($source org.gnome.login-screen.gschema.override gdmshell.patch)
source=($source org.gnome.login-screen.gschema.override)
sha1sums=('06d4732adce9a96db9213ba5252f57939da84a9b' \
'974832a3878a020c87a833f5ba99a0c7d5d27b57')
if [ "$_F_gnome_git" != "n" ]; then
unset sha1sums
fi
-#nofakeroot for recreate glib schema (use dbus...)
-#will see for don't use nofakeroot
-options=('nofakeroot' 'scriptlet' 'force')

conflicts=('fast-user-switch-applet')
provides=('fast-user-switch-applet' 'gdm-themes' 'somatic-gdm-themes' 
'arc-colors-gdm-themes')
@@ -45,22 +44,73 @@ build() {
--with-lang-file=/etc/locale.conf \
--enable-more-warnings \
--enable-debug \
-               --with-default-pam-config=exherbo \
--without-console-kit \
--with-initial-vt=12
-x#             --disable-scrollkeeper \
-#              --with-console-kit

Fmakeinstall
-
chmod a+r $Fdestdir/var/lib/gdm || Fdie
#chown root:root $Fdestdir/var/lib/gdm || Fdie
#Fmkdir var/spool/gdm
chmod 1770 $Fdestdir/var/log/gdm || Fdie
-# add logo to shell greeter
-Fcp ../org.gnome.login-screen.gschema.override usr/share/glib-2.0/schemas/
-# gets rebuilt in posttrans
-Frm etc/dconf/db/gdm
+       # add logo to shell greeter
+       Fcp ../org.gnome.login-screen.gschema.override 
usr/share/glib-2.0/schemas/
+       # gets rebuilt in posttrans
+       Frm etc/dconf/db/gdm
+       #delete PAM default rules
+       Frm etc/pam.d/*
+
+cat > $Fdestdir/etc/pam.d/gdm-autologin << "EOF"
+#%PAM-1.0
+auth           requisite       pam_nologin.so
+auth           required        pam_env.so
+auth           required        pam_permit.so
+account                required        pam_unix.so
+password       required        pam_unix.so
+session                required        pam_limits.so
+session                required        pam_unix.so
+session         required        pam_systemd.so
+EOF
+
+cat > $Fdestdir/etc/pam.d/gdm-launch-environment << "EOF"
+#%PAM-1.0
+auth            required        pam_env.so
+auth            required        pam_permit.so
+
+account         required        pam_nologin.so
+account         required        pam_unix.so
+
+password        required        pam_deny.so
+
+session         required        pam_loginuid.so
+-session        optional        pam_systemd.so
+session         optional        pam_keyinit.so force revoke
+EOF
+
+cat > $Fdestdir/etc/pam.d/gdm-password << "EOF"
+#%PAM-1.0
+auth            requisite       pam_nologin.so
+auth            required        pam_env.so
+
+auth            requisite       pam_unix.so nullok
+auth            optional        pam_gnome_keyring.so
+
+auth            sufficient      pam_succeed_if.so uid >= 1000 quiet
+auth            required        pam_deny.so
+
+account         required        pam_access.so
+account         required        pam_time.so
+account         required        pam_unix.so
+
+password        required        pam_unix.so
+
+session         required        pam_loginuid.so
+-session        optional        pam_systemd.so
+session         optional        pam_keyinit.so force revoke
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_gnome_keyring.so auto_start
+EOF
+
}

# optimization OK
diff --git a/source/gnome/gdm/gdm.install b/source/gnome/gdm/gdm.install
index 7bb3dfb..4d9f60b 100644
--- a/source/gnome/gdm/gdm.install
+++ b/source/gnome/gdm/gdm.install
@@ -1,3 +1,5 @@
+systemd_units=(gdm=e)
+
UpdateIconCache()
{
if [ -f /usr/bin/gtk-update-icon-cache ]
@@ -19,8 +21,12 @@ UpdateIconCache()
fi
fi
}
+
post_install()
{
+       local unit
+       local op
+
/usr/sbin/useradd -M -u 42 -d /var/lib/gdm -s /sbin/nologin -r gdm > /dev/null 
2>&1
/usr/sbin/usermod -d /var/lib/gdm -s /sbin/nologin gdm >/dev/null 2>&1
# ignore errors, as we can't disambiguate between gdm already existe
@@ -34,6 +40,18 @@ post_install()
UpdateIconCache
glib-compile-schemas /usr/share/glib-2.0/schemas
dconf update
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               op=$(echo $i | cut -f 2 -d '=')
+               if echo $op | grep -q 'e'; then
+                       systemctl enable $unit.service >/dev/null 2>&1
+               fi
+               if echo $op | grep -q 's'; then
+                       systemctl start $unit.service >/dev/null 2>&1
+               fi
+       done
+
}

post_upgrade()
@@ -41,6 +59,18 @@ post_upgrade()
post_install
}

+
+pre_remove()
+{
+       local unit
+
+       for i in ${systemd_units[@]}; do
+               unit=$(echo $i | cut -f 1 -d '=')
+               systemctl --no-reload disable $unit.service >/dev/null 2>&1
+               systemctl stop $unit.service >/dev/null 2>&1
+       done
+}
+
post_remove()
{
echo -n "updating scrollkeeper catalogue... "
@@ -48,6 +78,8 @@ post_remove()
echo "done."
dconf update
UpdateIconCache
+       systemctl daemon-reload >/dev/null 2>&1
+
}

op=$1
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to