Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 1 | SUMMARY = "LXDM is the lightweight display manager" |
| 2 | HOMEPAGE = "http://blog.lxde.org/?p=531" |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 3 | LICENSE = "GPL-3.0-only" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 5 | SRC_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 Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 10 | file://0003-check-for-libexecinfo-providing-backtrace-APIs.patch \ |
| 11 | file://0004-fix-css-under-gtk-3.20.patch \ |
Andrew Geissler | ac970dd | 2021-02-12 15:32:45 -0600 | [diff] [blame] | 12 | 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 Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 21 | file://0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch \ |
Andrew Geissler | 87f5cff | 2022-09-30 13:13:31 -0500 | [diff] [blame] | 22 | file://0001-Initialize-msghdr-struct-in-a-portable-way.patch \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 23 | " |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 24 | SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0" |
| 25 | SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f" |
| 26 | |
| 27 | PE = "1" |
| 28 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 29 | DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+3 virtual/libx11 libxcb pango iso-codes" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 30 | DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 31 | DEPENDS:append:libc-musl = " libexecinfo" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 32 | |
| 33 | # combine oe-core way with angstrom DISTRO_TYPE |
| 34 | DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}" |
| 35 | |
Brad Bishop | 8410d61 | 2019-11-25 09:40:59 -0500 | [diff] [blame] | 36 | inherit autotools pkgconfig gettext systemd features_check |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 37 | # depends on virtual/libx11 |
| 38 | REQUIRED_DISTRO_FEATURES = "x11" |
| 39 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 40 | CFLAGS:append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr " |
| 41 | LDFLAGS:append:libc-musl = " -lexecinfo" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 42 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 43 | EXTRA_OECONF += "--enable-gtk3=yes --enable-password=yes --with-x -with-xconn=xcb \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 44 | ${@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 Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 48 | do_configure:prepend() { |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 49 | cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 50 | } |
| 51 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 52 | do_compile:append() { |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 53 | # 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 Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 62 | do_install:append() { |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 63 | 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 Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 74 | pkg_postinst:${PN} () { |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 75 | langs="" |
| 76 | for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do |
| 77 | lang=`basename $lang` |
| 78 | if [ "x$langs" = "x" ]; then |
| 79 | langs="$lang" |
| 80 | else |
| 81 | langs="$langs $lang" |
| 82 | fi |
| 83 | done |
| 84 | sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf |
| 85 | } |
| 86 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 87 | RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 88 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 89 | RPROVIDES:${PN} += "${PN}-systemd" |
| 90 | RREPLACES:${PN} += "${PN}-systemd" |
| 91 | RCONFLICTS:${PN} += "${PN}-systemd" |
| 92 | SYSTEMD_SERVICE:${PN} = "lxdm.service" |