From 2111c3cad3f45957c209c8105f1c14a59d920139 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Mar 2017 21:13:54 +0200 Subject: [PATCH 01/19] u-boot: Upgrade to a version of u-boot master This is updating to u-boot v2017.03+256. v2017.05 is coming soon and it seems quite stable already. This seems to work for old and the new dora. --- recipes-sysmobts/uboot/u-boot_sysmocom.inc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/recipes-sysmobts/uboot/u-boot_sysmocom.inc b/recipes-sysmobts/uboot/u-boot_sysmocom.inc index 5a162f8ad6..c2cef7ea52 100644 --- a/recipes-sysmobts/uboot/u-boot_sysmocom.inc +++ b/recipes-sysmobts/uboot/u-boot_sysmocom.inc @@ -1,11 +1,11 @@ -SRC_URI = "git://git.sysmocom.de/sysmo-bts/u-boot;branch=v2011.12;protocol=git" -SRCREV = "ab8a84d9ac4c9d938ec6fa85e3f4f640d883c774" -PV = "v2011.12+git${SRCPV}" +SRC_URI = "git://git.sysmocom.de/sysmo-bts/u-boot;branch=tracking/upstream-next;protocol=git" +SRCREV = "64b07727fbb268bd19bacfed6711bdb060effcfa" +PV = "v2017.03+git${SRCPV}" S = "${WORKDIR}/git" PRINC = "13" -LIC_FILES_CHKSUM = "file://README;beginline=1;endline=22;md5=5ba4218ac89af7846802d0348df3fb90" +LIC_FILES_CHKSUM = "file://README;beginline=1;endline=22;md5=2687c5ebfd9cb284491c3204b726ea29" UBOOT_MACHINE_sysmobts-v2 = "davinci_sysmobts_v2_config" COMPATIBLE_MACHINE = "(sysmobts-v2)" @@ -13,14 +13,16 @@ COMPATIBLE_MACHINE = "(sysmobts-v2)" UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}" UBOOT_SYMLINK = "u-boot-${MACHINE}" +DEPENDS += " bc-native " + do_install_append() { rm ${D}/boot/* } do_deploy_prepend () { install -d ${DEPLOYDIR} - install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}.bin - install ${S}/u-boot ${DEPLOYDIR}/${UBOOT_IMAGE}.elf + install ${B}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}.bin + install ${B}/u-boot ${DEPLOYDIR}/${UBOOT_IMAGE}.elf cd ${DEPLOYDIR} rm -f ${UBOOT_SYMLINK}.bin From 0d7522675f8d58741e670b49700862ec54ab72f7 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Mar 2017 21:50:53 +0200 Subject: [PATCH 02/19] dvnixload: Fix deployment on latest poky The with builddir != srcddir the deployment will fail. Add ${B} as it will work for both old and new poky. --- recipes-sysmobts/dvnixload/dvnixload_0.2.6.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-sysmobts/dvnixload/dvnixload_0.2.6.bb b/recipes-sysmobts/dvnixload/dvnixload_0.2.6.bb index d8865daf7e..24ae551a4d 100644 --- a/recipes-sysmobts/dvnixload/dvnixload_0.2.6.bb +++ b/recipes-sysmobts/dvnixload/dvnixload_0.2.6.bb @@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "5b76e9cb0ee843208c17053315926e0e168db8a89fe960655a0d0f4871 do_deploy() { install -d ${DEPLOY_DIR_TOOLS} - install -m 0755 src/dvnixload ${DEPLOY_DIR_TOOLS}/dvnixload-${PV} + install -m 0755 ${B}/src/dvnixload ${DEPLOY_DIR_TOOLS}/dvnixload-${PV} rm -f ${DEPLOY_DIR_TOOLS}/dvnixload ln -sf ./dvnixload-${PV} ${DEPLOY_DIR_TOOLS}/dvnixload From 9f0d341f2347336488cd909a94fa1ff0ba596a66 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Mar 2017 22:49:25 +0200 Subject: [PATCH 03/19] systemd-compat-units: Add LIC_FILES_CHKSUM for SRC_URI files We need to have our own LIC_FILES_CHKSUM now as we add the alignment service. --- recipes-fixes/systemd/systemd-compat-units_sysmocom.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc b/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc index e7aad924ba..b8831d5491 100644 --- a/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc +++ b/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc @@ -7,6 +7,7 @@ S_THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" FILESPATH =. "${@base_set_filespath(["${S_THISDIR}/${PN}"], d)}:" SRC_URI += "file://alignment.service" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" do_install_append() { install -d ${D}${systemd_unitdir}/system/basic.target.wants From 49153b2904174dcb0888f82807d2c3e417180a5e Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 29 Mar 2017 00:14:21 +0200 Subject: [PATCH 04/19] gpsd: Make sure that LDFLAGS are passed to scons In newer Poky the LDFLAGS are not passed through the $CC variable anymore and we need to make sure scons is picking them up. Take an old Gentoo patch for it. --- recipes-extra/gpsd/gpsd/gpsd-3.3-ldflags.patch | 17 +++++++++++++++++ recipes-extra/gpsd/gpsd_3.10.bb | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 recipes-extra/gpsd/gpsd/gpsd-3.3-ldflags.patch diff --git a/recipes-extra/gpsd/gpsd/gpsd-3.3-ldflags.patch b/recipes-extra/gpsd/gpsd/gpsd-3.3-ldflags.patch new file mode 100644 index 0000000000..0c37cd3b10 --- /dev/null +++ b/recipes-extra/gpsd/gpsd/gpsd-3.3-ldflags.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/391299 + +split up linking flags into multiple arguments + +Index: gpsd-3.10/SConstruct +=================================================================== +--- gpsd-3.10.orig/SConstruct 2017-03-28 23:47:02.815665786 +0200 ++++ gpsd-3.10/SConstruct 2017-03-28 23:47:40.463666285 +0200 +@@ -250,7 +250,7 @@ + env.Replace(**{j: os.getenv(i)}) + for flag in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]: + if os.environ.has_key(flag): +- env.MergeFlags({flag : [os.getenv(flag)]}) ++ env.MergeFlags({flag : Split(os.getenv(flag))}) + + + # Keep scan-build options in the environment diff --git a/recipes-extra/gpsd/gpsd_3.10.bb b/recipes-extra/gpsd/gpsd_3.10.bb index 4e215acf5d..3996ed6667 100644 --- a/recipes-extra/gpsd/gpsd_3.10.bb +++ b/recipes-extra/gpsd/gpsd_3.10.bb @@ -11,6 +11,7 @@ PR = "r3.19" SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \ file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch \ + file://gpsd-3.3-ldflags.patch \ file://no-rpath-please.patch \ file://gpsd-tsip-pps.patch \ file://leave-argv-untouched.patch \ @@ -33,6 +34,8 @@ INITSCRIPT_PARAMS = "defaults 35" export STAGING_INCDIR export STAGING_LIBDIR +export LINKFLAGS="${TARGET_LDFLAGS}" +export SHLINKFLAGS="${TARGET_LDFLAGS}" EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ From 801c19533862315d99227547d39d76bcb71c00b8 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 29 Mar 2017 19:57:57 +0200 Subject: [PATCH 05/19] osmo-bts: Remove inline from the declaration of function The function is declared and defined as inline and gcc6 will not emit an external visible symbol for it. Master doesn't have this problem anymore so let's just patch it here. Fixes: | /usr/src/debug/osmo-bts/0.4.3+gitAUTOINC+57ee780789-r1a2ff06d20-r18.18/git/tests/sysmobts/sysmobts_test.c:207: undefined reference to `l1if_ms_pwr_ctrl' --- .../osmo-bts/files/gcc6-linking-fix.patch | 12 ++++++++++++ recipes-sysmobts/osmo-bts/osmo-bts_git.bb | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 recipes-sysmobts/osmo-bts/files/gcc6-linking-fix.patch diff --git a/recipes-sysmobts/osmo-bts/files/gcc6-linking-fix.patch b/recipes-sysmobts/osmo-bts/files/gcc6-linking-fix.patch new file mode 100644 index 0000000000..c97839fcb7 --- /dev/null +++ b/recipes-sysmobts/osmo-bts/files/gcc6-linking-fix.patch @@ -0,0 +1,12 @@ +Index: git/src/osmo-bts-sysmo/l1_if.h +=================================================================== +--- git.orig/src/osmo-bts-sysmo/l1_if.h ++++ git/src/osmo-bts-sysmo/l1_if.h +@@ -132,6 +132,6 @@ int bts_check_for_ciph_cmd(struct femtol + void bts_check_for_first_ciphrd(struct femtol1_hdl *fl1h, + GsmL1_MsgUnitParam_t *msgUnitParam, + struct gsm_lchan *lchan); +-inline int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, ++int l1if_ms_pwr_ctrl(struct gsm_lchan *lchan, const int uplink_target, + const uint8_t ms_power, const float rxLevel); + #endif /* _FEMTO_L1_H */ diff --git a/recipes-sysmobts/osmo-bts/osmo-bts_git.bb b/recipes-sysmobts/osmo-bts/osmo-bts_git.bb index 814b2164c6..838e49d0ce 100644 --- a/recipes-sysmobts/osmo-bts/osmo-bts_git.bb +++ b/recipes-sysmobts/osmo-bts/osmo-bts_git.bb @@ -3,7 +3,8 @@ LICENSE = "AGPLv3" LIC_FILES_CHKSUM="file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788" SRC_URI = "git://git.osmocom.org/osmo-bts.git;protocol=git;branch=sysmocom/0.3.5-stable;name=osmobts;destsuffix=git \ - git://git.osmocom.org/openbsc;protocol=git;branch=master;name=openbsc;destsuffix=openbsc" + git://git.osmocom.org/openbsc;protocol=git;branch=master;name=openbsc;destsuffix=openbsc \ + file://gcc6-linking-fix.patch" SRCREV_osmobts = "1a2ff06d206fc4ff3cb8170ebe2b5570addc5be3" SRCREV_openbsc = "57ee78078905c7499bd4e6857f8981d22badfcac" PV = "0.4.3+git${SRCPV}" From 0646719119504ed05fe20bb00f4fa4d952a3ee5c Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 2 Apr 2017 15:07:18 +0200 Subject: [PATCH 06/19] rtl8169-eeprom: Use newer version to honor external LDFLAGS Make sure libraries are linked with GNU_HASH on newer versions of Poky. --- recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb b/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb index a6a6feb81a..bdf20a7ca4 100644 --- a/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb +++ b/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "pciutils" -SRCREV = "e62e515ce314599e48b268dac69d2f16a504264c" +SRCREV = "47e0b24d7a86acf429991ac155a51c78f1be341e" SRC_URI = "git://git.sysmocom.de/rtl8168-eeprom;protocol=git;branch=master" PV = "v0.0.1+git${SRCPV}" PR = "r0" From 3f352433bd517b248c1e65d4f4c92bb85bdc9d98 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 2 Apr 2017 15:09:49 +0200 Subject: [PATCH 07/19] netcat-openbsd: Fix linking and use GNU_HASH for symbols Inherit the pkgconfig bbclass so libbsd can be found properly and pass in LDFLAGS to make sure the right link line is being used. --- recipes-support/netcat-openbsd/netcat-openbsd_1.105.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes-support/netcat-openbsd/netcat-openbsd_1.105.bb b/recipes-support/netcat-openbsd/netcat-openbsd_1.105.bb index 12409d4b19..e27720ee9f 100644 --- a/recipes-support/netcat-openbsd/netcat-openbsd_1.105.bb +++ b/recipes-support/netcat-openbsd/netcat-openbsd_1.105.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://../debian/copyright;md5=ee6bbaacb5db5f2973818f0902c3a DEPENDS += "glib-2.0 libbsd" +inherit pkgconfig + SRC_URI = "${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \ ${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}-7.debian.tar.gz;name=netcat-patch" @@ -31,7 +33,7 @@ python do_patch() { do_compile() { cd ${S} pkgrel=4 - oe_runmake CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\"" + oe_runmake LDFLAGS="$LDFLAGS" CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\"" } do_install() { From 39afcd35ae40b8468868f1e942706dec11e03961 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 2 Apr 2017 16:16:27 +0200 Subject: [PATCH 08/19] rauc: Make gdbus-codegen available to the build process Require glib-2.0-native so that we can call gdbus-codegen from the build process. Needed for newer versions of poky. --- recipes-extra/rauc/rauc.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-extra/rauc/rauc.bb b/recipes-extra/rauc/rauc.bb index f96da09106..c6e488fe39 100644 --- a/recipes-extra/rauc/rauc.bb +++ b/recipes-extra/rauc/rauc.bb @@ -15,7 +15,7 @@ S = "${WORKDIR}/git" SRCREV = "011953fa6c824ca518cf0ea074ddeede3726bdcd" -DEPENDS = "curl openssl glib-2.0" +DEPENDS = "curl openssl glib-2.0 glib-2.0-native" # rauc is invoking these depending the machine RDEPENDS_${PN}_append_sysmobts-v2 = " barebox-state" From 2b8949c52ee5804052efe3cc8cebc47a8a35abe4 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 2 Apr 2017 15:08:09 +0200 Subject: [PATCH 09/19] ifupdown: Build without access to dpkg-architecture Take a patch from newer version in Poky to hardcode the os to Linux. This surfaced because of the more strict sysroot in newer versions of Poky. To avoid some bad surprises I am continuing to use this version of ifupdown instead of the newer one in Poky. --- ...t-rely-on-dpkg-architecture-to-set-a.patch | 56 +++++++++++++++++++ recipes-extra/ifupdown/ifupdown_0.7.52.bb | 3 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 recipes-extra/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch diff --git a/recipes-extra/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch b/recipes-extra/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch new file mode 100644 index 0000000000..8c4d953a28 --- /dev/null +++ b/recipes-extra/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch @@ -0,0 +1,56 @@ +From 7af9db748974cb3a2c6ef8f9e03d7db1f9f8ee16 Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker +Date: Wed, 6 Aug 2014 14:54:12 -0400 +Subject: [PATCH 1/2] defn2[c|man]: don't rely on dpkg-architecture to set arch + +In yocto we'll always be cross compiling, and we'll always +be building on linux for linux (vs. *BSD, hurd, etc.) + +Without this the arch is not detected, but it doesn't error +out, and hence you get useless binaries that don't know any +arch specific methods, and the end result will be strangeness +like the loopback device not being configured/enabled. + +Signed-off-by: Paul Gortmaker +--- + defn2c.pl | 6 +++--- + defn2man.pl | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/defn2c.pl b/defn2c.pl +index c449de2f3d1c..38845e374c76 100755 +--- a/defn2c.pl ++++ b/defn2c.pl +@@ -2,9 +2,9 @@ + + use strict; + +-my $DEB_HOST_ARCH_OS = `dpkg-architecture -qDEB_HOST_ARCH_OS`; +- +-$DEB_HOST_ARCH_OS =~ s/\n//; ++#my $DEB_HOST_ARCH_OS = `dpkg-architecture -qDEB_HOST_ARCH_OS`; ++#$DEB_HOST_ARCH_OS =~ s/\n//; ++my $DEB_HOST_ARCH_OS ="linux"; + + # declarations + my $address_family = ""; +diff --git a/defn2man.pl b/defn2man.pl +index 6ddcfdd4fe68..c9c4dd046597 100755 +--- a/defn2man.pl ++++ b/defn2man.pl +@@ -2,9 +2,9 @@ + + use strict; + +-my $DEB_HOST_ARCH_OS = `dpkg-architecture -qDEB_HOST_ARCH_OS`; +- +-$DEB_HOST_ARCH_OS =~ s/\n//; ++#my $DEB_HOST_ARCH_OS = `dpkg-architecture -qDEB_HOST_ARCH_OS`; ++#$DEB_HOST_ARCH_OS =~ s/\n//; ++my $DEB_HOST_ARCH_OS = "linux"; + + # declarations + my $line; +-- +1.9.1 + diff --git a/recipes-extra/ifupdown/ifupdown_0.7.52.bb b/recipes-extra/ifupdown/ifupdown_0.7.52.bb index 9114c8d662..ab32483f35 100644 --- a/recipes-extra/ifupdown/ifupdown_0.7.52.bb +++ b/recipes-extra/ifupdown/ifupdown_0.7.52.bb @@ -7,7 +7,8 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://debian/copyright;md5=7adfbe801102d1e7e6bfdd3f03754efa" SRC_URI = "https://launchpadlibrarian.net/194033720/ifupdown_${PV}.tar.xz \ - file://busybox-yocto-compat.patch " + file://busybox-yocto-compat.patch \ + file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch " SRC_URI[md5sum] = "bb204ae2fa4171d6f1de4097f4570a7d" SRC_URI[sha256sum] = "8a0647c59ee0606f5da9205c5b3c5b000fea98fe39348f6bb2cba5fecfc51090" From 789c9a650cf9eafbd80be5dd96a9e4f80c7f7f84 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 7 Apr 2017 10:36:19 +0200 Subject: [PATCH 10/19] iperf: Upgrade to 2.0.9 to solve c++ compilation issue 2.0.5 is known not to build with newer G++/libstdc++. Upgrade to version 2.0.9, fix compilation issue on arm for C code and let's see.. --- .../iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch | 8 -------- .../iperf/iperf-2.0.9/stdbool-compilation.patch | 13 +++++++++++++ .../iperf/{iperf_2.0.5.bb => iperf_2.0.9.bb} | 10 +++++----- 3 files changed, 18 insertions(+), 13 deletions(-) delete mode 100644 recipes-extra/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch create mode 100644 recipes-extra/iperf/iperf-2.0.9/stdbool-compilation.patch rename recipes-extra/iperf/{iperf_2.0.5.bb => iperf_2.0.9.bb} (62%) diff --git a/recipes-extra/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch b/recipes-extra/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch deleted file mode 100644 index 12e8f46311..0000000000 --- a/recipes-extra/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch +++ /dev/null @@ -1,8 +0,0 @@ -diff --git iperf-2.0.5/man/Makefile.am iperf-2.0.5/man/Makefile.am - index ed97bc6..728873f 100644 ---- iperf-2.0.5/man/Makefile.am -+++ iperf-2.0.5/man/Makefile.am -@@ -1,2 +1 @@ --man_MANS = iperf.1 --dist_man_MANS = $(man_MANS) -+dist_man_MANS = iperf.1 diff --git a/recipes-extra/iperf/iperf-2.0.9/stdbool-compilation.patch b/recipes-extra/iperf/iperf-2.0.9/stdbool-compilation.patch new file mode 100644 index 0000000000..0aea6770c3 --- /dev/null +++ b/recipes-extra/iperf/iperf-2.0.9/stdbool-compilation.patch @@ -0,0 +1,13 @@ +Index: iperf-2.0.9/include/util.h +=================================================================== +--- iperf-2.0.9.orig/include/util.h ++++ iperf-2.0.9/include/util.h +@@ -57,6 +57,8 @@ + #include "config.h" + #endif + ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif diff --git a/recipes-extra/iperf/iperf_2.0.5.bb b/recipes-extra/iperf/iperf_2.0.9.bb similarity index 62% rename from recipes-extra/iperf/iperf_2.0.5.bb rename to recipes-extra/iperf/iperf_2.0.9.bb index a2077162d0..08292a02a5 100644 --- a/recipes-extra/iperf/iperf_2.0.5.bb +++ b/recipes-extra/iperf/iperf_2.0.9.bb @@ -4,12 +4,12 @@ SECTION = "console/network" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298" -SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${PN}-${PV}.tar.gz \ - file://iperf-2.0.5_ManPage.patch \ - " +SRC_URI = "${SOURCEFORGE_MIRROR}/iperf2/${PN}-${PV}.tar.gz \ + file://stdbool-compilation.patch \ +" -SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016" -SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b" +SRC_URI[md5sum] = "351b018b71176b8cb25f20eef6a9e37c" +SRC_URI[sha256sum] = "db02911f35686e808ed247160dfa766e08ae3f59d1e7dcedef0ffb2a6643f0bf" S = "${WORKDIR}/${PN}-${PV}" From 6751f3e2129c8c1748feec416b7140def6c822c0 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Mar 2017 21:02:12 +0200 Subject: [PATCH 11/19] modernize: Use d.get* instead of the bb.data.get* facade In modern Poky the facade is gone and the data dictionary needs to be accessed directly. This commit is catching up with it. It was build tested on dora as well. I have not checked if it is changing the checksums of a dora build. --- classes/sysmocom-archiver.bbclass | 10 +++++----- recipes-bsp/base-files/base-files_sysmocom.inc | 2 +- .../init-ifupdown/init-ifupdown_sysmocom-master.inc | 2 +- recipes-bsp/init-ifupdown/init-ifupdown_sysmocom.inc | 2 +- recipes-bsp/netbase/netbase_sysmocom.inc | 2 +- recipes-bsp/watchdog/watchdog_sysmocom.inc | 2 +- recipes-core/busybox/busybox_sysmocom.inc | 2 +- recipes-core/busybox/busybox_sysmocom_systemd.inc | 2 +- .../initrdscripts/initramfs-framework_sysmocom.inc | 2 +- .../initrdscripts/initramfs-live-install_sysmocom.inc | 2 +- recipes-fixes/cronie/cronie_sysmocom.inc | 2 +- recipes-fixes/dropbear/dropbear_sysmocom.inc | 2 +- recipes-fixes/initscripts/initscripts_dora.inc | 2 +- recipes-fixes/initscripts/initscripts_master.inc | 2 +- recipes-fixes/iproute2/iproute2_sysmocom.inc | 2 +- recipes-fixes/opkg/opkg_sysmocom.inc | 2 +- recipes-fixes/pkgconfig/pkgconfig_sysmocom.inc | 2 +- .../systemd/systemd-compat-units_sysmocom.inc | 2 +- recipes-fixes/systemd/systemd_sysmocom.inc | 2 +- recipes-fixes/udev/udev_sysmocom.inc | 2 +- 20 files changed, 24 insertions(+), 24 deletions(-) diff --git a/classes/sysmocom-archiver.bbclass b/classes/sysmocom-archiver.bbclass index b3ac8773cd..c31a9d4ccc 100644 --- a/classes/sysmocom-archiver.bbclass +++ b/classes/sysmocom-archiver.bbclass @@ -133,7 +133,7 @@ def not_tarball(d): workdir = d.getVar('WORKDIR',True) s = d.getVar('S',True) if 'work-shared' in s or 'task-' in workdir or 'native' in workdir: - pn = bb.data.getVar('PN', d , True) + pn = d.getVar('PN', True) if pn == 'gcc-cross': return False return True @@ -362,8 +362,8 @@ def archive_scripts_logs(d): def dumpdata(d): '''dump environment to "${P}-${PR}.showdata.dump" including all kinds of variables and functions when running a task''' - workdir = bb.data.getVar('WORKDIR', d, 1) - distro = bb.data.getVar('DISTRO', d, 1) + workdir = d.getVar('WORKDIR', 1) + distro = d.getVar('DISTRO', 1) s = d.getVar('S', True) pf = d.getVar('PF', True) target_sys = d.getVar('TARGET_SYS', True) @@ -383,8 +383,8 @@ def dumpdata(d): bb.data.emit_env(f, d, True) # emit the metadata which isnt valid shell for e in d.keys(): - if bb.data.getVarFlag(e, 'python', d): - f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1))) + if d.getVarFlag(e, 'python'): + f.write("\npython %s () {\n%s}\n" % (e, d.getVar(e, 1))) f.close() def create_diff_gz(d): diff --git a/recipes-bsp/base-files/base-files_sysmocom.inc b/recipes-bsp/base-files/base-files_sysmocom.inc index 0dea48ba1f..40f47844f2 100644 --- a/recipes-bsp/base-files/base-files_sysmocom.inc +++ b/recipes-bsp/base-files/base-files_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files"], d)}:" PRINC="3" diff --git a/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom-master.inc b/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom-master.inc index f9c58ed7b3..f7de30245c 100644 --- a/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom-master.inc +++ b/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom-master.inc @@ -1,2 +1,2 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/init-ifupdown-${PV}:${SYSMOCOM}/init-ifupdown-master:" diff --git a/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom.inc b/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom.inc index a36a3e819e..1daf5662ec 100644 --- a/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom.inc +++ b/recipes-bsp/init-ifupdown/init-ifupdown_sysmocom.inc @@ -1,4 +1,4 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/init-ifupdown-${PV}:${SYSMOCOM}/init-ifupdown:" PRINC = "13" diff --git a/recipes-bsp/netbase/netbase_sysmocom.inc b/recipes-bsp/netbase/netbase_sysmocom.inc index 2bdc67be9d..ba9c69bdd8 100644 --- a/recipes-bsp/netbase/netbase_sysmocom.inc +++ b/recipes-bsp/netbase/netbase_sysmocom.inc @@ -1,4 +1,4 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/${PN}-${PV}:${SYSMOCOM}/${PN}:" PRINC = "21" diff --git a/recipes-bsp/watchdog/watchdog_sysmocom.inc b/recipes-bsp/watchdog/watchdog_sysmocom.inc index b2e512c12c..0e68062b07 100644 --- a/recipes-bsp/watchdog/watchdog_sysmocom.inc +++ b/recipes-bsp/watchdog/watchdog_sysmocom.inc @@ -1,4 +1,4 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/${PN}-${PV}:${SYSMOCOM}/${PN}:" PRINC = "9" diff --git a/recipes-core/busybox/busybox_sysmocom.inc b/recipes-core/busybox/busybox_sysmocom.inc index 90f3e13b48..6050c3dfd6 100644 --- a/recipes-core/busybox/busybox_sysmocom.inc +++ b/recipes-core/busybox/busybox_sysmocom.inc @@ -1,4 +1,4 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/busybox-${SYSMOCOM_ORIG_PV}:${SYSMOCOM}/files:" PRINC = "30" diff --git a/recipes-core/busybox/busybox_sysmocom_systemd.inc b/recipes-core/busybox/busybox_sysmocom_systemd.inc index 58b268226b..a61540d0bc 100644 --- a/recipes-core/busybox/busybox_sysmocom_systemd.inc +++ b/recipes-core/busybox/busybox_sysmocom_systemd.inc @@ -1,4 +1,4 @@ # Make busybox work nicely with systemd -SYSMOCOM_D := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM_D := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/${PN}-systemd:${SYSMOCOM_D}/${PN}:" PRINC := "${@int(PRINC) + 3}" diff --git a/recipes-core/initrdscripts/initramfs-framework_sysmocom.inc b/recipes-core/initrdscripts/initramfs-framework_sysmocom.inc index 2d0b9ee2f0..3cbf83ff05 100644 --- a/recipes-core/initrdscripts/initramfs-framework_sysmocom.inc +++ b/recipes-core/initrdscripts/initramfs-framework_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" PRINC="4" diff --git a/recipes-core/initrdscripts/initramfs-live-install_sysmocom.inc b/recipes-core/initrdscripts/initramfs-live-install_sysmocom.inc index d507aa3fc4..7e3d1f6885 100644 --- a/recipes-core/initrdscripts/initramfs-live-install_sysmocom.inc +++ b/recipes-core/initrdscripts/initramfs-live-install_sysmocom.inc @@ -1,4 +1,4 @@ -SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/files:" PRINC = "2" diff --git a/recipes-fixes/cronie/cronie_sysmocom.inc b/recipes-fixes/cronie/cronie_sysmocom.inc index 2fa6e19f04..aa9d92fe2d 100644 --- a/recipes-fixes/cronie/cronie_sysmocom.inc +++ b/recipes-fixes/cronie/cronie_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files"], d)}:" PRINC="1" diff --git a/recipes-fixes/dropbear/dropbear_sysmocom.inc b/recipes-fixes/dropbear/dropbear_sysmocom.inc index a23e4990c1..6b6fef4ee5 100644 --- a/recipes-fixes/dropbear/dropbear_sysmocom.inc +++ b/recipes-fixes/dropbear/dropbear_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files"], d)}:" PRINC="4" diff --git a/recipes-fixes/initscripts/initscripts_dora.inc b/recipes-fixes/initscripts/initscripts_dora.inc index 5e69ea209a..edb32b72fa 100644 --- a/recipes-fixes/initscripts/initscripts_dora.inc +++ b/recipes-fixes/initscripts/initscripts_dora.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files-dora"], d)}:" PRINC="4" diff --git a/recipes-fixes/initscripts/initscripts_master.inc b/recipes-fixes/initscripts/initscripts_master.inc index 2a4815be07..26e33471df 100644 --- a/recipes-fixes/initscripts/initscripts_master.inc +++ b/recipes-fixes/initscripts/initscripts_master.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files-master"], d)}:" PRINC="4" diff --git a/recipes-fixes/iproute2/iproute2_sysmocom.inc b/recipes-fixes/iproute2/iproute2_sysmocom.inc index a5b3531472..3c0855da94 100644 --- a/recipes-fixes/iproute2/iproute2_sysmocom.inc +++ b/recipes-fixes/iproute2/iproute2_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/files/${PN}-${PV}"], d)}:${@base_set_filespath(["${THISDIR}/files"], d)}:" PRINC="2" diff --git a/recipes-fixes/opkg/opkg_sysmocom.inc b/recipes-fixes/opkg/opkg_sysmocom.inc index 82cd23f2f5..053de179cc 100644 --- a/recipes-fixes/opkg/opkg_sysmocom.inc +++ b/recipes-fixes/opkg/opkg_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}-${PV}"], d)}:" PRINC = "2" diff --git a/recipes-fixes/pkgconfig/pkgconfig_sysmocom.inc b/recipes-fixes/pkgconfig/pkgconfig_sysmocom.inc index afb832858e..dc8d381504 100644 --- a/recipes-fixes/pkgconfig/pkgconfig_sysmocom.inc +++ b/recipes-fixes/pkgconfig/pkgconfig_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}-${PV}"], d)}:" PRINC="2" diff --git a/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc b/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc index b8831d5491..5b97761c3e 100644 --- a/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc +++ b/recipes-fixes/systemd/systemd-compat-units_sysmocom.inc @@ -3,7 +3,7 @@ PRINC="3" # We need networking to run as we have no native services yet SYSTEMD_DISABLED_SYSV_SERVICES_remove = "networking dnsmasq" -S_THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +S_THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${S_THISDIR}/${PN}"], d)}:" SRC_URI += "file://alignment.service" diff --git a/recipes-fixes/systemd/systemd_sysmocom.inc b/recipes-fixes/systemd/systemd_sysmocom.inc index f1a8a3bfcf..39b063441b 100644 --- a/recipes-fixes/systemd/systemd_sysmocom.inc +++ b/recipes-fixes/systemd/systemd_sysmocom.inc @@ -1,4 +1,4 @@ -S_THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +S_THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${S_THISDIR}/${PN}"], d)}:" PRINC="25" diff --git a/recipes-fixes/udev/udev_sysmocom.inc b/recipes-fixes/udev/udev_sysmocom.inc index 57e5285480..52c54b3f12 100644 --- a/recipes-fixes/udev/udev_sysmocom.inc +++ b/recipes-fixes/udev/udev_sysmocom.inc @@ -1,4 +1,4 @@ -THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +THISDIR := "${@os.path.dirname(d.getVar('FILE', True))}" FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}-${PV}"], d)}:" PRINC="9" From 204fea2e7d1fbea0e8513e01d5eaeda058177371 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Mar 2017 21:08:49 +0200 Subject: [PATCH 12/19] linux-sysmocom: Add a Linux 4.9 recipe to be used for new poky Linux 4.9 is a LTS released and will be maintained until at least January 2019. --- conf/machine/include/sysmobts.inc | 2 +- recipes-bsp/linux/linux-sysmocom_4.9.bb | 59 +++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 recipes-bsp/linux/linux-sysmocom_4.9.bb diff --git a/conf/machine/include/sysmobts.inc b/conf/machine/include/sysmobts.inc index 1beba7f3d5..0ccad1f887 100644 --- a/conf/machine/include/sysmobts.inc +++ b/conf/machine/include/sysmobts.inc @@ -1,7 +1,7 @@ TARGET_ARCH = "arm" PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom" -PREFERRED_VERSION_linux-sysmocom = "3.10.84+git%" +PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}" PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross" PREFERRED_VERSION_u-boot = "git" diff --git a/recipes-bsp/linux/linux-sysmocom_4.9.bb b/recipes-bsp/linux/linux-sysmocom_4.9.bb new file mode 100644 index 0000000000..df2faca09e --- /dev/null +++ b/recipes-bsp/linux/linux-sysmocom_4.9.bb @@ -0,0 +1,59 @@ +inherit kernel +require linux-sysmocom.inc + +DEPENDS += "bc-native" + +# ATTENTION: Update linux-backports PR on version change. In Dora the +# reverse dependency tracking for the kernel doesn't appear to work. So +# please bump the PR on version changes! +# at versions changes do not forget to update conf/machine/include/sysmobts.inc too +LINUX_VERSION ?= "4.9.14" +LINUX_VERSION_EXTENSION ?= "-sysmocom-${LINUX_KERNEL_TYPE}" + +# Overrides for the sysmocom bts v2 +BTS_FIRMWARE_NAME_sysmobts-v2 = "sysmobts-v2" + +SRCREV = "8d5d275254642b70b3ecf18a5b9b9fe9d5777230" + +PR = "r1" +PV = "${LINUX_VERSION}+git${SRCPV}" + +SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=lynxis/v4.9 \ + file://defconfig" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "(sysmobts-v2|sysmocom-bsc)" +EXTRA_OEMAKE += "KALLSYMS_EXTRA_PASS=1" + +require linux-tools.inc + +do_configure() { + install -m 0644 ${WORKDIR}/defconfig ${B}/.config + oe_runmake -C ${S} O=${B} oldconfig +} + +# autoload defaults (alphabetically sorted) +module_autoload_davinci_mmc = "davinci_mmc" +module_autoload_dspdl_dm644x = "dspdl_dm644x" +module_autoload_fpgadl_par = "fpgadl_par" +module_autoload_leds-gpio = "leds-gpio" +module_autoload_mmc_block = "mmc_block" +module_autoload_msgqueue = "msgqueue" +module_autoload_rtfifo = "rtfifo" + +KERNEL_MODULE_PROBECONF_append = "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo" +KERNEL_MODULE_AUTOLOAD_append = "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo" + +# module configs (alphabetically sorted) +module_conf_dspdl_dm644x = "options dspdl_dm644x fw_name=${BTS_FIRMWARE_NAME}.out debug=0" +module_conf_fpgadl_par = "options fpgadl_par fw_name=${BTS_FIRMWARE_NAME}.bit" +module_conf_msgqueue = "options msgqueue fw_name=${BTS_FIRMWARE_NAME}.out" +module_conf_rtfifo = "options rtfifo fw_name=${BTS_FIRMWARE_NAME}.out" + +RDEPENDS_kernel-module-dspdl-dm644x += "sysmobts-firmware" +RDEPENDS_kernel-module-fpgadl-par += "sysmobts-firmware" +RDEPENDS_kernel-module-msgqueue += "sysmobts-firmware" +RDEPENDS_kernel-module-rtfifo += "sysmobts-firmware" + +DEFAULT_PREFERENCE = "-1" From b18c50951fd21dc63273070e27b2403014036305 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 30 Mar 2017 22:53:17 +0200 Subject: [PATCH 13/19] barebox: Update to be able build and link with gcc6/ld.gold Build the old barebox with newer tools. This should work for dora and master at the same time. --- recipes-bsp/barebox/barebox-sysmobts_git.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes-bsp/barebox/barebox-sysmobts_git.bb b/recipes-bsp/barebox/barebox-sysmobts_git.bb index e9ac5b4493..5320a60eb4 100644 --- a/recipes-bsp/barebox/barebox-sysmobts_git.bb +++ b/recipes-bsp/barebox/barebox-sysmobts_git.bb @@ -1,6 +1,6 @@ require barebox.inc -SRCREV = "f2b03e21a869b8df30e428ac9408d7988d55279a" +SRCREV = "1d8bdd6f226df2ecbde3776b52fbc228158293fd" SRC_URI = " \ git://git.sysmocom.de/barebox.git;branch=v2015.06 \ file://defconfig \ @@ -17,6 +17,9 @@ BAREBOX_BIN_SYMLINK ?= "barebox-${MACHINE}.bin" # generated using echo -n 'bts-stop' | sha1sum BAREBOX_PASSWORD = "5a7ef8875df28cb95a0f833906f94df8573bcc5d" +# Provide a replacement for calling whoami +export KBUILD_BUILD_USER="poky" + do_configure_append () { mkdir -p ${WORKDIR}/env/nv echo 5 > ${WORKDIR}/env/nv/login.timeout From bbc7c997aea7caa59aae5d02a68961f691259f62 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 2 Apr 2017 19:09:41 +0200 Subject: [PATCH 14/19] image-rauc-ubi: Fix building on latest poky mtd-utils-native needs to be available for do_deploy, so add the dependency there. DEPENDS is meaningless for us so remove it too. Use specific tasks as dependency to workaround an issue with poky master where glibc-initial and glibc-locale would be direct deps. Clone the recipe to deal with the different tasks. I wasn't able to get the other tasks in place for dora. --- .../images/image-rauc-ubi.bb | 0 yocto-master/images/image-rauc-ubi.bb | 78 +++++++++++++++++++ 2 files changed, 78 insertions(+) rename {recipes-core => yocto-dora}/images/image-rauc-ubi.bb (100%) create mode 100644 yocto-master/images/image-rauc-ubi.bb diff --git a/recipes-core/images/image-rauc-ubi.bb b/yocto-dora/images/image-rauc-ubi.bb similarity index 100% rename from recipes-core/images/image-rauc-ubi.bb rename to yocto-dora/images/image-rauc-ubi.bb diff --git a/yocto-master/images/image-rauc-ubi.bb b/yocto-master/images/image-rauc-ubi.bb new file mode 100644 index 0000000000..c9b9c05956 --- /dev/null +++ b/yocto-master/images/image-rauc-ubi.bb @@ -0,0 +1,78 @@ +DESCRIPTION = "ubi with rescue slot" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PACKAGES = "" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_fetch[cleandirs] = "${S}" +do_unpack[noexec] = "1" +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" +do_install[noexec] = "1" +do_populate_sysroot[noexec] = "1" +do_package[noexec] = "1" +do_packagedata[noexec] = "1" +do_package_write_ipk[noexec] = "1" +do_package_write_deb[noexec] = "1" +do_package_write_rpm[noexec] = "1" + +do_fetch[depends] += "virtual/kernel:do_deploy image-rauc-rescue-initramfs:do_image_complete" +do_deploy[depends] += "mtd-utils-native:do_populate_sysroot" + +S = "${WORKDIR}" + +do_fetch() { + mkdir -p "${S}/fs" + + cp "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin" "${S}/fs/kernel" + cp "${DEPLOY_DIR_IMAGE}/image-rauc-rescue-initramfs-${MACHINE}.cpio.xz" "${S}/fs/initramfs" +} + +do_fetch_append_gsmk-owhw() { + cp "${DEPLOY_DIR_IMAGE}/uImage-am335x-gsmk-owhw.dtb" "${S}/fs/devicetree" +} + +IMAGE_ROOTFS = "${S}/fs" +IMAGE_NAME = "${PN}-${MACHINE}-${DATETIME}" +# Don't include the DATETIME variable in the sstate package sigantures +IMAGE_NAME[vardepsexclude] = "DATETIME" +IMAGE_LINK_NAME = "${PN}-${MACHINE}" + +do_deploy() { + echo \[rescue\] > ubinize.cfg + echo mode=ubi >> ubinize.cfg + echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rescue.ubifs >> ubinize.cfg + echo vol_id=0 >> ubinize.cfg + echo vol_size=14MiB >> ubinize.cfg + echo vol_type=dynamic >> ubinize.cfg + echo vol_name=rescue >> ubinize.cfg + echo \[system0\] >> ubinize.cfg + echo mode=ubi >> ubinize.cfg + echo vol_id=1 >> ubinize.cfg + echo vol_size=35MiB >> ubinize.cfg + echo vol_type=dynamic >> ubinize.cfg + echo vol_name=system0 >> ubinize.cfg + echo \[system1\] >> ubinize.cfg + echo mode=ubi >> ubinize.cfg + echo vol_id=2 >> ubinize.cfg + echo vol_size=35MiB >> ubinize.cfg + echo vol_type=dynamic >> ubinize.cfg + echo vol_name=system1 >> ubinize.cfg + echo \[data\] >> ubinize.cfg + echo mode=ubi >> ubinize.cfg + echo vol_id=3 >> ubinize.cfg + echo vol_size=16MiB >> ubinize.cfg + echo vol_type=dynamic >> ubinize.cfg + echo vol_name=data >> ubinize.cfg + echo vol_flags=autoresize >> ubinize.cfg + + mkfs.ubifs --squash-uids -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rescue.ubifs ${MKUBIFS_ARGS} + ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubi ${UBINIZE_ARGS} ubinize.cfg + ln -sf ${IMAGE_NAME}.ubi ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ubi +} + +addtask deploy after do_fetch before do_build From 60aceccd0d8d8ec8c615123e0343b3937d34d212 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 25 Apr 2017 18:01:53 +0200 Subject: [PATCH 15/19] bsc/idu: Drop edison (1.1) support and stick to 3.10er kernel This is fixing the QA issue on newer perf for x86 on Dora as seen by the CI system. Drop support for ancient unsupported OE version and force 3.10/4.9 depending on where we are. --- conf/machine/sysmocom-bsc.conf | 3 ++- conf/machine/sysmocom-idu.conf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/machine/sysmocom-bsc.conf b/conf/machine/sysmocom-bsc.conf index 7d5601a27a..8476894679 100644 --- a/conf/machine/sysmocom-bsc.conf +++ b/conf/machine/sysmocom-bsc.conf @@ -8,7 +8,8 @@ PREFERRED_PROVIDER_virtual/libgl = "mesa-dri" PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" -PREFERRED_PROVIDER_virtual/kernel = "${@['linux-sysmocom', 'linux']['1.1' in d.getVar('DISTRO_VERSION', True)]}" +PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom" +PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}" require conf/machine/include/tune-geode.inc diff --git a/conf/machine/sysmocom-idu.conf b/conf/machine/sysmocom-idu.conf index 5827bc7484..c1a8891664 100644 --- a/conf/machine/sysmocom-idu.conf +++ b/conf/machine/sysmocom-idu.conf @@ -10,7 +10,8 @@ PREFERRED_PROVIDER_virtual/libgl = "mesa-dri" PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" -PREFERRED_PROVIDER_virtual/kernel = "${@['linux-sysmocom', 'linux']['1.1' in d.getVar('DISTRO_VERSION', True)]}" +PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom" +PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}" MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi" From 1bc3be8eb6c4b6c88337fcb8142d4b2037d4438e Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Wed, 26 Apr 2017 23:03:27 +0200 Subject: [PATCH 16/19] sysmocom-bsc2: Add a BSC v2 where we can tune for i686 The old Geode based systems are replaced by AMD APU systems. We might build for sysmobsc v1 and v2 but would like to be able to tune for the better CPU. --- conf/machine/sysmocom-bsc-v2.conf | 43 +++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 conf/machine/sysmocom-bsc-v2.conf diff --git a/conf/machine/sysmocom-bsc-v2.conf b/conf/machine/sysmocom-bsc-v2.conf new file mode 100644 index 0000000000..c1a8891664 --- /dev/null +++ b/conf/machine/sysmocom-bsc-v2.conf @@ -0,0 +1,43 @@ +#@TYPE: Machine +#@NAME: common_pc +#@DESCRIPTION: Machine configuration for running a common x86 + +require conf/machine/include/tune-core2.inc +require conf/machine/include/genericx86-common.inc + + +PREFERRED_PROVIDER_virtual/libgl = "mesa-dri" +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet" +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" +PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" +PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom" +PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}" + +MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi" + +KERNEL_IMAGETYPE = "bzImage" + +IMAGE_FSTYPES = "ext4" + +# After dora core2 got renamed to core2-32 +# After dora core2 got renamed to core2-32 +DEFAULTTUNE := "${@['core2', 'core2-32']['core2-32' in d.getVar('AVAILTUNES', True)]}" + +SERIAL_CONSOLE = "115200 ttyS0" +MACHINE_CONSOLE = "console=ttyS0,115200n8" + +# We bypass swrast but we need it to be present for X to load correctly +XSERVER ?= "xserver-xf86-dri-lite \ + mesa-dri-driver-swrast \ + xf86-input-vmmouse \ + xf86-input-keyboard \ + xf86-input-evdev \ + xf86-video-vmware" + +GLIBC_ADDONS = "nptl" +GLIBC_EXTRA_OECONF = "--with-tls" + +#MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "linux-firmware-rtl-nic" + +MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc" From 8610f3240176aad4542853cb150367166806a67f Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 27 Apr 2017 12:45:34 +0200 Subject: [PATCH 17/19] sysmocom-defaults: Workaround sysmocom-bsc-v2 rootfs issue Disable the libsolv backend to workaround an install issue. This does not occur or sysmobts or sysmocom-bsc but only on the v2 target or the idu. --- conf/distro/include/sysmocom-defaults.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/distro/include/sysmocom-defaults.conf b/conf/distro/include/sysmocom-defaults.conf index 5d5d2d4dc4..da87fd2654 100644 --- a/conf/distro/include/sysmocom-defaults.conf +++ b/conf/distro/include/sysmocom-defaults.conf @@ -35,3 +35,7 @@ PACKAGECONFIG_pn-systemd = "compat ldconfig binfmt sysusers randomseed myhostnam # From fido on.. build curl with libssl to avoid gnutls PACKAGECONFIG_pn-curl="ipv6 ssl zlib" + +# disable libsolv as it is broken Yocto Bug #11427 +PACKAGECONFIG_pn-opkg = "" +PACKAGECONFIG_pn-opkg-native = "" From abc017e891d667bcb59e175e3730b614d6d2b38f Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 30 Apr 2017 00:15:49 +0200 Subject: [PATCH 18/19] sysmobts: Force thumb interworking (armv5_t_e) for pyro Somehow the PACKAGE_ARCH selection in pyro only comes up with armv5e but we want (at least for legacy) thumb interworking. Force it to the thumb mode. --- conf/machine/include/sysmobts.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/machine/include/sysmobts.inc b/conf/machine/include/sysmobts.inc index 0ccad1f887..de327c4e68 100644 --- a/conf/machine/include/sysmobts.inc +++ b/conf/machine/include/sysmobts.inc @@ -41,3 +41,6 @@ MACHINE_EXTRA_RDEPENDS = "\ require conf/machine/include/tune-arm926ejs.inc require conf/machine/include/dm6446.inc + +# we tune for armv5te but it ends up as armv5e on pyro and probably earlier. Help it. +ARMPKGSFX_THUMB="t" From 315f10aa4759abb627f39122503874e7006db8b1 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Fri, 2 Jun 2017 14:59:05 +0200 Subject: [PATCH 19/19] osmo-bts: Update revision to fix GSM HR encoding Ticket: SYS#2452 --- recipes-sysmobts/osmo-bts/osmo-bts_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-sysmobts/osmo-bts/osmo-bts_git.bb b/recipes-sysmobts/osmo-bts/osmo-bts_git.bb index 838e49d0ce..94eda1dc46 100644 --- a/recipes-sysmobts/osmo-bts/osmo-bts_git.bb +++ b/recipes-sysmobts/osmo-bts/osmo-bts_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM="file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788" SRC_URI = "git://git.osmocom.org/osmo-bts.git;protocol=git;branch=sysmocom/0.3.5-stable;name=osmobts;destsuffix=git \ git://git.osmocom.org/openbsc;protocol=git;branch=master;name=openbsc;destsuffix=openbsc \ file://gcc6-linking-fix.patch" -SRCREV_osmobts = "1a2ff06d206fc4ff3cb8170ebe2b5570addc5be3" +SRCREV_osmobts = "a4bd813081e788012c72f34d31150cdf02db307f" SRCREV_openbsc = "57ee78078905c7499bd4e6857f8981d22badfcac" PV = "0.4.3+git${SRCPV}" PR = "r18.${META_TELEPHONY_OSMO_INC}"