[Mod] First commit

This commit is contained in:
2022-10-31 22:18:58 +08:00
commit 1c8a3d9709
13090 changed files with 526733 additions and 0 deletions

View File

@ -0,0 +1,81 @@
Add support for static only build
This patch adds support for a BUILD_SHARED_LIB variable that allows to
enable/disable the build of the shared library, in order to support
static-only builds.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/Makefile
===================================================================
--- a/Makefile
+++ b/Makefile
@@ -85,6 +85,9 @@
# Build and install static library
BUILD_STATIC_LIB := 1
+# Build and install shared library
+BUILD_SHARED_LIB := 1
+
# Set these to add preprocessor or compiler flags, or use
# environment variables
# CFLAGS :=
Index: b/lib/Module.mk
===================================================================
--- a/lib/Module.mk
+++ b/lib/Module.mk
@@ -43,8 +43,14 @@
LIBSTLIBNAME := libsensors.a
LIBSHSONAME := libsensors.so.$(LIBMAINVER)
+ifeq ($(BUILD_SHARED_LIB),1)
LIBTARGETS := $(MODULE_DIR)/$(LIBSHLIBNAME) \
$(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME)
+LIBDEP_FOR_PROGS := $(LIBSHBASENAME)
+else
+LIBDEP_FOR_PROGS := $(LIBSTLIBNAME)
+endif
+
ifeq ($(BUILD_STATIC_LIB),1)
LIBTARGETS += $(MODULE_DIR)/$(LIBSTLIBNAME)
endif
@@ -131,9 +137,11 @@
ifeq ($(BUILD_STATIC_LIB),1)
$(INSTALL) -m 644 $(LIB_DIR)/$(LIBSTLIBNAME) $(DESTDIR)$(LIBDIR)
endif
+ifeq ($(BUILD_SHARED_LIB),1)
$(INSTALL) -m 755 $(LIB_DIR)/$(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)
$(LN) $(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBSHSONAME)
$(LN) $(LIBSHSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSHBASENAME)
+endif
@if [ -z "$(DESTDIR)" -a "$(LIBDIR)" != "/usr/lib" -a "$(LIBDIR)" != "/lib" ] ; then \
if [ -e "/usr/lib/$(LIBSHSONAME)" -o -e "/usr/lib/$(LIBSHBASENAME)" ] ; then \
echo '******************************************************************************' ; \
Index: b/prog/sensord/Module.mk
===================================================================
--- a/prog/sensord/Module.mk
+++ b/prog/sensord/Module.mk
@@ -41,7 +41,7 @@
REMOVESENSORDBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGSENSORDTARGETS))
REMOVESENSORDMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORDMAN8DIR)/%,$(PROGSENSORDMAN8FILES))
-$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBSHBASENAME)
+$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS)
$(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORDSOURCES:.c=.ro) -Llib -lsensors -lrrd
all-prog-sensord: $(PROGSENSORDTARGETS)
Index: b/prog/sensors/Module.mk
===================================================================
--- a/prog/sensors/Module.mk
+++ b/prog/sensors/Module.mk
@@ -39,8 +39,8 @@
LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi)
-$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBSHBASENAME)
- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors
+$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS)
+ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm
all-prog-sensors: $(PROGSENSORSTARGETS)
user :: all-prog-sensors

View File

@ -0,0 +1,29 @@
Remove usage of host ldconfig
To know whether the libiconv library is available, lm-sensors is using
the host ldconfig, which is obviously wrong in cross-compilation.
Moreover, the lm-sensors program making use of the iconv_*() API
already does it when __UCLIBC__ is *not* defined. In this case, the
iconv_*() functions are already part of the C library, so there is no
need to link against a separate library. Therefore, this patch simply
removes the libiconv handling.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/prog/sensors/Module.mk
===================================================================
--- a/prog/sensors/Module.mk
+++ b/prog/sensors/Module.mk
@@ -37,10 +37,8 @@
REMOVESENSORSBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(BINDIR)/%,$(PROGSENSORSTARGETS))
REMOVESENSORSMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORSMAN1DIR)/%,$(PROGSENSORSMAN1FILES))
-LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi)
-
$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS)
- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm
+ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) -Llib -lsensors -lm
all-prog-sensors: $(PROGSENSORSTARGETS)
user :: all-prog-sensors

View File

@ -0,0 +1,57 @@
config BR2_PACKAGE_LM_SENSORS
bool "lm-sensors"
help
Lm-sensors is a hardware health monitoring package for
Linux. It allows you to access information from
temperature, voltage, and fan speed sensors. It
works with most newer systems.
https://hwmon.wiki.kernel.org
if BR2_PACKAGE_LM_SENSORS
comment "lm-sensors tools"
config BR2_PACKAGE_LM_SENSORS_SENSORS
bool "sensors"
default y
help
Sensors is used to show the current readings of all sensor
chips.
config BR2_PACKAGE_LM_SENSORS_FANCONTROL
bool "fancontrol"
help
Script for temperature driven fan control
config BR2_PACKAGE_LM_SENSORS_ISADUMP
bool "isadump"
depends on BR2_i386 || BR2_x86_64
help
Isadump is a small helper program to examine registers
visible through the ISA bus.
config BR2_PACKAGE_LM_SENSORS_ISASET
bool "isaset"
depends on BR2_i386 || BR2_x86_64
help
Isaset is a small helper program to set register visible
through the ISA bus.
config BR2_PACKAGE_LM_SENSORS_PWMCONFIG
bool "pwmconfig"
help
Pwmconfig searches your sensors for pulse width modulation
(PWM) controls, and tests each one to see if it controls a fan
on your motherboard.
config BR2_PACKAGE_LM_SENSORS_SENSORS_DETECT
bool "sensors-detect"
depends on BR2_PACKAGE_PERL
help
Sensors-detect is an interactive program for detecting
available hardware monitoring chips.
comment "sensors-detect needs perl"
depends on !BR2_PACKAGE_PERL
endif

View File

@ -0,0 +1,4 @@
# Locally calculated
sha256 0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197 lm-sensors-3.6.0.tar.gz
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL

View File

@ -0,0 +1,53 @@
################################################################################
#
# lm-sensors
#
################################################################################
LM_SENSORS_VERSION = 3.6.0
LM_SENSORS_SITE = \
$(call github,lm-sensors,lm-sensors,V$(subst .,-,$(LM_SENSORS_VERSION)))
LM_SENSORS_INSTALL_STAGING = YES
LM_SENSORS_DEPENDENCIES = host-bison host-flex
LM_SENSORS_LICENSE = LGPL-2.1+ (libsensors), GPL-2.0+ (programs)
LM_SENSORS_LICENSE_FILES = COPYING.LGPL COPYING
LM_SENSORS_BINS_ = bin/sensors-conf-convert
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_SENSORS) += bin/sensors
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_FANCONTROL) += sbin/fancontrol
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_ISADUMP) += sbin/isadump
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_ISASET) += sbin/isaset
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_PWMCONFIG) += sbin/pwmconfig
LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_SENSORS_DETECT) += sbin/sensors-detect
LM_SENSORS_MAKE_OPTS = \
$(TARGET_CONFIGURE_OPTS) \
PREFIX=/usr
ifeq ($(BR2_STATIC_LIBS),y)
LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=0 EXLDFLAGS=-static
else
LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=1
endif
ifeq ($(BR2_SHARED_LIBS),y)
LM_SENSORS_MAKE_OPTS += BUILD_STATIC_LIB=0
else
LM_SENSORS_MAKE_OPTS += BUILD_STATIC_LIB=1
endif
define LM_SENSORS_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(LM_SENSORS_MAKE_OPTS) -C $(@D)
endef
define LM_SENSORS_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LM_SENSORS_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
rm -f $(addprefix $(STAGING_DIR)/usr/,$(LM_SENSORS_BINS_) $(LM_SENSORS_BINS_y))
endef
define LM_SENSORS_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LM_SENSORS_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
rm -f $(addprefix $(TARGET_DIR)/usr/,$(LM_SENSORS_BINS_))
endef
$(eval $(generic-package))