Bump buildroot to 2020.11-rc1 (#985)

* Update buildroot-patches for 2020.11-rc1 buildroot

* Update buildroot to 2020.11-rc1

Signed-off-by: Stefan Agner <stefan@agner.ch>

* Don't rely on sfdisk --list-free output

The --list-free (-F) argument does not allow machine readable mode. And
it seems that the output format changes over time (different spacing,
using size postfixes instead of raw blocks).

Use sfdisk json output and calculate free partition space ourselfs. This
works for 2.35 and 2.36 and is more robust since we rely on output which
is meant for scripts to parse.

* Migrate defconfigs for Buildroot 2020.11-rc1

In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE).

* Rebase/remove systemd patches for systemd 246

* Drop apparmor/libapparmor from buildroot-external

* hassos-persists: use /run as directory for lockfiles

The U-Boot tools use /var/lock by default which is not created any more
by systemd by default (it is under tmpfiles legacy.conf, which we no
longer install).

* Disable systemd-update-done.service

The service is not suited for pure read-only systems. In particular the
service needs to be able to write a file in /etc and /var. Remove the
service. Note: This is a static service and cannot be removed using
systemd-preset.

* Disable apparmor.service for now

The service loads all default profiles. Some might actually cause
problems. E.g. the profile for ping seems not to match our setup for
/etc/resolv.conf:
[85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
This commit is contained in:
Stefan Agner
2020-11-13 18:25:44 +01:00
committed by GitHub
parent 25a0dd3082
commit a0871be6c0
4024 changed files with 68095 additions and 47900 deletions

View File

@@ -1,92 +0,0 @@
From d6647680612276f2321cc6a83964e9264fca42a1 Mon Sep 17 00:00:00 2001
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Date: Wed, 15 Jan 2020 17:23:08 +0100
Subject: [PATCH] add boost unit_test_framework required only when
ENABLE_TESTING=ON
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
CMakeLists.txt | 7 +++----
cmake/Modules/GnuradioConfig.cmake.in | 16 +++++++++++++---
cmake/Modules/GrBoost.cmake | 5 ++++-
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a47a945f9..58add6136 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,6 +46,9 @@ GR_CHECK_BUILD_TYPE(${CMAKE_BUILD_TYPE})
SET(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.")
+include(GrComponent)
+GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING)
+
# Set the version information here
SET(VERSION_MAJOR 3)
SET(VERSION_API 8)
@@ -377,10 +380,6 @@ GR_REGISTER_COMPONENT("python-support" ENABLE_PYTHON
SIX_FOUND
)
-GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING
- Boost_FOUND
-)
-
if(${CMAKE_BUILD_TYPE} STREQUAL "Coverage")
include(CodeCoverage)
setup_target_for_coverage(coverage "ctest || exit 0" coverage)
diff --git a/cmake/Modules/GnuradioConfig.cmake.in b/cmake/Modules/GnuradioConfig.cmake.in
index 1e5ad20ec..f59e74b8b 100644
--- a/cmake/Modules/GnuradioConfig.cmake.in
+++ b/cmake/Modules/GnuradioConfig.cmake.in
@@ -24,15 +24,25 @@ list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}")
find_dependency(LOG4CPP)
find_dependency(MPLIB)
-find_dependency(Boost "@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@.@Boost_SUBMINOR_VERSION@" COMPONENTS
+
+set(BOOST_REQUIRED_COMPONENTS
date_time
program_options
filesystem
system
regex
thread
- unit_test_framework
- )
+)
+
+if (NOT ENABLE_TESTING)
+ set(ENABLE_TESTING @ENABLE_TESTING@ CACHE BOOL "Enable testing support")
+endif()
+
+if(ENABLE_TESTING)
+ list(APPEND BOOST_REQUIRED_COMPONENTS unit_test_framework)
+endif(ENABLE_TESTING)
+
+find_dependency(Boost "@Boost_MAJOR_VERSION@.@Boost_MINOR_VERSION@.@Boost_SUBMINOR_VERSION@" COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
find_dependency(Volk)
set(ENABLE_PYTHON @ENABLE_PYTHON@ CACHE BOOL "Enable Python & SWIG")
if(${ENABLE_PYTHON})
diff --git a/cmake/Modules/GrBoost.cmake b/cmake/Modules/GrBoost.cmake
index cd4b120f7..670e61054 100644
--- a/cmake/Modules/GrBoost.cmake
+++ b/cmake/Modules/GrBoost.cmake
@@ -33,9 +33,12 @@ set(BOOST_REQUIRED_COMPONENTS
system
regex
thread
- unit_test_framework
)
+if(ENABLE_TESTING)
+ list(APPEND BOOST_REQUIRED_COMPONENTS unit_test_framework)
+endif(ENABLE_TESTING)
+
if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
--
2.24.1

View File

@@ -1,50 +0,0 @@
From 08f335450b9809acdbe88d894449ccd6d4a9ec75 Mon Sep 17 00:00:00 2001
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Date: Wed, 15 Jan 2020 17:27:15 +0100
Subject: [PATCH] lib/CMakeLists: fix neon version detection
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
volk/lib/CMakeLists.txt | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index f969f2e..b85a22b 100644
--- a/volk/lib/CMakeLists.txt
+++ b/volk/lib/CMakeLists.txt
@@ -144,7 +144,7 @@ set(HAVE_AVX_CVTPI32_PS 0)
if(CPU_IS_x86)
# check to see if the compiler/linker works with xgetb instruction
if (NOT MSVC)
- file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "unsigned long long _xgetbv(unsigned int index) { unsigned int eax, edx; __asm__ __volatile__(\"xgetbv\" : \"=a\"(eax), \"=d\"(edx) : \"c\"(index)); return ((unsigned long long)edx << 32) | eax; } int main (void) { (void) _xgetbv(0); return (0); }")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "#include <volk/volk_common.h>\n unsigned long long _xgetbv(unsigned int index) { unsigned int eax, edx; __VOLK_ASM __volatile__(\"xgetbv\" : \"=a\"(eax), \"=d\"(edx) : \"c\"(index)); return ((unsigned long long)edx << 32) | eax; } int main (void) { (void) _xgetbv(0); return (0); }")
else (NOT MSVC)
#MSVC defines an intrinsic
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_xgetbv.c "#include <stdio.h> \n #include <intrin.h> \n int main() { int avxSupported = 0; \n#if (_MSC_FULL_VER >= 160040219) \nint cpuInfo[4]; __cpuid(cpuInfo, 1);\nif ((cpuInfo[2] & (1 << 27) || 0) && (cpuInfo[2] & (1 << 28) || 0)) \n{\nunsigned long long xcrFeatureMask = _xgetbv(_XCR_XFEATURE_ENABLED_MASK);\n avxSupported = (xcrFeatureMask & 0x6) == 6;}\n#endif \n return 1- avxSupported; }")
@@ -263,17 +263,17 @@ check_c_source_compiles("#include <arm_neon.h>\nint main(){ uint8_t *dest; uint8
neon_compile_result)
if(neon_compile_result)
- check_c_source_compiles("int main(){asm volatile(\"vrev32.8 q0, q0\");}"
+ check_c_source_compiles("#include <volk/volk_common.h>\n int main(){__VOLK_ASM volatile(\"vrev32.8 q0, q0\");}"
have_neonv7_result )
- check_c_source_compiles("int main(){asm volatile(\"sub v1.4s,v1.4s,v1.4s\");}"
+ check_c_source_compiles("#include <volk/volk_common.h>\n int main(){__VOLK_ASM volatile(\"sub v1.4s,v1.4s,v1.4s\");}"
have_neonv8_result )
- if (have_neonv7_result)
- OVERRULE_ARCH(neonv8 "CPU is armv7")
+ if (NOT have_neonv7_result)
+ OVERRULE_ARCH(neonv7 "Compiler doesn't support neonv7")
endif()
- if (have_neonv8_result)
- OVERRULE_ARCH(neonv7 "CPU is armv8")
+ if (NOT have_neonv8_result)
+ OVERRULE_ARCH(neonv8 "Compiler doesn't support neonv8")
endif()
else(neon_compile_result)
OVERRULE_ARCH(neon "Compiler doesn't support NEON")
--
2.24.1

View File

@@ -0,0 +1,57 @@
From 84dea8284c521f08508bb2dcbc99db3b5d3438fd Mon Sep 17 00:00:00 2001
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Date: Thu, 27 Aug 2020 17:32:09 +0200
Subject: [PATCH] gnuradio-runtime_pmt: dont hardcode
INTERFACE_INCLUDE_DIRECTORIES
gnuradio-runtimeTargets.cmake and gnuradio-pmtTargets.cmake are filled
using CMAKE_INSTALL_PREFIX for INSTALL_INTERFACE.
Since CMAKE_INSTALL_PREFIX, in buildroot, is set to /usr, these files contains
path to host system.
With BR2_COMPILER_PARANOID_UNSAFE_PATH package using gnuradio fails with:
arm-linux-gnueabihf-g++: ERROR: unsafe header/library path used in cross-compilation: '-isystem' '/usr/include'
By simply providing 'include', produced .cmake contains:
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
instead of
INTERFACE_INCLUDE_DIRECTORIES "/usr/include"
[Upstream status: https://github.com/gnuradio/gnuradio/pull/3737]
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
---
gnuradio-runtime/lib/CMakeLists.txt | 2 +-
gnuradio-runtime/lib/pmt/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnuradio-runtime/lib/CMakeLists.txt b/gnuradio-runtime/lib/CMakeLists.txt
index 5aa90a5e1..fc32f473b 100644
--- a/gnuradio-runtime/lib/CMakeLists.txt
+++ b/gnuradio-runtime/lib/CMakeLists.txt
@@ -214,7 +214,7 @@ target_link_libraries(gnuradio-runtime PUBLIC
target_include_directories(gnuradio-runtime
PUBLIC
- $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>
+ $<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../include>
PRIVATE
diff --git a/gnuradio-runtime/lib/pmt/CMakeLists.txt b/gnuradio-runtime/lib/pmt/CMakeLists.txt
index 9fb98d0fc..6dfcd945c 100644
--- a/gnuradio-runtime/lib/pmt/CMakeLists.txt
+++ b/gnuradio-runtime/lib/pmt/CMakeLists.txt
@@ -33,7 +33,7 @@ target_link_libraries(gnuradio-pmt
target_include_directories(gnuradio-pmt
PUBLIC
- $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>
+ $<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/
)
--
2.26.2

View File

@@ -54,6 +54,14 @@ config BR2_PACKAGE_GNURADIO_CTRLPORT
help
GNU Radio ctrlport block
config BR2_PACKAGE_GNURADIO_DTV
bool "gr-dtv support"
select BR2_PACKAGE_GNURADIO_ANALOG
select BR2_PACKAGE_GNURADIO_FEC
select BR2_PACKAGE_GNURADIO_FILTER
help
various digital television standards blocks
config BR2_PACKAGE_GNURADIO_FEC
bool "gr-fec support"
select BR2_PACKAGE_GNURADIO_BLOCKS
@@ -63,7 +71,7 @@ config BR2_PACKAGE_GNURADIO_FEC
config BR2_PACKAGE_GNURADIO_PYTHON
bool "python support"
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
select BR2_PACKAGE_BOOST_PYTHON
@@ -126,6 +134,20 @@ config BR2_PACKAGE_GNURADIO_PAGER
help
FLEX pager decoder implementation blocks
config BR2_PACKAGE_GNURADIO_QTGUI
bool "gr-qtgui"
depends on BR2_PACKAGE_GNURADIO_PYTHON
depends on BR2_PACKAGE_QT5
select BR2_PACKAGE_GNURADIO_FFT
select BR2_PACKAGE_GNURADIO_FILTER
select BR2_PACKAGE_PYTHON_PYQT5
select BR2_PACKAGE_QT5BASE_FONTCONFIG # runtime
select BR2_PACKAGE_QT5BASE_GUI # runtime
select BR2_PACKAGE_QT5BASE_WIDGETS # runtime
select BR2_PACKAGE_QWT
help
GNU Radio Qt scopes
config BR2_PACKAGE_GNURADIO_TRELLIS
bool "gr-trellis support"
select BR2_PACKAGE_GNURADIO_DIGITAL

View File

@@ -1,3 +1,3 @@
# Locally computed
sha256 3a9c90111f22f2f6f30450731dc671ad28ce824fc1a7bc8ea0783da9b95a7092 gnuradio-3.8.0.0.tar.gz
sha256 e15311e7da9fe2bb790cc36321d7eb2d93b9dfa0c1552fa5d534dd99d22873be gnuradio-3.8.1.0.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING

View File

@@ -4,13 +4,20 @@
#
################################################################################
GNURADIO_VERSION = 3.8.0.0
GNURADIO_SITE = https://gnuradio.org/releases/gnuradio
GNURADIO_VERSION = 3.8.1.0
GNURADIO_SITE = https://github.com/gnuradio/gnuradio/releases/download/v$(GNURADIO_VERSION)
GNURADIO_LICENSE = GPL-3.0+
GNURADIO_LICENSE_FILES = COPYING
GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO
# needed to determine site-packages path
ifeq ($(BR2_PACKAGE_PYTHON),y)
GNURADIO_PYVER = $(PYTHON_VERSION_MAJOR)
else ifeq ($(BR2_PACKAGE_PYTHON3),y)
GNURADIO_PYVER = $(PYTHON3_VERSION_MAJOR)
endif
# host-python-mako and host-python-six are needed for volk to compile
GNURADIO_DEPENDENCIES = \
$(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python) \
@@ -27,7 +34,6 @@ GNURADIO_CONF_OPTS = \
-DENABLE_VOLK=ON \
-DENABLE_GNURADIO_RUNTIME=ON \
-DENABLE_TESTING=OFF \
-DENABLE_GR_QTGUI=OFF \
-DXMLTO_EXECUTABLE=NOTFOUND
# For third-party blocks, the gnuradio libraries are mandatory at
@@ -87,6 +93,12 @@ else
GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_DTV),y)
GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=ON
else
GNURADIO_CONF_OPTS += -DENABLE_GR_DTV=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y)
GNURADIO_DEPENDENCIES += gsl
GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON
@@ -108,8 +120,12 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
GNURADIO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,python)
GNURADIO_DEPENDENCIES += python3
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
# mandatory to install python modules in site-packages and to use
# correct path for python libraries
GNURADIO_CONF_OPTS += -DGR_PYTHON_RELATIVE=ON \
-DGR_PYTHON_DIR=lib/python$(GNURADIO_PYVER)/site-packages
else
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=OFF
endif
@@ -120,6 +136,13 @@ else
GNURADIO_CONF_OPTS += -DENABLE_GR_PAGER=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y)
GNURADIO_DEPENDENCIES += qt5base python-pyqt5 qwt
GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON
else
GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF
endif
ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y)
GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON
else