All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] linuxconsole: move jscal to separate package, add to packagegroup
@ 2020-12-27 15:50 Martin Jansa
  0 siblings, 0 replies; only message in thread
From: Martin Jansa @ 2020-12-27 15:50 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Martin Jansa

* migrate the changes from 'joystick' recipe in meta-ros:
  https://github.com/ros/meta-ros/commit/ee3a3f6051594bdf39322d43ec08cce0df8f172c
* add 'joystick' in PROVIDES
* provide separate joystick-jscal package
* add PACKAGECONFIG for sdl use only to build ffmvforce
* respect nonarch_base_libdir to fix QA issue with usrmerge:
  ERROR: QA Issue: joystick package is not obeying usrmerge distro feature. /lib should be relocated to /usr. [usrmerge]
  and
  ERROR: linuxconsole-1.7.0-r0 do_package: QA Issue: linuxconsole: Files/directories were installed but not shipped in any package:
  /lib
  /lib/udev
  /lib/udev/js-set-enum-leds
  /lib/udev/rules.d
  /lib/udev/rules.d/80-stelladaptor-joystick.rules
  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
  linuxconsole: 5 installed and not shipped files. [installed-vs-shipped]
  as in:
  https://github.com/ros/meta-ros/commit/9fbfe41ac55a423afd57d9e24173a5655448acd5

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 .../packagegroups/packagegroup-meta-oe.bb     |  1 +
 .../linuxconsole/linuxconsole_1.7.0.bb        | 37 +++++++++++++------
 2 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 5023e49510..38e7130075 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -367,6 +367,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
      canutils \
      libsocketcan \
      libconfig \
+     linuxconsole \
      uml-utilities \
      libidn \
      libqb \
diff --git a/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb b/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
index c4cd1d609b..fb161b6583 100644
--- a/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
+++ b/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
@@ -8,8 +8,7 @@ HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-DEPENDS = "libsdl2"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+DEPENDS = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 
 SRC_URI = "\
     ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
@@ -32,21 +31,32 @@ SYSTEMD_PACKAGES += "inputattach"
 SYSTEMD_SERVICE_inputattach = "inputattach.service"
 SYSTEMD_AUTO_ENABLE_inputattach = "enable"
 
+PROVIDES += "joystick"
+
+PACKAGECONFIG ??= "sdl"
+PACKAGECONFIG[sdl] = ",,libsdl2"
+
 do_compile() {
+    if ! ${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'true', 'false', d)}; then
+        # drop ffmvforce so that we don't need libsdl2
+        sed '/^PROGRAMS/s/ffmvforce *//g' -i ${S}/utils/Makefile
+    fi
+    # respect nonarch_base_libdir path to keep QA check happy
+    sed 's#DESTDIR)/lib/udev#DESTDIR)/${nonarch_base_libdir}/udev#g' -i ${S}/utils/Makefile
     oe_runmake
 }
 
 do_install() {
     oe_runmake install
 
-    install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
-    install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${base_libdir}/udev/rules.d/60-joystick.rules
+    install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
+    install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules
 
     install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
     install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
 }
 
-PACKAGES += "inputattach joystick"
+PACKAGES += "inputattach joystick-jscal joystick"
 
 # We won't package any file here as we are following the same packaging schema
 # Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
@@ -64,20 +74,23 @@ FILES_joystick += "\
     ${bindir}/ffmvforce \
     ${bindir}/ffset \
     ${bindir}/fftest \
+    ${bindir}/jstest \
+    ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
+    ${nonarch_base_libdir}/udev/js-set-enum-leds \
+    ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \
+    ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
+"
+
+FILES_joystick-jscal = " \
+    ${datadir}/joystick \
     ${bindir}/jscal \
     ${bindir}/jscal-restore \
     ${bindir}/jscal-store \
-    ${bindir}/jstest \
-    ${datadir}/joystick \
-    ${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
-    ${base_libdir}/udev/js-set-enum-leds \
-    ${base_libdir}/udev/rules.d/60-joystick.rules \
-    ${base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
 "
 
 RDEPENDS_inputattach += "inputattach-config"
 
-RDEPENDS_joystick += "\
+RDEPENDS_joystick-jscal += "\
     bash \
     gawk \
 "
-- 
2.27.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-27 15:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-27 15:50 [meta-oe][PATCH] linuxconsole: move jscal to separate package, add to packagegroup Martin Jansa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.