[Buildroot] [PATCH 1/1] package/hddtemp: new package

Bernd Kuhls bernd.kuhls at t-online.de
Sun Dec 11 11:28:24 UTC 2022


From: Gilles Chanteperdrix <gilles.chanteperdrix at xenomai.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
[Bernd:
 - switched to actively maintained fork
 - package/Config.in: moved to "Hardware handling" (Peter)
 - added toolchain dependencies (Thomas)
 - added license hash
 - fixed build errors related to iconv and execinfo (Peter)
 - removed hook HDDTEMP_REMOVE_MAN (Thomas)
 - install hddtemp.db to target
 - added build/install _CMDS due to
   https://github.com/vitlav/hddtemp/issues/5]
---
Imho this package is still relevant despite the fact that is was removed
from Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002484
The drivetemp kernel module is only available since kernel 5.6 and nvme
support was added to the current hddtemp fork:
https://github.com/vitlav/hddtemp/commit/edcb4db5acd806010925ccf7bf58f1968cf54df3

Building this defconfig

BR2_PACKAGE_HDDTEMP=y

finished without errors:

                             arm-aarch64 [ 1/44]: OK
                   bootlin-aarch64-glibc [ 2/44]: OK
               bootlin-arcle-hs38-uclibc [ 3/44]: OK
                    bootlin-armv5-uclibc [ 4/44]: OK
                     bootlin-armv7-glibc [ 5/44]: OK
                   bootlin-armv7m-uclibc [ 6/44]: SKIPPED
                      bootlin-armv7-musl [ 7/44]: OK
                bootlin-m68k-5208-uclibc [ 8/44]: SKIPPED
               bootlin-m68k-68040-uclibc [ 9/44]: OK
             bootlin-microblazeel-uclibc [10/44]: OK
                bootlin-mipsel32r6-glibc [11/44]: OK
                   bootlin-mipsel-uclibc [12/44]: OK
                     bootlin-nios2-glibc [13/44]: OK
                 bootlin-openrisc-uclibc [14/44]: OK
        bootlin-powerpc64le-power8-glibc [15/44]: OK
           bootlin-powerpc-e500mc-uclibc [16/44]: OK
                   bootlin-riscv32-glibc [17/44]: OK
                   bootlin-riscv64-glibc [18/44]: OK
                    bootlin-riscv64-musl [19/44]: OK
                      bootlin-sh4-uclibc [20/44]: OK
                   bootlin-sparc64-glibc [21/44]: OK
                    bootlin-sparc-uclibc [22/44]: OK
                    bootlin-x86-64-glibc [23/44]: OK
                     bootlin-x86-64-musl [24/44]: OK
                   bootlin-x86-64-uclibc [25/44]: OK
                   bootlin-xtensa-uclibc [26/44]: OK
                            br-arm-basic [27/44]: OK
                    br-arm-full-nothread [28/44]: OK
                      br-arm-full-static [29/44]: SKIPPED
                   br-i386-pentium4-full [30/44]: OK
                br-i386-pentium-mmx-musl [31/44]: OK
                      br-mips64-n64-full [32/44]: OK
                 br-mips64r6-el-hf-glibc [33/44]: OK
               br-powerpc-603e-basic-cpp [34/44]: OK
               br-powerpc64-power7-glibc [35/44]: OK
                       linaro-aarch64-be [36/44]: OK
                          linaro-aarch64 [37/44]: OK
                              linaro-arm [38/44]: OK
                     sourcery-arm-armv4t [39/44]: OK
                            sourcery-arm [40/44]: OK
                     sourcery-arm-thumb2 [41/44]: OK
                         sourcery-mips64 [42/44]: OK
                           sourcery-mips [43/44]: OK
                          sourcery-nios2 [44/44]: OK
44 builds, 3 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed

 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/hddtemp/Config.in    | 17 ++++++++++++++
 package/hddtemp/hddtemp.hash |  3 +++
 package/hddtemp/hddtemp.mk   | 44 ++++++++++++++++++++++++++++++++++++
 5 files changed, 66 insertions(+)
 create mode 100644 package/hddtemp/Config.in
 create mode 100644 package/hddtemp/hddtemp.hash
 create mode 100644 package/hddtemp/hddtemp.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 6e30f50472..03ff139128 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -345,6 +345,7 @@ F:	package/glmark2/
 F:	package/gpsd/
 F:	package/gptfdisk/
 F:	package/hdparm/
+F:	package/hddtemp/
 F:	package/inih/
 F:	package/intel-gmmlib/
 F:	package/intel-mediadriver/
diff --git a/package/Config.in b/package/Config.in
index bf3ee3cc7c..cc240bf7cd 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -508,6 +508,7 @@ endmenu
 	source "package/gpsd/Config.in"
 	source "package/gptfdisk/Config.in"
 	source "package/gvfs/Config.in"
+	source "package/hddtemp/Config.in"
 	source "package/hdparm/Config.in"
 	source "package/hwdata/Config.in"
 	source "package/hwloc/Config.in"
diff --git a/package/hddtemp/Config.in b/package/hddtemp/Config.in
new file mode 100644
index 0000000000..0e02252461
--- /dev/null
+++ b/package/hddtemp/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_HDDTEMP
+	bool "hddtemp"
+	depends on BR2_USE_MMU # fork()
+	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	help
+	  hddtemp is a small utility that gives you the temperature of
+	  your hard drive by reading S.M.A.R.T. informations, for drives
+	  that support this feature.
+
+	  https://github.com/vitlav/hddtemp
+	  http://www.guzu.net/linux/hddtemp.php
+
+comment "hddtemp needs dynamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS
diff --git a/package/hddtemp/hddtemp.hash b/package/hddtemp/hddtemp.hash
new file mode 100644
index 0000000000..cd82d7f89b
--- /dev/null
+++ b/package/hddtemp/hddtemp.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  592322c64f0d5f035132249e3d051b752f5d24867514522a17285d5e72d21075  hddtemp-0.4.3.tar.gz
+sha256  e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4  GPL-2
diff --git a/package/hddtemp/hddtemp.mk b/package/hddtemp/hddtemp.mk
new file mode 100644
index 0000000000..ac93a4ed25
--- /dev/null
+++ b/package/hddtemp/hddtemp.mk
@@ -0,0 +1,44 @@
+################################################################################
+#
+# hddtemp
+#
+################################################################################
+
+HDDTEMP_VERSION = 0.4.3
+HDDTEMP_SITE = $(call github,vitlav,hddtemp,v$(HDDTEMP_VERSION))
+HDDTEMP_LICENSE = GPLv2
+HDDTEMP_LICENSE_FILES = GPL-2
+# Fetched from Github with no configure script
+HDDTEMP_AUTORECONF = YES
+# needed for autoreconf
+HDDTEMP_DEPENDENCIES = host-gettext
+HDDTEMP_CONF_ENV = LIBS="$(HDDTEMP_LIBS)"
+
+ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
+HDDTEMP_DEPENDENCIES += libexecinfo
+HDDTEMP_LIBS += -lexecinfo
+endif
+
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+HDDTEMP_DEPENDENCIES += libiconv
+HDDTEMP_LIBS += -liconv
+endif
+
+# prevent loop in po/ while building
+define HDDTEMP_BUILD_CMDS
+	cd $(@D)/src; \
+		$(TARGET_MAKE_ENV) $(MAKE)
+endef
+
+# prevent loop in po/ while building
+define HDDTEMP_INSTALL_TARGET_CMDS
+	cd $(@D)/src; \
+		$(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install
+endef
+
+define HDDTEMP_INSTALL_HDDTEMP_DB
+	$(INSTALL) -D $(@D)/data/hddtemp.db $(TARGET_DIR)/usr/share/misc/hddtemp.db
+endef
+HDDTEMP_POST_INSTALL_TARGET_HOOKS += HDDTEMP_INSTALL_HDDTEMP_DB
+
+$(eval $(autotools-package))
-- 
2.34.1




More information about the buildroot mailing list