linuxconsole: move jscal to separate package, add to packagegroup

* 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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa
2020-12-27 16:50:40 +01:00
committed by Khem Raj
parent dcff7a0084
commit f48b66b8ba
2 changed files with 26 additions and 12 deletions
@@ -367,6 +367,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
canutils \ canutils \
libsocketcan \ libsocketcan \
libconfig \ libconfig \
linuxconsole \
uml-utilities \ uml-utilities \
libidn \ libidn \
libqb \ libqb \
@@ -8,8 +8,7 @@ HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
LICENSE = "GPLv2" LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 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 = "\ SRC_URI = "\
${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \ ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
@@ -32,21 +31,32 @@ SYSTEMD_PACKAGES += "inputattach"
SYSTEMD_SERVICE_inputattach = "inputattach.service" SYSTEMD_SERVICE_inputattach = "inputattach.service"
SYSTEMD_AUTO_ENABLE_inputattach = "enable" SYSTEMD_AUTO_ENABLE_inputattach = "enable"
PROVIDES += "joystick"
PACKAGECONFIG ??= "sdl"
PACKAGECONFIG[sdl] = ",,libsdl2"
do_compile() { 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 oe_runmake
} }
do_install() { do_install() {
oe_runmake 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}/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}${base_libdir}/udev/rules.d/60-joystick.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 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl 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 # 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. # Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
@@ -64,20 +74,23 @@ FILES_joystick += "\
${bindir}/ffmvforce \ ${bindir}/ffmvforce \
${bindir}/ffset \ ${bindir}/ffset \
${bindir}/fftest \ ${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 \
${bindir}/jscal-restore \ ${bindir}/jscal-restore \
${bindir}/jscal-store \ ${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_inputattach += "inputattach-config"
RDEPENDS_joystick += "\ RDEPENDS_joystick-jscal += "\
bash \ bash \
gawk \ gawk \
" "