initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,33 @@
From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001
From: Michael Nosthoff <bluez@heine.tech>
Date: Thu, 22 Jul 2021 21:36:13 +0200
Subject: [PATCH BlueZ] tools/mesh-cfgtest: include limits.h
mesh-cfgtest.c uses PATH_MAX so it should include limits.h.
fixes compilation error when enabling mesh support with musl-based
toolchains observed in buildroot autobuilders.
http://autobuild.buildroot.net/results/20cc47f54de0b0d4bdf108c3715c590ae8ab476f/
http://autobuild.buildroot.net/results/003968b25906579dbcf5a95d1e43fec0ab504ef5/
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
tools/mesh-cfgtest.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/mesh-cfgtest.c b/tools/mesh-cfgtest.c
index fa0474faa..116ab7f16 100644
--- a/tools/mesh-cfgtest.c
+++ b/tools/mesh-cfgtest.c
@@ -21,6 +21,7 @@
#include <ftw.h>
#include <getopt.h>
#include <libgen.h>
+#include <limits.h>
#include <signal.h>
#include <stdio.h>
#include <time.h>
--
2.32.0
+159
View File
@@ -0,0 +1,159 @@
config BR2_PACKAGE_BLUEZ5_UTILS
bool "bluez-utils"
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
depends on BR2_USE_MMU # dbus
depends on !BR2_STATIC_LIBS # uses dlfcn
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
help
BlueZ utils
Provides Stack, Library and Tooling for Bluetooth Classic
and Bluetooth LE.
BlueZ utils will use systemd and/or udev if enabled.
http://www.bluez.org
http://www.kernel.org/pub/linux/bluetooth
if BR2_PACKAGE_BLUEZ5_UTILS
config BR2_PACKAGE_BLUEZ5_UTILS_OBEX
bool "build OBEX support"
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_LIBICAL
help
Enable OBEX support.
comment "OBEX support needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
bool "build CLI client"
select BR2_PACKAGE_READLINE
help
Build the command line client "bluetoothctl".
config BR2_PACKAGE_BLUEZ5_UTILS_MONITOR
bool "build monitor utility"
help
Build monitor utility btmon.
config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS
bool "build tools"
help
Build tools like bluemoon, btattach, hex2hcd, l2test,
l2ping, mpris-proxy, rctest.
config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
bool "install deprecated tools"
depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT || BR2_PACKAGE_BLUEZ5_UTILS_TOOLS
help
Build deprecated tools.
When "build tools" is selected these tools are installed:
hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool,
ciptool.
When CLI client is enabled "gatttool" is installed.
config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL
bool "build experimental tools"
help
Build experimental tools. This is currently only the
"Nokia OBEX PC Suite tool". So, only if OBEX support is
enabled this option has an effect.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO
bool "build audio plugins (a2dp and avrcp)"
help
Build plugins for audio profiles (for A2DP and AVRCP).
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH
bool "build health plugin"
help
Build plugin for health profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID
bool "build hid plugin"
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG
help
Build plugin for HID (input) profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG
bool "build hog plugin"
help
Build plugin for HoG (input) profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH
bool "build mesh plugin"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell
select BR2_PACKAGE_ELL
select BR2_PACKAGE_JSON_C
select BR2_PACKAGE_READLINE
help
Build plugin for Mesh support.
comment "mesh profile needs a toolchain w/ headers >= 4.12"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI
bool "build midi plugin"
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_SEQ
help
Build MIDI support via ALSA sequencer.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK
bool "build network plugin"
default y
help
Build plugin for PANU, NAP, GN profiles.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC
bool "build nfc plugin"
help
Build plugin for NFC pairing.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP
bool "build sap plugin"
help
Build plugin for SAP profile.
config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS
bool "build sixaxis plugin"
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime
help
Build sixaxis plugin (support Sony Dualshock
controller)
comment "sixaxis plugin needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV
config BR2_PACKAGE_BLUEZ5_UTILS_TEST
bool "install test scripts"
help
Install the python test scripts from the "test" directory.
config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI
bool "build hid2hci tool"
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime
select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS
help
Build hid2hci tool
comment "hid2hci tool needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV
endif
comment "bluez5-utils needs a toolchain w/ wchar, threads, headers >= 3.4, dynamic library"
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_USE_MMU
+61
View File
@@ -0,0 +1,61 @@
#!/bin/sh
DAEMON="bluetoothd"
PIDFILE="/var/run/$DAEMON.pid"
BLUETOOTHD_ARGS="-n"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/libexec/bluetooth/$DAEMON" \
-- $BLUETOOTHD_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
reload() {
printf 'Reloading %s: ' "$DAEMON"
start-stop-daemon -K -s HUP -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start|stop|restart|reload)
"$1";;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
+5
View File
@@ -0,0 +1,5 @@
# From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc:
sha256 38090a5b750e17fc08d3e52178ed8d3254c5f4bd2c48830d5c1955b88e3bc0c2 bluez-5.62.tar.xz
# Locally computed
sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB
+187
View File
@@ -0,0 +1,187 @@
################################################################################
#
# bluez5_utils
#
################################################################################
# Keep the version and patches in sync with bluez5_utils-headers
BLUEZ5_UTILS_VERSION = 5.62
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES
BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
BLUEZ5_UTILS_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
dbus \
libglib2
BLUEZ5_UTILS_CONF_OPTS = \
--enable-library \
--disable-cups \
--disable-manpages \
--with-dbusconfdir=/etc
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-obex
BLUEZ5_UTILS_DEPENDENCIES += libical
else
BLUEZ5_UTILS_CONF_OPTS += --disable-obex
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-client
BLUEZ5_UTILS_DEPENDENCIES += readline
else
BLUEZ5_UTILS_CONF_OPTS += --disable-client
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-monitor
else
BLUEZ5_UTILS_CONF_OPTS += --disable-monitor
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-tools
else
BLUEZ5_UTILS_CONF_OPTS += --disable-tools
endif
# experimental plugins
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-experimental
else
BLUEZ5_UTILS_CONF_OPTS += --disable-experimental
endif
# enable audio plugins (a2dp and avrcp)
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp
else
BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp
endif
# enable health plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-health
else
BLUEZ5_UTILS_CONF_OPTS += --disable-health
endif
# enable hid plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hid
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hid
endif
# enable hog plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hog
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hog
endif
# enable mesh profile
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh
BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline
else
BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh
endif
# enable midi profile
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-midi
BLUEZ5_UTILS_DEPENDENCIES += alsa-lib
else
BLUEZ5_UTILS_CONF_OPTS += --disable-midi
endif
# enable network plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-network
else
BLUEZ5_UTILS_CONF_OPTS += --disable-network
endif
# enable nfc plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-nfc
else
BLUEZ5_UTILS_CONF_OPTS += --disable-nfc
endif
# enable sap plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-sap
else
BLUEZ5_UTILS_CONF_OPTS += --disable-sap
endif
# enable sixaxis plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis
else
BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
# install gatttool (For some reason upstream choose not to do it by default)
# gattool depends on the client for readline
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
define BLUEZ5_UTILS_INSTALL_GATTTOOL
$(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool
endef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
endif
# hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but
# Broadcom firmware blobs are usually located in `/lib/firmware`.
BLUEZ5_UTILS_CONF_ENV += \
CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"'
BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated
else
BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated
endif
# enable test
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-test
else
BLUEZ5_UTILS_CONF_OPTS += --disable-test
endif
# enable hid2hci tool
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hid2hci
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hid2hci
endif
# use udev if available
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-udev
BLUEZ5_UTILS_DEPENDENCIES += udev
else
BLUEZ5_UTILS_CONF_OPTS += --disable-udev
endif
# integrate with systemd if available
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-systemd
BLUEZ5_UTILS_DEPENDENCIES += systemd
else
BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
endif
define BLUEZ5_UTILS_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetooth \
$(TARGET_DIR)/etc/init.d/S40bluetooth
endef
$(eval $(autotools-package))