summaryrefslogtreecommitdiffstats
path: root/recipes-navigation
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-12-08 11:15:02 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-12-17 13:58:05 +0000
commit41591d4f8c586aa801220fac0924556f406c58bd (patch)
tree85a2803d48a094fb0ba3a76b9e3d0870a4e5edc2 /recipes-navigation
parent4830bcef14e7f49cdc851c646a69c9bb9bd92e82 (diff)
SPEC-3723: restructure meta-agl-demo
All demo related components should be in here now. We keep the packagegroups on purpose for now to stay backward-compatible. v2: layer does pass yocto-check-layer, dependencies adapted v3: remove the dynamic-layer setup, use all-in-one approach v4: Fixed comments from Paul Barker. Tnx! v5: Removed wayland/weston/agl-compositor additions, except for demo specific weston-init bbappend Follow-up changes required later: - massaging packagegroups - scrub of recipes Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8
Diffstat (limited to 'recipes-navigation')
-rw-r--r--recipes-navigation/geoclue/files/org.freedesktop.GeoClue2.Client.conf8
-rw-r--r--recipes-navigation/geoclue/geoclue_%.bbappend1
-rw-r--r--recipes-navigation/geoclue/geoclue_agldemo.inc11
-rw-r--r--recipes-navigation/gpsd/gpsd/sw-device-hook23
-rw-r--r--recipes-navigation/gpsd/gpsd_%.bbappend1
-rw-r--r--recipes-navigation/gpsd/gpsd_agldemo.inc28
6 files changed, 72 insertions, 0 deletions
diff --git a/recipes-navigation/geoclue/files/org.freedesktop.GeoClue2.Client.conf b/recipes-navigation/geoclue/files/org.freedesktop.GeoClue2.Client.conf
new file mode 100644
index 00000000..a7486d05
--- /dev/null
+++ b/recipes-navigation/geoclue/files/org.freedesktop.GeoClue2.Client.conf
@@ -0,0 +1,8 @@
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy user="root">
+ <allow receive_type="signal" receive_interface="org.freedesktop.GeoClue2.Client" />
+ </policy>
+</busconfig>
diff --git a/recipes-navigation/geoclue/geoclue_%.bbappend b/recipes-navigation/geoclue/geoclue_%.bbappend
new file mode 100644
index 00000000..eb1eef6b
--- /dev/null
+++ b/recipes-navigation/geoclue/geoclue_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'geoclue_agldemo.inc', '', d)}
diff --git a/recipes-navigation/geoclue/geoclue_agldemo.inc b/recipes-navigation/geoclue/geoclue_agldemo.inc
new file mode 100644
index 00000000..24936e5c
--- /dev/null
+++ b/recipes-navigation/geoclue/geoclue_agldemo.inc
@@ -0,0 +1,11 @@
+inherit gobject-introspection
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_append = " file://org.freedesktop.GeoClue2.Client.conf"
+
+PACKAGECONFIG = "nmea lib"
+
+do_install_append() {
+ install -d ${D}/etc/dbus-1/system.d
+ install -m 0644 ${WORKDIR}/org.freedesktop.GeoClue2.Client.conf ${D}/etc/dbus-1/system.d/org.freedesktop.GeoClue2.Client.conf
+}
diff --git a/recipes-navigation/gpsd/gpsd/sw-device-hook b/recipes-navigation/gpsd/gpsd/sw-device-hook
new file mode 100644
index 00000000..e1e6f7a4
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd/sw-device-hook
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Figure out the parent usb device
+USBDEV=`ls -l "$1" |sed -ne 's!^c[^ ]* [0-9]* [^ ]* [^ ]* \([0-9]*\), \([0-9]*\) .*!/sys/dev/char/\1:\2/device/../..!p'`
+
+# Silently ignore any non-USB ports
+if [ ! -r "$USBDEV/idVendor" ] || [ ! -r "$USBDEV/idProduct" ]; then
+ exit 0
+fi
+
+VID=`cat "$USBDEV/idVendor"`
+PID=`cat "$USBDEV/idProduct"`
+case "$2" in
+ ACTIVATE) CMD=START ;;
+ *) CMD=STOP ;;
+esac
+
+case "$VID:$PID" in
+ "1199:9071"|"1199:9079") echo \$GPS_$CMD >"$1" ;;
+ *) ;;
+esac
+
+exit 0
diff --git a/recipes-navigation/gpsd/gpsd_%.bbappend b/recipes-navigation/gpsd/gpsd_%.bbappend
new file mode 100644
index 00000000..ac56bfb8
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'gpsd_agldemo.inc', '', d)}
diff --git a/recipes-navigation/gpsd/gpsd_agldemo.inc b/recipes-navigation/gpsd/gpsd_agldemo.inc
new file mode 100644
index 00000000..5899505b
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_agldemo.inc
@@ -0,0 +1,28 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/gpsd:"
+
+SRC_URI += "file://sw-device-hook"
+
+do_install_append() {
+ # Install device-hook script for starting NMEA output on Sierra Wireless modems
+ install -d ${D}${sysconfdir}/gpsd
+ install -m 0755 ${WORKDIR}/sw-device-hook ${D}${sysconfdir}/gpsd/device-hook
+}
+
+
+
+SYSTEMD_SERVICE_${PN}_append = " gpsdctl@.service"
+
+RPROVIDES_${PN}-conf_append = " virtual/gpsd-conf"
+
+do_install_append() {
+ # use the systemd compatible gpsd.rules
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/60-gpsd.rules
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/systemd/gpsdctl@.service ${D}${systemd_unitdir}/system
+
+ #autoprobe usb gps devices
+ echo 'USBAUTO="true"' >> ${D}${sysconfdir}/default/gpsd.default
+}