diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-05-15 14:46:21 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-05-31 18:16:00 +0200 |
commit | b43165328658087277b667152fdbc04fe07cba08 (patch) | |
tree | d1540adb65af28e41e9ebdfdbfe8b08470cb6887 /meta-agl-profile-core/recipes-connectivity | |
parent | c40ee88f6aa0b379787a9ea3c853a806892e0dd1 (diff) |
3rd part of the layer/profile rework [1/2]
This is the last larger commit in this series and deals with the graphical part.
We introduce the graphical profiles:
- meta-agl-profile-graphical
-- meta-agl-profile-graphical-html5
-- meta-agl-profile-graphical-qt5
Notable changes:
- weston-ini-conf moved to the meta-agl-bsp layer. Most BSPs have bbappends, so we need to have the recipes present (but unused) even in the console images.
- new image: agl-image-boot = terminal-only + network + package-manaager. Ready for using package-feeds
- new image/sdk: agl-image-minimal-crosssdk
- agl-service-mediaplayer has a dependency on weston, thus it cannot be in the 'core'. Moved it to profile-graphical.
- The wayland-ivi-extension moved to the agl-demo-platform.
- The app-framework layer included and pulled 'web-runtime' as dependency. This broke console-only images. This has been moved to be in meta-agl-demo only for now.
- added and massaged the agl-features.
- found and added a useful script 'oe-depends-dot' that helps to work with the dot files (produced with bitbake -g)
Todo:
- we'll need another pass through the packagegroups. The dependencies for the layers/profiles are now sorted-out but we might have to add/shuffle a few packages.
For further details, see meta-agl/docs/profiles.md.
v2: fix meta-agl/meta-security/conf/layer.conf - the immediate expansion previously used in there caused some recipes not being added to BBFILES.
v3: fix packagegroup renaming (packagegroup-agl-devel -> packagegroup-agl-core-devel)
v4: fix missing packagegroup inclusion (tnx Jose, Scott, Stephane)
v5: fix missing packagegroup inclusion
v6: explicitely put profile-graphical-qt5 on-top of profile-graphical
v7: re-add 'procps' when agl-devel feature is on
Bug-AGL: SPEC-145
Change-Id: I24cdcd1118932758d0c55d333338238f2a770877
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-connectivity')
14 files changed, 253 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb b/meta-agl-profile-core/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb new file mode 100644 index 000000000..6379ec38f --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/bluez-alsa/files/bluez-alsa.service b/meta-agl-profile-core/recipes-connectivity/bluez-alsa/files/bluez-alsa.service new file mode 100644 index 000000000..671815e03 --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch b/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch new file mode 100644 index 000000000..ba2f33c62 --- /dev/null +++ b/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch @@ -0,0 +1,23 @@ +diff -urN bluez-5.22.orig/lib/bluetooth.h bluez-5.22/lib/bluetooth.h +--- bluez-5.22.orig/lib/bluetooth.h 2013-12-10 15:59:06.000000000 +0900 ++++ bluez-5.22/lib/bluetooth.h 2015-10-28 13:34:25.749335768 +0900 +@@ -158,16 +158,16 @@ + #define bt_get_unaligned(ptr) \ + ({ \ + struct __attribute__((packed)) { \ +- typeof(*(ptr)) __v; \ +- } *__p = (typeof(__p)) (ptr); \ ++ __typeof__(*(ptr)) __v; \ ++ } *__p = (__typeof__(__p)) (ptr); \ + __p->__v; \ + }) + + #define bt_put_unaligned(val, ptr) \ + do { \ + struct __attribute__((packed)) { \ +- typeof(*(ptr)) __v; \ +- } *__p = (typeof(__p)) (ptr); \ ++ __typeof__(*(ptr)) __v; \ ++ } *__p = (__typeof__(__p)) (ptr); \ + __p->__v = (val); \ + } while(0) diff --git a/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.conf b/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.conf new file mode 100644 index 000000000..1f2762de7 --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend new file mode 100644 index 000000000..c5afa875f --- /dev/null +++ b/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend @@ -0,0 +1,13 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI_append = " file://bluetooth.conf" + +APPLY_v522 = "${@str('no' if '${PV}' != '5.22' else 'yes')}" + +SRC_URI_append = "\ + file://0001_fix_compile_issue_when_using_in_c++.patch;apply=${APPLY_v522} \ +" + + +do_install_append() { + install -m 0644 ${WORKDIR}/bluetooth.conf ${D}${sysconfdir}/dbus-1/system.d/bluetooth.conf +} diff --git a/meta-agl-profile-core/recipes-connectivity/busybox/busybox_%.bbappend b/meta-agl-profile-core/recipes-connectivity/busybox/busybox_%.bbappend new file mode 100644 index 000000000..198b651dd --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/busybox/files/enable-wget-https.cfg b/meta-agl-profile-core/recipes-connectivity/busybox/files/enable-wget-https.cfg new file mode 100644 index 000000000..e92006bef --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl-profile-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb new file mode 100644 index 000000000..02afef75f --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/connman/.appends.core b/meta-agl-profile-core/recipes-connectivity/connman/.appends.core new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/meta-agl-profile-core/recipes-connectivity/connman/.appends.core diff --git a/meta-agl-profile-core/recipes-connectivity/connman/connman_%.bbappend b/meta-agl-profile-core/recipes-connectivity/connman/connman_%.bbappend new file mode 100644 index 000000000..e41cbe954 --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch b/meta-agl-profile-core/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch new file mode 100644 index 000000000..95fc0a905 --- /dev/null +++ b/meta-agl-profile-core/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-core/recipes-connectivity/libnfc/libnfc_git.bb b/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb new file mode 100644 index 000000000..bd216f815 --- /dev/null +++ b/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "libnfc" +DESCRIPTION = "Platform independent Near Field Communication (NFC) library" +HOMEPAGE = "https://github.com/nfc-tools/libnfc" +SECTION = "apps" + +DEPENDS = "libusb" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" + +inherit cmake pkgconfig + +SRC_URI = "git://github.com/nfc-tools/libnfc;protocol=https;branch=master" +SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932" + +PV = "1.7.1+git${SRCPV}" +S = "${WORKDIR}/git" + diff --git a/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch b/meta-agl-profile-core/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-core/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-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb b/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb new file mode 100644 index 000000000..7d5c0217d --- /dev/null +++ b/meta-agl-profile-core/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 |