diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-graphics/lxdm')
7 files changed, 210 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch new file mode 100644 index 000000000..f9fd4970f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch @@ -0,0 +1,36 @@ +From 1d2425febf2020e38db70188df582acc9f37b136 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 30 Mar 2017 13:01:33 -0700 +Subject: [PATCH] check for libexecinfo providing backtrace() APIs + +on musl it depends on external library to provide backtrace APIs +unlike glibc where it is bundled in + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index aa3291c..b15f65d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,7 @@ AM_PROG_CC_C_O + + # Checks for libraries. + AC_CHECK_LIB([crypt], [crypt]) ++AC_CHECK_LIB([execinfo], [backtrace]) + + # Check for PAM support + AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]), +@@ -33,6 +34,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ]) + # Checks for header files. + AC_PATH_X + AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h]) ++AC_CHECK_HEADERS([execinfo.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_TYPE_PID_T +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch new file mode 100644 index 000000000..49ecdb8d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch @@ -0,0 +1,29 @@ +From 5038c49c0b61e057dec44c932f02c4bf99cee96e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 3 Sep 2012 10:02:51 +0200 +Subject: [PATCH] lxdm.conf.in: blacklist root for release images +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + data/lxdm.conf.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index defc082..759e6e5 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -58,5 +58,5 @@ disable=0 + white= + + ## blacklist user +-black= ++black=root + +-- +1.7.4.4 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch new file mode 100644 index 000000000..75dc10c97 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch @@ -0,0 +1,35 @@ +From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 6 Oct 2014 13:06:24 +0200 +Subject: [PATCH] let autotools create lxdm.conf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +in out of tree builds lxdm.conf is empty + +Upstream-Status: submitted [1] + +[1] http://sourceforge.net/p/lxde/mailman/message/32901417/ + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + data/lxdm.conf.in | 2 +- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index d93f280..6206262 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -19,7 +19,7 @@ + # skip_password=1 + + ## greeter used to welcome the user +-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk ++greeter=@libexecdir@/lxdm-greeter-gtk + + [server] + ## arg used to start xserver, not fully function +-- +1.8.3.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam new file mode 100644 index 000000000..486621f4f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam @@ -0,0 +1,13 @@ +#%PAM-1.0 +# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz +# further info https://wiki.archlinux.org/index.php/LXDM +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +# To allow passwordless login comment previous line and uncomment next line +#auth required pam_unix.so nullok +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +password required pam_unix.so +-session optional pam_systemd.so diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug new file mode 100644 index 000000000..734949fa4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug @@ -0,0 +1,13 @@ +#%PAM-1.0 +# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz +# further info https://wiki.archlinux.org/index.php/LXDM +auth requisite pam_nologin.so +auth required pam_env.so +#auth required pam_unix.so +# To deny passwordless login comment next line and uncomment previous line +auth required pam_unix.so nullok +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +password required pam_unix.so +-session optional pam_systemd.so diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf new file mode 100644 index 000000000..0a6e6721b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf @@ -0,0 +1,4 @@ +[base] +last_session= +last_lang= +last_langs= diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb new file mode 100644 index 000000000..8e7efcdad --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb @@ -0,0 +1,80 @@ +SUMMARY = "LXDM is the lightweight display manager" +HOMEPAGE = "http://blog.lxde.org/?p=531" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \ + file://lxdm.conf \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \ + ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \ + file://0002-let-autotools-create-lxdm.conf.patch \ + file://0001-check-for-libexecinfo-providing-backtrace-APIs.patch \ + " +SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0" +SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f" + +PE = "1" + +DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+ virtual/libx11 libxcb pango iso-codes" +DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}" +DEPENDS_append_libc-musl = " libexecinfo" + +# combine oe-core way with angstrom DISTRO_TYPE +DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}" + +inherit autotools pkgconfig gettext systemd distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr " +LDFLAGS_append_libc-musl = " -lexecinfo" + +EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ +" + +do_configure_prepend() { + cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/ +} + +do_compile_append() { + # default background configured not available / no password field available / no default screensaver + sed -i -e 's,bg=,# bg=,g' \ + -e 's,# skip_password=,skip_password=,g' \ + -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \ + ${S}/data/lxdm.conf.in + # add default configuration + oe_runmake -C ${B}/data lxdm.conf +} + +do_install_append() { + install -d ${D}${localstatedir}/lib/lxdm + install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # ArchLinux version of pam config has the following advantages: + # * simple setup of passwordless login + # * in XFCE powerdown/restart enabled in logoff dialog + install -m 644 ${WORKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm + fi +} + +# make installed languages choosable +pkg_postinst_${PN} () { +langs="" +for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do +lang=`basename $lang` +if [ "x$langs" = "x" ]; then + langs="$lang" +else + langs="$langs $lang" +fi +done +sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf +} + +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "lxdm.service" |