blob: 259c609fd340507ae83f6f32051cd3f489052f4f [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Graphical login manager"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
4
5DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolekit libpam gnome-doc-utils gtk+ xrdb"
6
7PR = "r18"
8
9inherit gnome update-rc.d systemd useradd
10
11SRC_URI += " \
12 file://cross-xdetection.diff \
13 file://0001-Remove-user-switch-applet.patch \
14 file://0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch \
15 file://sysrooted-pkg-config.patch \
16 file://%gconf-tree.xml \
17 file://gdm \
18 file://gdm.conf \
19 file://gdm-pam \
20 file://Default \
21 file://gdm.service.in \
22"
23
24SRC_URI[archive.md5sum] = "dbe5187a2e17881cc454e313e0ae8d1e"
25SRC_URI[archive.sha256sum] = "034d23af0ea18d86e5543e707212d9297ec7d83f221808968af266dbebc0e703"
26GNOME_COMPRESS_TYPE="bz2"
27
28EXTRA_OECONF = " \
29 --enable-authentication-scheme=shadow \
30 --enable-debug=yes \
31 --with-console-kit \
32 --disable-scrollkeeper \
33"
34
35do_configure_prepend() {
36 sed -i -e "s:\bdocs::g" ${S}/Makefile.am
37}
38
39do_install_prepend() {
40 install -d ${D}/${localstatedir}/lib/gdm/.gconf.mandatory
41 install ${WORKDIR}/%gconf-tree.xml ${D}/${localstatedir}/lib/gdm/.gconf.mandatory/
42}
43
44do_install_append() {
45 install -d ${D}/${sysconfdir}/init.d
46 install -m 0755 ${WORKDIR}/gdm ${D}/${sysconfdir}/init.d/
47
48 install -d ${D}/${sysconfdir}/gdm
49 install -m 0644 ${WORKDIR}/gdm.conf ${D}/${sysconfdir}/gdm/
50
51 install -d ${D}/${sysconfdir}/pam.d
52 install -m 0755 ${WORKDIR}/gdm-pam ${D}/${sysconfdir}/pam.d/gdm
53 rm -f ${D}/${sysconfdir}/pam.d/gdm-autologin
54
55 install -d ${D}/${sysconfdir}/gdm/Init
56 install -m 0755 ${WORKDIR}/Default ${D}/${sysconfdir}/gdm/Init
57
58 install -d ${D}${systemd_unitdir}/system
59 sed -e 's,%sbindir%,${sbindir},g' \
60 < ${WORKDIR}/gdm.service.in \
61 > ${D}${systemd_unitdir}/system/gdm.service
62
63 chown -R gdm:gdm ${D}${localstatedir}/lib/gdm
64 chmod 0750 ${D}${localstatedir}/lib/gdm
65
66 rm -rf "${D}${localstatedir}/run"
67 rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
68
69 rm -f ${D}${datadir}/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop
70 rm -f ${D}${datadir}/gdm/autostart/LoginWindow/orca-screen-reader.desktop
71 rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gnome-mag.desktop
72 rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gok.desktop
73 rm -f ${D}${datadir}/gdm/autostart/LoginWindow/metacity.desktop
74}
75
76FILES_${PN} += "${datadir}/icon* \
77 ${datadir}/xsession* \
78"
79
80RDEPENDS_${PN} += "grep dbus-x11 shadow"
81# "libpam-base-files"
82CONFFILES_${PN} += "${sysconfdir}/gdm/gdm.conf ${sysconfdir}/init.d/gdm"
83RRECOMMENDS_${PN} += "openssh-misc desktop-file-utils glib-2.0-utils metacity gnome-session polkit-gnome consolekit"
84
85RREPLACES_${PN} += "${PN}-systemd"
86RCONFLICTS_${PN} += "${PN}-systemd"
87SYSTEMD_SERVICE_${PN} = "gdm.service"
88
89INITSCRIPT_NAME = "gdm"
90INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ."
91
92USERADD_PACKAGES = "${PN}"
93USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
94
95pkg_postinst_${PN} () {
96# Register up as default dm
97mkdir -p $D${sysconfdir}/X11/
98echo "${bindir}/gdm" > $D${sysconfdir}/X11/default-display-manager
99}
100
101pkg_postrm_${PN} () {
102 deluser gdm || true
103 delgroup gdm || true
104 sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
105}