summaryrefslogtreecommitdiffstats
path: root/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-gnome/recipes-gnome/gdm/gdm_50.0.bb')
-rw-r--r--meta-gnome/recipes-gnome/gdm/gdm_50.0.bb84
1 files changed, 84 insertions, 0 deletions
diff --git a/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb b/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb
new file mode 100644
index 0000000000..858933a4b3
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb
@@ -0,0 +1,84 @@
1SUMMARY = "GNOME Display Manager"
2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
4
5DEPENDS = " \
6 accountsservice \
7 audit \
8 dconf \
9 dconf-native \
10 gtk4 \
11 json-glib \
12 keyutils \
13 libcanberra \
14 libgudev \
15 libpam \
16"
17
18REQUIRED_DISTRO_FEATURES = "systemd pam polkit gobject-introspection-data"
19GIR_MESON_OPTION = ""
20
21
22inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check
23
24SRC_URI[archive.sha256sum] = "646f53d68f2d2d147146ffaeb85047ded8b813dcb1c104d8f0ec36ca609eb5bf"
25
26PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
27PACKAGECONFIG[plymouth] = "-Dplymouth=enabled,-Dplymouth=disabled,plymouth"
28PACKAGECONFIG[x11] = "-Dx11-support=true,-Dx11-support=false,xau"
29
30EXTRA_OEMESON = " \
31 -Ddefault-pam-config=openembedded \
32 -Dpam-mod-dir=${base_libdir}/security \
33 --cross-file=${WORKDIR}/meson-${PN}.cross \
34"
35
36do_write_config:append() {
37 cat >${WORKDIR}/meson-${PN}.cross <<EOF
38[binaries]
39nologin = '${sbindir}/nologin'
40EOF
41}
42
43do_install:prepend() {
44 sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.c
45 sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.h
46 sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.c
47 sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.h
48}
49
50do_install:append() {
51 rm -rf ${D}/run ${D}${localstatedir}/run
52 echo "auth optional pam_gnome_keyring.so" >> ${D}${sysconfdir}/pam.d/gdm-password
53 echo "session optional pam_gnome_keyring.so auto_start" >> ${D}${sysconfdir}/pam.d/gdm-password
54 install -d ${D}${sysconfdir}/tmpfiles.d
55 echo "d ${localstatedir}/lib/gdm 700 gdm gdm - -" > ${D}${sysconfdir}/tmpfiles.d/gdm.conf
56}
57
58USERADD_PACKAGES = "${PN}"
59USERADD_PARAM:${PN} = "--system --groups video --home ${localstatedir}/lib/gdm gdm"
60
61SYSTEMD_SERVICE:${PN} = "${BPN}.service"
62
63# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm
64# components. To allow gnome-images using different display-manager, split them
65# out into a seperate package.
66PACKAGE_BEFORE_PN = "${PN}-base"
67FILES:${PN}-base = " \
68 ${datadir}/glib-2.0 \
69 ${datadir}/gnome-session \
70 ${libdir}/lib*${SOLIBS} \
71 ${libdir}/girepository-1.0 \
72"
73
74CONFFILES:${PN} += "${sysconfdir}/gdm/custom.conf"
75FILES:${PN} += " \
76 ${datadir}/dconf \
77 ${base_libdir}/security/pam_gdm.so \
78 ${systemd_unitdir} ${systemd_user_unitdir} \
79"
80
81RDEPENDS:${PN} += "${PN}-base"
82# gdm relies on dbus-run-session provided by dbus
83RCONFLICTS:${PN} += "dbus-broker"
84RDEPENDS:${PN} += "dbus"