91a5555c7a3b1dcd50e78f09c816e8b1a3201e64
[openembedded.git] / recipes / gnome / gdm_2.28.1.bb
1 DESCRIPTION = "Graphical login manager"
2 LICENSE = "GPL"
3
4 DEPENDS = "tcp-wrappers libcanberra libxklavier grep consolekit libpam gnome-doc-utils gtk+ libglade libgnomecanvas librsvg libxml2 libart-lgpl xrdb"
5
6 inherit gnome update-rc.d
7
8 RDEPENDS_${PN} += "grep"
9
10 SRC_URI += " \
11             file://cross-xdetection.diff;patch=1 \
12             file://%gconf-tree.xml \
13             file://gdm \
14             file://gdm.conf \
15             file://gdm-pam \
16             file://other \
17            "
18
19 EXTRA_OECONF = " --enable-authentication-scheme=shadow \
20                  --enable-debug=yes \
21                  --with-console-kit \
22                  --disable-scrollkeeper "
23
24 do_install_prepend() {
25         mkdir -p ${D}/var/lib/gdm/.gconf.mandatory
26         cp ${WORKDIR}/%gconf-tree.xml ${D}/var/lib/gdm/.gconf.mandatory/
27 }
28
29 do_install_append() {
30         install -d ${D}/${sysconfdir}/init.d
31         install -m 0755 ${WORKDIR}/gdm ${D}/${sysconfdir}/init.d/
32
33         install -d ${D}/${sysconfdir}/gdm
34         install -m 0644 ${WORKDIR}/gdm.conf ${D}/${sysconfdir}/gdm/
35
36         install -d ${D}/${sysconfdir}/pam.d
37         install -m 0755 ${WORKDIR}/gdm-pam       ${D}/${sysconfdir}/pam.d/gdm
38         install -m 0755 ${WORKDIR}/other         ${D}/${sysconfdir}/pam.d/
39 }
40
41 FILES_${PN} += "${datadir}/icon* \
42                 ${datadir}/xsession* \
43                "
44
45 CONFFILES_${PN} += "${sysconfdir}/gdm/gdm.conf ${sysconfdir}/init.d/gdm"
46
47 INITSCRIPT_NAME = "gdm"
48 INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
49
50 pkg_postinst_${PN} () {
51     # can't do this offline
52     if [ "x$D" != "x" ]; then
53         exit 1
54     fi
55     grep "^gdm:" /etc/group > /dev/null || addgroup gdm
56     grep "^gdm:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/lib/gdm gdm --ingroup gdm -g gdm
57
58 if [ -d /var/lib/gdm ]; then
59   chown -R gdm:gdm /var/lib/gdm
60   chmod 0750 /var/lib/gdm
61 fi
62
63 # Register up as default dm
64 mkdir -p ${sysconfdir}/X11/
65 echo "${bindir}/gdm" > ${sysconfdir}/X11/default-display-manager
66
67 }
68
69 pkg_postrm_${PN} () {
70     deluser gdm || true
71     delgroup gdm || true
72         sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
73 }
74
75
76
77