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
+243
View File
@@ -0,0 +1,243 @@
comment "gpsd needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
menuconfig BR2_PACKAGE_GPSD
bool "gpsd"
# Uses fork()
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS
# Always tries to build a shared library
depends on !BR2_STATIC_LIBS
help
gpsd is a service daemon that monitors one or more GPSes or
AIS receivers attached to a host computer through serial or
USB ports, making all data on the location/course/velocity of
the sensors available to be queried on TCP port 2947 of the
host computer.
The D-Bus interface is included if dbus-glib is enabled.
https://gpsd.gitlab.io/gpsd
if BR2_PACKAGE_GPSD
config BR2_PACKAGE_GPSD_DEVICES
string "Where to look for GPSes"
default "/dev/ttyS1"
comment "Features"
config BR2_PACKAGE_GPSD_CLIENT_DEBUG
bool "client debugging support"
config BR2_PACKAGE_GPSD_OLDSTYLE
bool "oldstyle (pre-JSON) protocol support"
config BR2_PACKAGE_GPSD_PROFILING
bool "profiling support"
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on !BR2_aarch64
# Needs glibc for ARC arc-2018.03-eng007+ for correct __mcount linking
depends on !BR2_arc
comment "profiling support not available with uClibc-based toolchain"
depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_GPSD_USER
bool "GPSD privilege revocation user"
config BR2_PACKAGE_GPSD_USER_VALUE
string "user to run as"
default "nobody"
depends on BR2_PACKAGE_GPSD_USER
config BR2_PACKAGE_GPSD_GROUP
bool "GPSD privilege revocation group"
config BR2_PACKAGE_GPSD_GROUP_VALUE
string "group to run as"
default "nobody"
depends on BR2_PACKAGE_GPSD_GROUP
config BR2_PACKAGE_GPSD_MAX_CLIENT
bool "compile with limited maximum clients"
config BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE
int "maximum number of clients"
default "10"
depends on BR2_PACKAGE_GPSD_MAX_CLIENT
config BR2_PACKAGE_GPSD_MAX_DEV
bool "compile with maximum allowed devices"
config BR2_PACKAGE_GPSD_MAX_DEV_VALUE
int "maximum allowed devices"
default "2"
depends on BR2_PACKAGE_GPSD_MAX_DEV
config BR2_PACKAGE_GPSD_SQUELCH
bool "squelch gpsd_report and gpsd_hexdump to save cpu"
config BR2_PACKAGE_GPSD_PYTHON
bool "build Python support and modules"
depends on BR2_USE_WCHAR # python
select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON
help
Python libraries and tools for the gpsd service daemon
including gpsfake test harness.
comment "GPSD python support not available with toolchain w/o wide characters support"
depends on !BR2_USE_WCHAR
comment "Protocols"
config BR2_PACKAGE_GPSD_AIVDM
bool "Aivdm"
help
Aivdm support
config BR2_PACKAGE_GPSD_ASHTECH
bool "Ashtech"
help
Ashtech support
config BR2_PACKAGE_GPSD_EARTHMATE
bool "Earthmate"
help
DeLorme EarthMate Zodiac support
config BR2_PACKAGE_GPSD_EVERMORE
bool "EverMore"
help
EverMore binary support
config BR2_PACKAGE_GPSD_FURY
bool "Fury"
help
Jackson Labs Fury and Firefly support
config BR2_PACKAGE_GPSD_FV18
bool "FV-18"
help
San Jose Navigation FV-18 support
config BR2_PACKAGE_GPSD_GARMIN
bool "Garmin (kernel)"
help
Garmin kernel driver support
config BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT
bool "Garmin (simple text)"
help
Garmin Simple Text support
config BR2_PACKAGE_GPSD_GEOSTAR
bool "Geostar"
help
Geostar Protocol support
config BR2_PACKAGE_GPSD_GPSCLOCK
bool "GPSClock"
help
GPSClock support
config BR2_PACKAGE_GPSD_GREIS
bool "Greis"
help
Greis support
config BR2_PACKAGE_GPSD_ISYNC
bool "iSync"
help
Spectratime iSync LNRClok/GRCLOK support
config BR2_PACKAGE_GPSD_ITRAX
bool "iTrax"
help
iTrax support
config BR2_PACKAGE_GPSD_MTK3301
bool "MTK-3301"
help
Mediatek MTK-3301 support
config BR2_PACKAGE_GPSD_NAVCOM
bool "Navcom"
help
Navcom binary support
config BR2_PACKAGE_GPSD_NMEA
bool "NMEA"
default y
help
Generic NMEA support
config BR2_PACKAGE_GPSD_NMEA2000
bool "NMEA2000"
select BR2_PACKAGE_GPSD_NAVCOM
select BR2_PACKAGE_GPSD_AIVDM
help
NMEA2000/CAN support
config BR2_PACKAGE_GPSD_NTRIP
bool "NTRIP"
help
NTRIP support
config BR2_PACKAGE_GPSD_OCEANSERVER
bool "OceanServer"
help
OceanServer Digital Compass support
config BR2_PACKAGE_GPSD_ONCORE
bool "OnCore"
help
OnCore support
config BR2_PACKAGE_GPSD_RTCM104V2
bool "RTCM104 v2"
help
RTCM104 v2 support
config BR2_PACKAGE_GPSD_RTCM104V3
bool "RTCM104 v3"
help
RTCM104 v3 support
config BR2_PACKAGE_GPSD_SIRF
bool "SiRF"
help
SiRF binary support
config BR2_PACKAGE_GPSD_SKYTRAQ
bool "Skytraq"
help
Skytraq support
config BR2_PACKAGE_GPSD_SUPERSTAR2
bool "SuperStarII"
help
Novatel SuperStarII binary support
config BR2_PACKAGE_GPSD_TRIMBLE_TSIP
bool "Trimble TSIP"
help
Trimble TSIP support
config BR2_PACKAGE_GPSD_TRIPMATE
bool "TripMate"
help
Delorme TripMate support
config BR2_PACKAGE_GPSD_TRUE_NORTH
bool "True North Technologies"
help
True North Technologies support
config BR2_PACKAGE_GPSD_UBX
bool "UBX"
help
uBlox UBX binary support
endif
+40
View File
@@ -0,0 +1,40 @@
#!/bin/sh
#
# Starts the gps daemon.
#
NAME=gpsd
DAEMON=/usr/sbin/$NAME
DEVICES=/dev/ttyS1
PIDFILE=/var/run/$NAME.pid
start() {
printf "Starting $NAME: "
start-stop-daemon -S -q -p $PIDFILE --exec $DAEMON -- -P $PIDFILE $DEVICES && echo "OK" || echo "Failed"
}
stop() {
printf "Stopping $NAME: "
start-stop-daemon -K -q -p $PIDFILE && echo "OK" || echo "Failed"
rm -f $PIDFILE
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
+3
View File
@@ -0,0 +1,3 @@
# Locally calculated
sha256 0b991ce9a46538c4ea450f7a8ee428ff44fb4f8d665fddf2ffe40fe0ae9a6c09 gpsd-3.23.1.tar.gz
sha256 fdf339997bbca9eaf507476b82fbcac608fc39a3d89b86b51e16db4c9f933716 COPYING
+259
View File
@@ -0,0 +1,259 @@
################################################################################
#
# gpsd
#
################################################################################
GPSD_VERSION = 3.23.1
GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd
GPSD_LICENSE = BSD-2-Clause
GPSD_LICENSE_FILES = COPYING
GPSD_CPE_ID_VENDOR = gpsd_project
GPSD_SELINUX_MODULES = gpsd
GPSD_INSTALL_STAGING = YES
GPSD_DEPENDENCIES = host-python3 host-scons host-pkgconf
GPSD_LDFLAGS = $(TARGET_LDFLAGS)
GPSD_CFLAGS = $(TARGET_CFLAGS)
GPSD_CXXFLAGS = $(TARGET_CXXFLAGS)
GPSD_SCONS_ENV = $(TARGET_CONFIGURE_OPTS)
GPSD_SCONS_OPTS = \
arch=$(ARCH) \
manbuild=no \
prefix=/usr \
sysroot=$(STAGING_DIR) \
strip=no \
qt=no \
systemd=$(if $(BR2_INIT_SYSTEMD),yes,no)
ifeq ($(BR2_PACKAGE_NCURSES),y)
GPSD_DEPENDENCIES += ncurses
else
GPSD_SCONS_OPTS += ncurses=no
endif
# Build libgpsmm if we've got C++
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
GPSD_LDFLAGS += -lstdc++
GPSD_CFLAGS += -std=gnu++98
GPSD_CXXFLAGS += -std=gnu++98
GPSD_SCONS_OPTS += libgpsmm=yes
else
GPSD_SCONS_OPTS += libgpsmm=no
endif
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
GPSD_CFLAGS += -O0
GPSD_CXXFLAGS += -O0
endif
# If libusb is available build it before so the package can use it
ifeq ($(BR2_PACKAGE_LIBUSB),y)
GPSD_DEPENDENCIES += libusb
else
GPSD_SCONS_OPTS += usb=no
endif
# If bluetooth is available build it before so the package can use it
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y)
GPSD_DEPENDENCIES += bluez5_utils
else
GPSD_SCONS_OPTS += bluez=no
endif
# If pps-tools is available, build it before so the package can use it
# (HAVE_SYS_TIMEPPS_H).
ifeq ($(BR2_PACKAGE_PPS_TOOLS),y)
GPSD_DEPENDENCIES += pps-tools
endif
ifeq ($(BR2_PACKAGE_DBUS_GLIB),y)
GPSD_SCONS_OPTS += dbus_export=yes
GPSD_DEPENDENCIES += dbus-glib
endif
# Protocol support
ifneq ($(BR2_PACKAGE_GPSD_ASHTECH),y)
GPSD_SCONS_OPTS += ashtech=no
endif
ifneq ($(BR2_PACKAGE_GPSD_AIVDM),y)
GPSD_SCONS_OPTS += aivdm=no
endif
ifneq ($(BR2_PACKAGE_GPSD_EARTHMATE),y)
GPSD_SCONS_OPTS += earthmate=no
endif
ifneq ($(BR2_PACKAGE_GPSD_EVERMORE),y)
GPSD_SCONS_OPTS += evermore=no
endif
ifneq ($(BR2_PACKAGE_GPSD_FURY),y)
GPSD_SCONS_OPTS += fury=no
endif
ifneq ($(BR2_PACKAGE_GPSD_FV18),y)
GPSD_SCONS_OPTS += fv18=no
endif
ifneq ($(BR2_PACKAGE_GPSD_GARMIN),y)
GPSD_SCONS_OPTS += garmin=no
endif
ifneq ($(BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT),y)
GPSD_SCONS_OPTS += garmintxt=no
endif
ifneq ($(BR2_PACKAGE_GPSD_GEOSTAR),y)
GPSD_SCONS_OPTS += geostar=no
endif
ifneq ($(BR2_PACKAGE_GPSD_GPSCLOCK),y)
GPSD_SCONS_OPTS += gpsclock=no
endif
ifneq ($(BR2_PACKAGE_GPSD_GREIS),y)
GPSD_SCONS_OPTS += greis=no
endif
ifneq ($(BR2_PACKAGE_GPSD_ISYNC),y)
GPSD_SCONS_OPTS += isync=no
endif
ifneq ($(BR2_PACKAGE_GPSD_ITRAX),y)
GPSD_SCONS_OPTS += itrax=no
endif
ifneq ($(BR2_PACKAGE_GPSD_MTK3301),y)
GPSD_SCONS_OPTS += mtk3301=no
endif
ifneq ($(BR2_PACKAGE_GPSD_NMEA),y)
GPSD_SCONS_OPTS += nmea0183=no
endif
ifneq ($(BR2_PACKAGE_GPSD_NTRIP),y)
GPSD_SCONS_OPTS += ntrip=no
endif
ifneq ($(BR2_PACKAGE_GPSD_NAVCOM),y)
GPSD_SCONS_OPTS += navcom=no
endif
ifneq ($(BR2_PACKAGE_GPSD_NMEA2000),y)
GPSD_SCONS_OPTS += nmea2000=no
endif
ifneq ($(BR2_PACKAGE_GPSD_OCEANSERVER),y)
GPSD_SCONS_OPTS += oceanserver=no
endif
ifneq ($(BR2_PACKAGE_GPSD_ONCORE),y)
GPSD_SCONS_OPTS += oncore=no
endif
ifneq ($(BR2_PACKAGE_GPSD_RTCM104V2),y)
GPSD_SCONS_OPTS += rtcm104v2=no
endif
ifneq ($(BR2_PACKAGE_GPSD_RTCM104V3),y)
GPSD_SCONS_OPTS += rtcm104v3=no
endif
ifneq ($(BR2_PACKAGE_GPSD_SIRF),y)
GPSD_SCONS_OPTS += sirf=no
endif
ifneq ($(BR2_PACKAGE_GPSD_SKYTRAQ),y)
GPSD_SCONS_OPTS += skytraq=no
endif
ifneq ($(BR2_PACKAGE_GPSD_SUPERSTAR2),y)
GPSD_SCONS_OPTS += superstar2=no
endif
ifneq ($(BR2_PACKAGE_GPSD_TRIMBLE_TSIP),y)
GPSD_SCONS_OPTS += tsip=no
endif
ifneq ($(BR2_PACKAGE_GPSD_TRIPMATE),y)
GPSD_SCONS_OPTS += tripmate=no
endif
ifneq ($(BR2_PACKAGE_GPSD_TRUE_NORTH),y)
GPSD_SCONS_OPTS += tnt=no
endif
ifneq ($(BR2_PACKAGE_GPSD_UBX),y)
GPSD_SCONS_OPTS += ublox=no
endif
# Features
ifeq ($(BR2_PACKAGE_GPSD_SQUELCH),y)
GPSD_SCONS_OPTS += squelch=yes
endif
ifneq ($(BR2_PACKAGE_GPSD_OLDSTYLE),y)
GPSD_SCONS_OPTS += oldstyle=no
endif
ifeq ($(BR2_PACKAGE_GPSD_PROFILING),y)
GPSD_SCONS_OPTS += profiling=yes
endif
ifneq ($(BR2_PACKAGE_GPSD_CLIENT_DEBUG),y)
GPSD_SCONS_OPTS += clientdebug=no
endif
ifeq ($(BR2_PACKAGE_GPSD_USER),y)
GPSD_SCONS_OPTS += gpsd_user=$(BR2_PACKAGE_GPSD_USER_VALUE)
endif
ifeq ($(BR2_PACKAGE_GPSD_GROUP),y)
GPSD_SCONS_OPTS += gpsd_group=$(BR2_PACKAGE_GPSD_GROUP_VALUE)
endif
ifeq ($(BR2_PACKAGE_GPSD_MAX_CLIENT),y)
GPSD_SCONS_OPTS += max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE)
endif
ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y)
GPSD_SCONS_OPTS += max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE)
endif
ifeq ($(BR2_PACKAGE_PYTHON3),y)
GPSD_SCONS_OPTS += \
python=yes \
python_libdir="/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages"
else ifeq ($(BR2_PACKAGE_PYTHON),y)
GPSD_SCONS_OPTS += \
python=yes \
python_libdir="/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"
else
GPSD_SCONS_OPTS += python=no
endif
GPSD_SCONS_ENV += \
LDFLAGS="$(GPSD_LDFLAGS)" \
CFLAGS="$(GPSD_CFLAGS)" \
CCFLAGS="$(GPSD_CFLAGS)" \
CXXFLAGS="$(GPSD_CXXFLAGS)"
define GPSD_BUILD_CMDS
(cd $(@D); \
$(GPSD_SCONS_ENV) \
$(HOST_DIR)/bin/python3 $(SCONS) \
$(GPSD_SCONS_OPTS))
endef
define GPSD_INSTALL_TARGET_CMDS
(cd $(@D); \
$(GPSD_SCONS_ENV) \
DESTDIR=$(TARGET_DIR) \
$(HOST_DIR)/bin/python3 $(SCONS) \
$(GPSD_SCONS_OPTS) \
$(if $(BR2_PACKAGE_HAS_UDEV),udev-install,install))
endef
define GPSD_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/gpsd/S50gpsd $(TARGET_DIR)/etc/init.d/S50gpsd
$(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd
endef
# systemd unit files are installed automatically, but need to update the
# /usr/local path references in the provided files to /usr.
define GPSD_INSTALL_INIT_SYSTEMD
$(SED) 's%/usr/local%/usr%' \
$(TARGET_DIR)/usr/lib/systemd/system/gpsd.service \
$(TARGET_DIR)/usr/lib/systemd/system/gpsdctl@.service
endef
define GPSD_INSTALL_STAGING_CMDS
(cd $(@D); \
$(GPSD_SCONS_ENV) \
DESTDIR=$(STAGING_DIR) \
$(HOST_DIR)/bin/python3 $(SCONS) \
$(GPSD_SCONS_OPTS) \
install)
endef
# After the udev rule is installed, make it writable so that this
# package can be re-built/re-installed.
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define GPSD_INSTALL_UDEV_RULES
chmod u+w $(TARGET_DIR)/lib/udev/rules.d/25-gpsd.rules
endef
GPSD_POST_INSTALL_TARGET_HOOKS += GPSD_INSTALL_UDEV_RULES
endif
$(eval $(generic-package))