summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-demo/recipes-connectivity
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-16 22:14:52 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-20 17:07:06 +0200
commitbb0882c5dad030f676e424265ebcd869bb3ff899 (patch)
treed95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-demo/recipes-connectivity
parent97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff)
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles. This change is part of a series of changes to create the AGL profiles. This set will mainly introduce the 'core' profile. It is setup to be a drop-in change, thus some files were kept in (dummy) locations for now. However, they'll be taken care of in the next changes in this series. The main target of the meta-agl-profile-core layer is to host: - a minimal, bootable image with network and package management enabled -- agl-image-boot - a minimal image with network and packagemanagement and the AGL APIs -- agl-image-minimal The layer meta-agl-profile-graphical is used as superset of these and includes support for egl+wayland+weston. All recipes concerning graphics were moved there. This is not a full profile as we still have to migrate some parts of meta-agl-demo in a follow-up changeset. The roadmap as discussed during the F2F session in Karlsruhe is: - week 16 : core profile and profiles w/o graphics - week 17 : graphical profiles - week 18 : final conversion of the demo image v2: moved agl-login-manager from -graphics to -core (see Jose's comment) v3: moved back after discussion - follow-up in separate changeset Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-demo/recipes-connectivity')
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb38
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service11
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf39
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend6
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend2
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg3
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb26
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/.appends.core0
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend3
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch11
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch40
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb26
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia0
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch28
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service13
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend25
16 files changed, 271 insertions, 0 deletions
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb
new file mode 100644
index 000000000..6379ec38f
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Bluetooth Audio ALSA Backend"
+HOMEPAGE = "https://github.com/Arkq/bluez-alsa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb3e99e80c5d718213f35ae1def4c106"
+
+SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master"
+SRCREV = "9045edb436ea755f395a2e09e4525b5defad286a"
+
+SRC_URI += "file://bluez-alsa.service"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "alsa-lib bluez5 systemd glib-2.0 sbc"
+
+PACKAGECONFIG[aac] = "--enable-aac, --disable-aac, "
+PACKAGECONFIG[aptx] = "--enable-aptx,--disable-aptx,"
+PACKAGECONFIG[hcitop] = "--enable-hcitop, --disable-hcitop, libbsd ncurses"
+
+inherit autotools pkgconfig
+inherit systemd
+
+SYSTEMD_AUTO_ENABLE = "enable"
+SYSTEMD_SERVICE_${PN} = "bluez-alsa.service"
+
+PACKAGECONFIG += "hcitop"
+
+do_install_append () {
+ install -d ${D}${base_libdir}/systemd/system
+ install -m 0644 ${WORKDIR}/bluez-alsa.service ${D}${base_libdir}/systemd/system
+}
+
+FILES_${PN} += "\
+ ${datadir}/alsa/alsa.conf.d/20-bluealsa.conf\
+ ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.so\
+ ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.so\
+"
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service
new file mode 100644
index 000000000..671815e03
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Bluetooth Audio ALSA Backend
+After=bluetooth.service
+Requires=bluetooth.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/bluealsa
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf
new file mode 100644
index 000000000..1f2762de7
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf
@@ -0,0 +1,39 @@
+<!-- This configuration file specifies the required security policies
+ for Bluetooth core daemon to work. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <!-- ../system.conf have denied everything, so we just punch some holes -->
+
+ <policy user="root">
+ <allow own="org.bluez"/>
+ <allow send_destination="org.bluez"/>
+ <allow send_interface="org.bluez.Agent1"/>
+ <allow send_interface="org.bluez.MediaEndpoint1"/>
+ <allow send_interface="org.bluez.MediaPlayer1"/>
+ <allow send_interface="org.bluez.ThermometerWatcher1"/>
+ <allow send_interface="org.bluez.AlertAgent1"/>
+ <allow send_interface="org.bluez.Profile1"/>
+ <allow send_interface="org.bluez.HeartRateWatcher1"/>
+ <allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
+ <allow send_interface="org.bluez.GattCharacteristic1"/>
+ <allow send_interface="org.bluez.GattDescriptor1"/>
+ <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
+ <allow send_interface="org.freedesktop.DBus.Properties"/>
+ <allow receive_type="signal" receive_sender="org.bluez" receive_interface="org.freedesktop.DBus.Properties"/>
+ <allow receive_type="signal" receive_sender="org.bluez" receive_interface="org.freedesktop.DBus.ObjectManager"/>
+ </policy>
+
+ <policy at_console="true">
+ <allow send_destination="org.bluez"/>
+ </policy>
+
+ <!-- allow users of lp group (printing subsystem) to
+ communicate with bluetoothd -->
+ <policy group="lp">
+ <allow send_destination="org.bluez"/>
+ </policy>
+
+</busconfig>
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend
new file mode 100644
index 000000000..ffb9d5b53
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend
@@ -0,0 +1,6 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+SRC_URI_append = " file://bluetooth.conf"
+
+do_install_append() {
+ install -m 0644 ${WORKDIR}/bluetooth.conf ${D}${sysconfdir}/dbus-1/system.d/bluetooth.conf
+}
diff --git a/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend
new file mode 100644
index 000000000..198b651dd
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend
@@ -0,0 +1,2 @@
+SRC_URI += "file://enable-wget-https.cfg"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
diff --git a/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg b/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg
new file mode 100644
index 000000000..e92006bef
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg
@@ -0,0 +1,3 @@
+# Thu Jun 8 17:32:07 2017
+CONFIG_FEATURE_WGET_OPENSSL=y
+CONFIG_FEATURE_WGET_SSL_HELPER=y
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
new file mode 100644
index 000000000..02afef75f
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A simple ncurses interface for connman"
+DESCRIPTION = "A simple ncurses interface for connman"
+HOMEPAGE = "https://gitlab.com/iotbzh/connman-json-client"
+
+SECTION = "console/network"
+
+DEPENDS = "dbus ncurses connman json-c"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
+
+SRC_URI = "git://gitlab.com/iotbzh/connman-json-client.git;protocol=https;rev=ad4261a2f87c914667b1f6841c913f6b08d373e2"
+
+inherit autotools pkgconfig
+
+EXTRA_AUTORECONF += " -i"
+EXTRA_OECONF += " --disable-optimization --enable-debug"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -dm755 ${D}${bindir}
+ install -Dm755 connman_ncurses ${D}${bindir}
+}
+
+FILES_${PN} = "${bindir}/connman_ncurses"
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core b/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend
new file mode 100644
index 000000000..e41cbe954
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://0001-disable-when-booting-over-nfs.patch"
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch b/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch
new file mode 100644
index 000000000..95fc0a905
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch
@@ -0,0 +1,11 @@
+--- a/src/connman.service.in 2016-08-15 13:51:03.479478140 +0200
++++ b/src/connman.service.in 2016-08-15 13:51:33.469478267 +0200
+@@ -7,6 +7,7 @@ RequiresMountsFor=@localstatedir@/lib/co
+ After=dbus.service network-pre.target systemd-sysusers.service
+ Before=network.target multi-user.target shutdown.target
+ Wants=network.target
+ Conflicts=systemd-resolved.service
++ConditionKernelCommandLine=!root=/dev/nfs
+
+ [Service]
+ Type=dbus
diff --git a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch
new file mode 100644
index 000000000..86b7392df
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch
@@ -0,0 +1,40 @@
+From 3aeaf8054fcb2617ca8f6196ca32be3e69337f77 Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Fri, 21 Apr 2017 10:29:19 -0700
+Subject: [PATCH] remove -I/usr/include in pkg-config
+
+This shouldn't be necessary as it's part of the default compiler include
+paths anyway. Morever, it can cause GCC 6 C++ build failures in
+downstream packages when combined with QMake (such as
+qtmultimedia-rtlfm-radio-plugin).
+
+Fix these issues by removing it.
+
+Upstream-Status: Inappropriate [disable-feature]
+
+This patch should not go upstream because it breaks the ability to build
+with --prefix. That's not a problem for Openembedded, but it is for
+upstream more generally. See this mail thread for more information:
+
+http://lists.osmocom.org/pipermail/osmocom-sdr/2017-April/001580.html
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+---
+ librtlsdr.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/librtlsdr.pc.in b/librtlsdr.pc.in
+index 5e55049..84b6d0c 100644
+--- a/librtlsdr.pc.in
++++ b/librtlsdr.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: RTL-SDR Library
+ Description: C Utility Library
+ Version: @VERSION@
+-Cflags: -I${includedir}/ @RTLSDR_PC_CFLAGS@
++Cflags: @RTLSDR_PC_CFLAGS@
+ Libs: -L${libdir} -lrtlsdr -lusb-1.0
+ Libs.private: @RTLSDR_PC_LIBS@
+--
+2.1.4
+
diff --git a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
new file mode 100644
index 000000000..7d5c0217d
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Turns a Realtek RTL2832U-based DVB dongle into a SDR receiver"
+DESCRIPTION = "DVB-T dongles based on the Realtek RTL2832U chipset can be used as Software Digital Radio adapters, since the chip allows transferring raw I/Q samples to the host, which is really used for DAB/DAB+/FM demodulation."
+HOMEPAGE = "http://sdr.osmocom.org/trac/wiki/rtl-sdr"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://src/librtlsdr.c;endline=18;md5=1b05599c3ebd4d74857a0a7c45f3d4ef"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "git://git.osmocom.org/rtl-sdr \
+ file://0001-remove-I-usr-include-in-pkg-config.patch \
+ "
+SRCREV = "e3c03f738f5aef4dc51e2b741fbdb542b9cc1bb1"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-driver-detach"
+#CFLAGS_remove = "
+do_configure_append() {
+ # remove included temporary path from pc file due to pass-through of OE CFLAGS
+ # debug-prefix-map
+ # See: http://lists.openembedded.org/pipermail/openembedded-devel/2016-May/107456.html
+ sed -i -e "s# -fdebug-prefix-map=.*##g" librtlsdr.pc
+} \ No newline at end of file
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia b/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch b/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch
new file mode 100644
index 000000000..57b97a6ca
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch
@@ -0,0 +1,28 @@
+From 10602ca53b1c1231e96d8d446904617528c11dae Mon Sep 17 00:00:00 2001
+From: Ronan Le Martret <ronan.lemartret@iot.bzh>
+Date: Mon, 13 Mar 2017 15:31:41 +0100
+Subject: [PATCH] Fix missing link to unistring for lms plugin
+
+Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
+---
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index c5cbc00..2f7dc78 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -248,6 +248,10 @@ AS_IF([test "x$enable_lms_plugin" = "xyes"],
+ gio-2.0 >= $GIO_REQUIRED
+ sqlite3 >= $LIBSQLITE3_REQUIRED])
+ RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gio-2.0 --pkg gee-0.8 --pkg sqlite3"
++ AS_IF([test "x$have_unistring" = "xyes"],
++ [
++ RYGEL_PLUGIN_LMS_DEPS_LIBS="$RYGEL_PLUGIN_LMS_DEPS_LIBS -lunistring"
++ ])
+ AC_SUBST([RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS])
+ ])
+
+--
+2.6.6
+
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service b/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service
new file mode 100644
index 000000000..fb94d7160
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Rygel
+After=lightmediascanner.service
+Requires=lightmediascanner.service
+
+[Service]
+Type=dbus
+BusName=org.gnome.Rygel1
+ExecStart=/usr/bin/rygel -c /etc/rygel.conf
+
+[Install]
+WantedBy=default.target
+Alias=dbus-org.gnome.Rygel1.service
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend
new file mode 100644
index 000000000..4ae59259f
--- /dev/null
+++ b/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+# Disable everything but the media-export plugin, add the lms plugin
+PACKAGECONFIG = "media-export lms"
+PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin,sqlite3"
+
+# LightMediaScanner plugin patches
+SRC_URI += "\
+ file://0001-Fix-missing-link-to-unistring-for-lms-plugin.patch \
+ file://rygel.service \
+"
+
+do_install_prepend() {
+ # Install rygel systemd service
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 644 -p -D ${WORKDIR}/rygel.service ${D}${systemd_user_unitdir}/rygel.service
+
+ # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb)
+ # because it does not support systemd's user mode.
+ # However, systemctl --global should be checked
+ #mkdir -p ${D}/etc/systemd/user/default.target.wants/
+ #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/dbus-org.gnome.Rygel1.service
+ #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/default.target.wants/rygel.service
+ fi
+}