blob: 259c609fd340507ae83f6f32051cd3f489052f4f [file] [log] [blame]
SUMMARY = "Graphical login manager"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolekit libpam gnome-doc-utils gtk+ xrdb"
PR = "r18"
inherit gnome update-rc.d systemd useradd
SRC_URI += " \
file://cross-xdetection.diff \
file://0001-Remove-user-switch-applet.patch \
file://0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch \
file://sysrooted-pkg-config.patch \
file://%gconf-tree.xml \
file://gdm \
file://gdm.conf \
file://gdm-pam \
file://Default \
file://gdm.service.in \
"
SRC_URI[archive.md5sum] = "dbe5187a2e17881cc454e313e0ae8d1e"
SRC_URI[archive.sha256sum] = "034d23af0ea18d86e5543e707212d9297ec7d83f221808968af266dbebc0e703"
GNOME_COMPRESS_TYPE="bz2"
EXTRA_OECONF = " \
--enable-authentication-scheme=shadow \
--enable-debug=yes \
--with-console-kit \
--disable-scrollkeeper \
"
do_configure_prepend() {
sed -i -e "s:\bdocs::g" ${S}/Makefile.am
}
do_install_prepend() {
install -d ${D}/${localstatedir}/lib/gdm/.gconf.mandatory
install ${WORKDIR}/%gconf-tree.xml ${D}/${localstatedir}/lib/gdm/.gconf.mandatory/
}
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/gdm ${D}/${sysconfdir}/init.d/
install -d ${D}/${sysconfdir}/gdm
install -m 0644 ${WORKDIR}/gdm.conf ${D}/${sysconfdir}/gdm/
install -d ${D}/${sysconfdir}/pam.d
install -m 0755 ${WORKDIR}/gdm-pam ${D}/${sysconfdir}/pam.d/gdm
rm -f ${D}/${sysconfdir}/pam.d/gdm-autologin
install -d ${D}/${sysconfdir}/gdm/Init
install -m 0755 ${WORKDIR}/Default ${D}/${sysconfdir}/gdm/Init
install -d ${D}${systemd_unitdir}/system
sed -e 's,%sbindir%,${sbindir},g' \
< ${WORKDIR}/gdm.service.in \
> ${D}${systemd_unitdir}/system/gdm.service
chown -R gdm:gdm ${D}${localstatedir}/lib/gdm
chmod 0750 ${D}${localstatedir}/lib/gdm
rm -rf "${D}${localstatedir}/run"
rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
rm -f ${D}${datadir}/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop
rm -f ${D}${datadir}/gdm/autostart/LoginWindow/orca-screen-reader.desktop
rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gnome-mag.desktop
rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gok.desktop
rm -f ${D}${datadir}/gdm/autostart/LoginWindow/metacity.desktop
}
FILES_${PN} += "${datadir}/icon* \
${datadir}/xsession* \
"
RDEPENDS_${PN} += "grep dbus-x11 shadow"
# "libpam-base-files"
CONFFILES_${PN} += "${sysconfdir}/gdm/gdm.conf ${sysconfdir}/init.d/gdm"
RRECOMMENDS_${PN} += "openssh-misc desktop-file-utils glib-2.0-utils metacity gnome-session polkit-gnome consolekit"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "gdm.service"
INITSCRIPT_NAME = "gdm"
INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ."
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
pkg_postinst_${PN} () {
# Register up as default dm
mkdir -p $D${sysconfdir}/X11/
echo "${bindir}/gdm" > $D${sysconfdir}/X11/default-display-manager
}
pkg_postrm_${PN} () {
deluser gdm || true
delgroup gdm || true
sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
}