From b43165328658087277b667152fdbc04fe07cba08 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Tue, 15 May 2018 14:46:21 +0200 Subject: 3rd part of the layer/profile rework [1/2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../bluez-alsa/bluez-alsa_git.bb | 38 ++++++++++++++++++++ .../bluez-alsa/files/bluez-alsa.service | 11 ++++++ .../0001_fix_compile_issue_when_using_in_c++.patch | 23 +++++++++++++ .../bluez5/bluez5/bluetooth.conf | 39 +++++++++++++++++++++ .../recipes-connectivity/bluez5/bluez5_%.bbappend | 13 +++++++ .../busybox/busybox_%.bbappend | 2 ++ .../busybox/files/enable-wget-https.cfg | 3 ++ .../connman-ncurses/connman-ncurses_git.bb | 26 ++++++++++++++ .../recipes-connectivity/connman/.appends.core | 0 .../connman/connman_%.bbappend | 3 ++ .../files/0001-disable-when-booting-over-nfs.patch | 11 ++++++ .../recipes-connectivity/libnfc/libnfc_git.bb | 18 ++++++++++ .../0001-remove-I-usr-include-in-pkg-config.patch | 40 ++++++++++++++++++++++ .../recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb | 26 ++++++++++++++ 14 files changed, 253 insertions(+) create mode 100644 meta-agl-profile-core/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb create mode 100644 meta-agl-profile-core/recipes-connectivity/bluez-alsa/files/bluez-alsa.service create mode 100644 meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch create mode 100644 meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.conf create mode 100644 meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend create mode 100644 meta-agl-profile-core/recipes-connectivity/busybox/busybox_%.bbappend create mode 100644 meta-agl-profile-core/recipes-connectivity/busybox/files/enable-wget-https.cfg create mode 100644 meta-agl-profile-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb create mode 100644 meta-agl-profile-core/recipes-connectivity/connman/.appends.core create mode 100644 meta-agl-profile-core/recipes-connectivity/connman/connman_%.bbappend create mode 100644 meta-agl-profile-core/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch create mode 100644 meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb create mode 100644 meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch create mode 100644 meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb (limited to 'meta-agl-profile-core/recipes-connectivity') 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 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 +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 +--- + 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 -- cgit 1.2.3-korg