blob: adf9cb597c5087e18ff5730c2cba7d2018bcec63 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "LXDM is the lightweight display manager"
2HOMEPAGE = "http://blog.lxde.org/?p=531"
Andrew Geissler9aee5002022-03-30 16:27:02 +00003LICENSE = "GPL-3.0-only"
Patrick Williamsb48b7b42016-08-17 15:04:38 -05004LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
Brad Bishop6e60e8b2018-02-01 10:27:11 -05005SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
6 file://lxdm.conf \
7 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \
8 ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \
9 file://0002-let-autotools-create-lxdm.conf.patch \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080010 file://0003-check-for-libexecinfo-providing-backtrace-APIs.patch \
11 file://0004-fix-css-under-gtk-3.20.patch \
Andrew Geisslerac970dd2021-02-12 15:32:45 -060012 file://0001-greeter-set-visible-when-switch-to-input-user.patch \
13 file://0002-greeter-gdk.c-fix-typo.patch \
14 file://0003-check-whether-password-expired-with-pam.patch \
15 file://0004-lxdm.c-add-function-to-change-password-with-pam.patch \
16 file://0005-ui.c-handle-password-expire-and-update-new-password.patch \
17 file://0006-themes-Industrial-add-info-label-in-ui.patch \
18 file://0007-greeter.c-support-to-update-expired-password.patch \
19 file://0008-greeter.c-show-information-on-gtk-label-info.patch \
20 file://0009-greeter.c-disallow-empty-new-password.patch \
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000021 file://0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050022 file://0001-Initialize-msghdr-struct-in-a-portable-way.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050023 "
Patrick Williamsb48b7b42016-08-17 15:04:38 -050024SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
25SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
26
27PE = "1"
28
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080029DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+3 virtual/libx11 libxcb pango iso-codes"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050030DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}"
Patrick Williams213cb262021-08-07 19:21:33 -050031DEPENDS:append:libc-musl = " libexecinfo"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050032
33# combine oe-core way with angstrom DISTRO_TYPE
34DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
35
Brad Bishop8410d612019-11-25 09:40:59 -050036inherit autotools pkgconfig gettext systemd features_check
Patrick Williamsb48b7b42016-08-17 15:04:38 -050037# depends on virtual/libx11
38REQUIRED_DISTRO_FEATURES = "x11"
39
Patrick Williams213cb262021-08-07 19:21:33 -050040CFLAGS:append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
41LDFLAGS:append:libc-musl = " -lexecinfo"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050042
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080043EXTRA_OECONF += "--enable-gtk3=yes --enable-password=yes --with-x -with-xconn=xcb \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050044 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
45 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
46"
47
Patrick Williams213cb262021-08-07 19:21:33 -050048do_configure:prepend() {
Brad Bishopd7bf8c12018-02-25 22:55:05 -050049 cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
Patrick Williamsb48b7b42016-08-17 15:04:38 -050050}
51
Patrick Williams213cb262021-08-07 19:21:33 -050052do_compile:append() {
Patrick Williamsb48b7b42016-08-17 15:04:38 -050053 # default background configured not available / no password field available / no default screensaver
54 sed -i -e 's,bg=,# bg=,g' \
55 -e 's,# skip_password=,skip_password=,g' \
56 -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \
57 ${S}/data/lxdm.conf.in
58 # add default configuration
59 oe_runmake -C ${B}/data lxdm.conf
60}
61
Patrick Williams213cb262021-08-07 19:21:33 -050062do_install:append() {
Patrick Williamsb48b7b42016-08-17 15:04:38 -050063 install -d ${D}${localstatedir}/lib/lxdm
64 install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
65 if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
66 # ArchLinux version of pam config has the following advantages:
67 # * simple setup of passwordless login
68 # * in XFCE powerdown/restart enabled in logoff dialog
69 install -m 644 ${WORKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm
70 fi
71}
72
73# make installed languages choosable
Patrick Williams213cb262021-08-07 19:21:33 -050074pkg_postinst:${PN} () {
Patrick Williamsb48b7b42016-08-17 15:04:38 -050075langs=""
76for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do
77lang=`basename $lang`
78if [ "x$langs" = "x" ]; then
79 langs="$lang"
80else
81 langs="$langs $lang"
82fi
83done
84sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf
85}
86
Patrick Williams213cb262021-08-07 19:21:33 -050087RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050088
Patrick Williams213cb262021-08-07 19:21:33 -050089RPROVIDES:${PN} += "${PN}-systemd"
90RREPLACES:${PN} += "${PN}-systemd"
91RCONFLICTS:${PN} += "${PN}-systemd"
92SYSTEMD_SERVICE:${PN} = "lxdm.service"