sonic-buildimage/rules/ipmitool.mk

18 lines
736 B
Makefile
Raw Normal View History

Ipmitool bookworm: Fix and patch enterprise-numbers URL (#17878) ### Why I did it ipmitool utility is used to access various HW sensors. Some platforms use "ipmitool raw " to read specific addresses. ipmitool_1.8.19-4_amd64.deb, that is part of bookworm has a defect. The package is missing file enterprise.txt that is expected by the "raw read" code path. It is so because the file the .deb tries to download at the build time does not have the necessary extension as it is available on remote server: https://www.iana.org/assignments/enterprise-numbers.txt ### How I did it The defect had been fixed using coding changes in next unstable version of Linux. It is expected to be available in future stable version of the OS. Hence to keep the changes to minimal, the .dsc file is downloaded and only the Makefile is modified to download the correct file. To make is work as patch necessary changes are made. #### How to verify it Build log is attached and installation of the file is noted line #2274 When using vanilla bookworm on platforms like 5212 or 5224: ------------------------------------------------------------------- root@sonic:~# ipmitool raw 0x04 0x2d 0x31 IANA PEN registry open failed: No such file or directory 00 c0 01 80 When fixed we should not see the above error: -------------------------------------------------- root@sonic:/home/admin# ipmitool raw 0x04 0x2d 0x31 00 c0 00 80 ### Description for the changelog This change is to address ipmitool raw read issue. This patch must be removed once it is available in next stable Linux release that contains the fix. https://github.com/ipmitool/ipmitool/commit/1edb0e27e44196d1ebe449aba0b9be22d376bcb6
2024-02-26 19:49:06 -06:00
# ipmitool packages
IPMITOOL_VERSION = 1.8.19
IPMITOOL_VERSION_SUFFIX = 4
IPMITOOL_VERSION_FULL = $(IPMITOOL_VERSION)-$(IPMITOOL_VERSION_SUFFIX)
IPMITOOL = ipmitool_$(IPMITOOL_VERSION_FULL)_$(CONFIGURED_ARCH).deb
$(IPMITOOL)_SRC_PATH = $(SRC_PATH)/ipmitool
SONIC_MAKE_DEBS += $(IPMITOOL)
IPMITOOL_DBG = ipmitool-dbgsym_$(IPMITOOL_VERSION_FULL)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(IPMITOOL),$(IPMITOOL_DBG)))
DBG_SRC_ARCHIVE += ipmitool
# The .c, .cpp, .h & .hpp files under src/{$DBG_SRC_ARCHIVE list}
# are archived into debug one image to facilitate debugging.
# Export these variables so they can be used in a sub-make
export IPMITOOL_VERSION
export IPMITOOL_VERSION_FULL
export IPMITOOL
export IPMITOOL_DBG