commit: cb0066ceaed2332a3b7e376a31b7085d8056a802 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Nov 4 02:21:40 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Nov 4 02:23:52 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb0066ce
sys-libs/freeipmi: fix build w/ clang 16 Closes: https://bugs.gentoo.org/874072 Signed-off-by: Sam James <sam <AT> gentoo.org> ...c-Fix-Wimplicit-function-declaration-for-.patch | 27 ++ ...re.ac-Fix-detecting-sighandler_t-on-glibc.patch | 27 ++ ...c-Use-AC_USE_SYSTEM_EXTENSIONS-instead-of.patch | 331 +++++++++++++++++++++ .../files/freeipmi-1.6.10-header-fixes.patch | 118 ++++++++ sys-libs/freeipmi/freeipmi-1.6.10-r1.ebuild | 107 +++++++ 5 files changed, 610 insertions(+) diff --git a/sys-libs/freeipmi/files/freeipmi-1.6.10-0001-configure.ac-Fix-Wimplicit-function-declaration-for-.patch b/sys-libs/freeipmi/files/freeipmi-1.6.10-0001-configure.ac-Fix-Wimplicit-function-declaration-for-.patch new file mode 100644 index 000000000000..8d8cfcc2ae7a --- /dev/null +++ b/sys-libs/freeipmi/files/freeipmi-1.6.10-0001-configure.ac-Fix-Wimplicit-function-declaration-for-.patch @@ -0,0 +1,27 @@ +https://marc.info/?l=freeipmi-devel&m=166752785904895&w=2 + +From 3ec9097fc558c888be9268344ea94a4caf5f7883 Mon Sep 17 00:00:00 2001 +From: Sam James <[email protected]> +Date: Fri, 4 Nov 2022 01:58:38 +0000 +Subject: [PATCH 1/3] configure.ac: Fix -Wimplicit-function-declaration for + printf + +Clang 16 makes these errors fatal by default: +``` +error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] +``` + +printf(3) is provided by <stdio.h>, not <stdlib.h>. + +Signed-off-by: Sam James <[email protected]> +--- a/configure.ac ++++ b/configure.ac +@@ -692,7 +692,7 @@ fi + + AM_CONDITIONAL(WITH_FREEIPMI_ARGP, test "$have_argp" = "no") + +-AC_TRY_COMPILE([#include <stdlib.h>], ++AC_TRY_COMPILE([#include <stdio.h>], + [printf("%s\n", __FUNCTION__);], + [AC_DEFINE([HAVE_FUNCTION_MACRO], [1], [Define is you have __FUNCTION__])]) + diff --git a/sys-libs/freeipmi/files/freeipmi-1.6.10-0002-configure.ac-Fix-detecting-sighandler_t-on-glibc.patch b/sys-libs/freeipmi/files/freeipmi-1.6.10-0002-configure.ac-Fix-detecting-sighandler_t-on-glibc.patch new file mode 100644 index 000000000000..4ffd569ae71d --- /dev/null +++ b/sys-libs/freeipmi/files/freeipmi-1.6.10-0002-configure.ac-Fix-detecting-sighandler_t-on-glibc.patch @@ -0,0 +1,27 @@ +https://marc.info/?l=freeipmi-devel&m=166752785904895&w=2 + +From e3f759741ffc96c92c3a97e4518b09becce622b7 Mon Sep 17 00:00:00 2001 +From: Sam James <[email protected]> +Date: Fri, 4 Nov 2022 02:01:51 +0000 +Subject: [PATCH 2/3] configure.ac: Fix detecting sighandler_t on glibc + +Fixes the following error/misdetection of sighandler_t: +``` +config.log:2639:conftest.c:83:13: error: 'sighandler_t' undeclared (first use in this function); did you mean 'sa_handler'? +``` + +sighandler_t requires -D_GNU_SOURCE on glibc systems. + +Signed-off-by: Sam James <[email protected]> +--- a/configure.ac ++++ b/configure.ac +@@ -490,7 +490,8 @@ AC_CHECK_FUNCS([cbrt]) + AC_CHECK_FUNCS([getmsg putmsg]) + + dnl sighandler_t apparently not defined in Apple/OS X +-AC_CHECK_TYPES([sighandler_t], [], [], [[#include <signal.h>]]) ++AC_CHECK_TYPES([sighandler_t], [], [], [[#define _GNU_SOURCE ++#include <signal.h>]]) + + # At least on freebsd, putc_unlocked is a macro, so the standard + # AC_CHECK_FUNCS doesn't work well. diff --git a/sys-libs/freeipmi/files/freeipmi-1.6.10-0003-configure.ac-Use-AC_USE_SYSTEM_EXTENSIONS-instead-of.patch b/sys-libs/freeipmi/files/freeipmi-1.6.10-0003-configure.ac-Use-AC_USE_SYSTEM_EXTENSIONS-instead-of.patch new file mode 100644 index 000000000000..2219ddd8719d --- /dev/null +++ b/sys-libs/freeipmi/files/freeipmi-1.6.10-0003-configure.ac-Use-AC_USE_SYSTEM_EXTENSIONS-instead-of.patch @@ -0,0 +1,331 @@ +https://marc.info/?l=freeipmi-devel&m=166752785904895&w=2 + +From e89f234b9032ce5b2a9477c91a25ce982e14cc63 Mon Sep 17 00:00:00 2001 +From: Sam James <[email protected]> +Date: Fri, 4 Nov 2022 02:05:53 +0000 +Subject: [PATCH 3/3] configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of + appending -D_GNU_SOURCE + +This achieves the same effect as it'll use -D_GNU_SOURCE when possible +but it ensures we never forget it in an individual Makefile.am. + +AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60, so we bump +the requirement from 2.57->2.60. Given the comment mentions "modern +autoconf and automake", we could really justify bumping this to 2.69 +which itself is not exactly brand new, if we want. + +Signed-off-by: Sam James <[email protected]> +--- a/bmc-device/Makefile.am ++++ b/bmc-device/Makefile.am +@@ -7,7 +7,6 @@ bmc_device_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + bmc_device_LDADD = \ +--- a/bmc-info/Makefile.am ++++ b/bmc-info/Makefile.am +@@ -7,7 +7,6 @@ bmc_info_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + bmc_info_LDADD = \ +--- a/bmc-watchdog/Makefile.am ++++ b/bmc-watchdog/Makefile.am +@@ -7,7 +7,6 @@ bmc_watchdog_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT \ + -DBMC_WATCHDOG_LOCALSTATEDIR='"$(localstatedir)"' + +--- a/common/debugutil/Makefile.am ++++ b/common/debugutil/Makefile.am +@@ -5,7 +5,6 @@ libdebugutil_la_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libdebugutil_la_SOURCES = \ +--- a/common/miscutil/Makefile.am ++++ b/common/miscutil/Makefile.am +@@ -2,7 +2,6 @@ noinst_LTLIBRARIES = \ + libmiscutil.la + + libmiscutil_la_CPPFLAGS = \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libmiscutil_la_SOURCES = \ +--- a/common/parsecommon/Makefile.am ++++ b/common/parsecommon/Makefile.am +@@ -5,7 +5,6 @@ libparsecommon_la_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libparsecommon_la_SOURCES = \ +--- a/common/pingtool/Makefile.am ++++ b/common/pingtool/Makefile.am +@@ -6,7 +6,6 @@ libpingtool_la_CPPFLAGS = \ + -I$(top_srcdir)/common/toolcommon \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libpingtool_la_SOURCES = \ +--- a/common/portability/Makefile.am ++++ b/common/portability/Makefile.am +@@ -16,7 +16,6 @@ noinst_LTLIBRARIES = \ + libportability.la + + libportability_la_CPPFLAGS = \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libportability_la_SOURCES = \ +--- a/common/toolcommon/Makefile.am ++++ b/common/toolcommon/Makefile.am +@@ -11,7 +11,6 @@ libtoolcommon_la_CPPFLAGS = \ + -I$(top_builddir)/libipmidetect \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libtoolcommon_la_SOURCES = \ +--- a/configure.ac ++++ b/configure.ac +@@ -12,7 +12,7 @@ AC_SUBST(FREEIPMI_PACKAGE_VERSION_MINOR) + AC_SUBST(FREEIPMI_PACKAGE_VERSION_PATCH) + + dnl We require a modern autoconf and automake +-AC_PREREQ([2.57]) ++AC_PREREQ([2.60]) + + AC_CONFIG_AUX_DIR([config]) + +@@ -304,6 +304,8 @@ AM_CONDITIONAL(WITH_GNU_LD, test "$with_gnu_ld" = "yes") + AC_PROG_MAKE_SET + AC_PROG_LN_S + ++AC_USE_SYSTEM_EXTENSIONS ++ + dnl Enable error tracing. Lower level calls will spit error messages + dnl on to the console + AC_ARG_ENABLE([trace], +--- a/ipmi-chassis/Makefile.am ++++ b/ipmi-chassis/Makefile.am +@@ -7,7 +7,6 @@ ipmi_chassis_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_chassis_LDADD = \ +--- a/ipmi-config/Makefile.am ++++ b/ipmi-config/Makefile.am +@@ -13,7 +13,6 @@ ipmi_config_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_config_LDADD = \ +--- a/ipmi-dcmi/Makefile.am ++++ b/ipmi-dcmi/Makefile.am +@@ -7,7 +7,6 @@ ipmi_dcmi_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_dcmi_LDADD = \ +--- a/ipmi-fru/Makefile.am ++++ b/ipmi-fru/Makefile.am +@@ -7,7 +7,6 @@ ipmi_fru_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_fru_LDADD = \ +--- a/ipmi-locate/Makefile.am ++++ b/ipmi-locate/Makefile.am +@@ -7,7 +7,6 @@ ipmi_locate_CPPFLAGS = \ + -I$(top_srcdir)/common/miscutil \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_locate_LDADD = \ +--- a/ipmi-oem/Makefile.am ++++ b/ipmi-oem/Makefile.am +@@ -7,7 +7,6 @@ ipmi_oem_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_oem_LDADD = \ +--- a/ipmi-pet/Makefile.am ++++ b/ipmi-pet/Makefile.am +@@ -7,7 +7,6 @@ ipmi_pet_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_pet_LDADD = \ +--- a/ipmi-raw/Makefile.am ++++ b/ipmi-raw/Makefile.am +@@ -7,7 +7,6 @@ ipmi_raw_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_raw_LDADD = \ +--- a/ipmi-sel/Makefile.am ++++ b/ipmi-sel/Makefile.am +@@ -8,7 +8,6 @@ ipmi_sel_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_sel_LDADD = \ +--- a/ipmi-sensors/Makefile.am ++++ b/ipmi-sensors/Makefile.am +@@ -9,7 +9,6 @@ ipmi_sensors_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmi_sensors_LDADD = \ +--- a/ipmiconsole/Makefile.am ++++ b/ipmiconsole/Makefile.am +@@ -8,7 +8,6 @@ ipmiconsole_CPPFLAGS = \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ + -I$(top_builddir)/libipmiconsole/ \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + +--- a/ipmidetect/Makefile.am ++++ b/ipmidetect/Makefile.am +@@ -10,7 +10,6 @@ ipmidetect_CPPFLAGS = \ + -I$(top_srcdir)/common/miscutil \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libipmidetect/ \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmidetect_LDADD = \ +--- a/ipmidetectd/Makefile.am ++++ b/ipmidetectd/Makefile.am +@@ -12,7 +12,6 @@ ipmidetectd_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT \ + -DIPMIDETECTD_LOCALSTATEDIR='"$(localstatedir)"' + +--- a/ipmiping/Makefile.am ++++ b/ipmiping/Makefile.am +@@ -5,8 +5,7 @@ ipmiping_CPPFLAGS = \ + -I$(top_srcdir)/common/debugutil \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ +- -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE ++ -I$(top_srcdir)/libfreeipmi/include + + ipmiping_LDADD = \ + $(top_builddir)/common/pingtool/libpingtool.la \ +--- a/ipmipower/Makefile.am ++++ b/ipmipower/Makefile.am +@@ -11,7 +11,6 @@ ipmipower_CPPFLAGS = \ + -I$(top_srcdir)/libfreeipmi/include \ + -DWITH_LSD_FATAL_ERROR_FUNC=1 \ + -DWITH_LSD_NOMEM_ERROR_FUNC=1 \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + ipmipower_LDADD = \ +--- a/ipmiseld/Makefile.am ++++ b/ipmiseld/Makefile.am +@@ -13,7 +13,6 @@ ipmiseld_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT \ + -DIPMISELD_LOCALSTATEDIR='"$(localstatedir)"' + +--- a/libfreeipmi/Makefile.am ++++ b/libfreeipmi/Makefile.am +@@ -25,7 +25,6 @@ libfreeipmi_la_CPPFLAGS = \ + -I$(top_srcdir)/libfreeipmi \ + -DIPMI_IPCKEY=\"$(localstatedir)/lib/$(PACKAGE_NAME)/ipckey\" \ + -DIPMI_DEBUG_IPCKEY=\"$(top_builddir)/libfreeipmi/driver/ipmi-semaphores.h\" \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libfreeipmi_la_LDFLAGS = \ +--- a/libipmiconsole/Makefile.am ++++ b/libipmiconsole/Makefile.am +@@ -21,7 +21,6 @@ libipmiconsole_la_CPPFLAGS = \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ + -DWITH_PTHREADS=1 \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libipmiconsole_la_LDFLAGS = \ +--- a/libipmimonitoring/Makefile.am ++++ b/libipmimonitoring/Makefile.am +@@ -30,7 +30,6 @@ libipmimonitoring_la_CPPFLAGS = \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ + -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE \ + -D_REENTRANT + + libipmimonitoring_la_LDFLAGS = \ +--- a/rmcpping/Makefile.am ++++ b/rmcpping/Makefile.am +@@ -5,8 +5,7 @@ rmcpping_CPPFLAGS = \ + -I$(top_srcdir)/common/debugutil \ + -I$(top_srcdir)/common/portability \ + -I$(top_builddir)/libfreeipmi/include \ +- -I$(top_srcdir)/libfreeipmi/include \ +- -D_GNU_SOURCE ++ -I$(top_srcdir)/libfreeipmi/include + + rmcpping_LDADD = \ + $(top_builddir)/common/pingtool/libpingtool.la \ diff --git a/sys-libs/freeipmi/files/freeipmi-1.6.10-header-fixes.patch b/sys-libs/freeipmi/files/freeipmi-1.6.10-header-fixes.patch new file mode 100644 index 000000000000..ccd1262333db --- /dev/null +++ b/sys-libs/freeipmi/files/freeipmi-1.6.10-header-fixes.patch @@ -0,0 +1,118 @@ +https://git.savannah.gnu.org/cgit/freeipmi.git/commit/?id=587b0cce3d0f146c9f97efbf33d599d23217d610 +https://git.savannah.gnu.org/cgit/freeipmi.git/commit/?id=9cc6f981b55d6aa784788674a5a77c5b970bcabe +https://git.savannah.gnu.org/cgit/freeipmi.git/commit/?id=14c6e2d373173d06fa3f2148629b4d8bdedec0a2 +https://git.savannah.gnu.org/cgit/freeipmi.git/commit/?id=66cf8d0bb7e47d3360389ce427a6303cc0b63d00 + +From 587b0cce3d0f146c9f97efbf33d599d23217d610 Mon Sep 17 00:00:00 2001 +From: Albert Chu <[email protected]> +Date: Tue, 7 Jan 2020 13:48:12 -0800 +Subject: [PATCH 1/7] ipmi-sensors: Fix header guards + +--- a/ipmi-sensors/ipmi-sensors-oem-intel-quanta-qssc-s4r.h ++++ b/ipmi-sensors/ipmi-sensors-oem-intel-quanta-qssc-s4r.h +@@ -17,7 +17,7 @@ + */ + + #ifndef IPMI_SENSORS_OEM_INTEL_QUANTA_QSSC_S4R_H +-#define IPMI_SENSORS_OEM_INTEL_H ++#define IPMI_SENSORS_OEM_INTEL_QUANTA_QSSC_S4R_H + + #include "ipmi-sensors.h" + +--- a/ipmi-sensors/ipmi-sensors-oem-intel-s2600jf.h ++++ b/ipmi-sensors/ipmi-sensors-oem-intel-s2600jf.h +@@ -17,7 +17,7 @@ + */ + + #ifndef IPMI_SENSORS_OEM_INTEL_S2600JF_H +-#define IPMI_SENSORS_OEM_INTEL_H ++#define IPMI_SENSORS_OEM_INTEL_S2600JF_H + + #include "ipmi-sensors.h" + +--- a/ipmi-sensors/ipmi-sensors-oem-intel-s2600wp.h ++++ b/ipmi-sensors/ipmi-sensors-oem-intel-s2600wp.h +@@ -17,7 +17,7 @@ + */ + + #ifndef IPMI_SENSORS_OEM_INTEL_S2600WP_H +-#define IPMI_SENSORS_OEM_INTEL_H ++#define IPMI_SENSORS_OEM_INTEL_S2600WP_H + + #include "ipmi-sensors.h" + +--- a/ipmi-sensors/ipmi-sensors-oem-intel-s5500wb.h ++++ b/ipmi-sensors/ipmi-sensors-oem-intel-s5500wb.h +@@ -17,7 +17,7 @@ + */ + + #ifndef IPMI_SENSORS_OEM_INTEL_S5500WB_H +-#define IPMI_SENSORS_OEM_INTEL_H ++#define IPMI_SENSORS_OEM_INTEL_S5500WB_H + + #include "ipmi-sensors.h" + +From 9cc6f981b55d6aa784788674a5a77c5b970bcabe Mon Sep 17 00:00:00 2001 +From: Albert Chu <[email protected]> +Date: Tue, 7 Jan 2020 14:06:27 -0800 +Subject: [PATCH 4/7] libipmiconsole: Move header guard macros to top of file + +--- a/libipmiconsole/ipmiconsole_defs.h ++++ b/libipmiconsole/ipmiconsole_defs.h +@@ -24,6 +24,9 @@ + * with Ipmiconsole. If not, see <http://www.gnu.org/licenses/>. + \*****************************************************************************/ + ++#ifndef IPMICONSOLE_DEFS_H ++#define IPMICONSOLE_DEFS_H ++ + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif /* HAVE_CONFIG_H */ +@@ -54,9 +57,6 @@ + + #include "scbuf.h" + +-#ifndef IPMICONSOLE_DEFS_H +-#define IPMICONSOLE_DEFS_H +- + #ifndef MAXHOSTNAMELEN + #define MAXHOSTNAMELEN 64 + #endif /* MAXHOSTNAMELEN */ +From 14c6e2d373173d06fa3f2148629b4d8bdedec0a2 Mon Sep 17 00:00:00 2001 +From: Albert Chu <[email protected]> +Date: Tue, 7 Jan 2020 15:30:39 -0800 +Subject: [PATCH 6/7] libfreeipmi/sel: Add missing functions to header + +--- a/libfreeipmi/sel/ipmi-sel-string-supermicro-common.h ++++ b/libfreeipmi/sel/ipmi-sel-string-supermicro-common.h +@@ -39,4 +39,14 @@ int sel_string_output_supermicro_overheat_event_data1_class_oem (ipmi_sel_ctx_t + unsigned int *wlen, + struct ipmi_sel_system_event_record_data *system_event_record_data); + ++int sel_string_output_supermicro_dimm_event_data2_event_data3 (ipmi_sel_ctx_t ctx, ++ struct ipmi_sel_entry *sel_entry, ++ uint8_t sel_record_type, ++ char *buf, ++ unsigned int buflen, ++ unsigned int flags, ++ unsigned int *wlen, ++ struct ipmi_sel_system_event_record_data *system_event_record_data, ++ int *oem_rv); ++ + #endif /* IPMI_SEL_STRING_SUPERMICRO_COMMON_H */ +From 66cf8d0bb7e47d3360389ce427a6303cc0b63d00 Mon Sep 17 00:00:00 2001 +From: Albert Chu <[email protected]> +Date: Tue, 7 Jan 2020 15:32:22 -0800 +Subject: [PATCH 7/7] ipmi-sensors: Add missing header to file + +--- a/ipmi-sensors/ipmi-sensors-oem-intel.c ++++ b/ipmi-sensors/ipmi-sensors-oem-intel.c +@@ -34,6 +34,7 @@ + #include "ipmi-sensors-oem-intel.h" + #include "ipmi-sensors-oem-intel-s5500wb.h" + #include "ipmi-sensors-oem-intel-s2600jf.h" ++#include "ipmi-sensors-oem-intel-s2600wp.h" + #include "ipmi-sensors-oem-intel-quanta-qssc-s4r.h" + #include "ipmi-sensors-oem-intel-node-manager.h" + diff --git a/sys-libs/freeipmi/freeipmi-1.6.10-r1.ebuild b/sys-libs/freeipmi/freeipmi-1.6.10-r1.ebuild new file mode 100644 index 000000000000..db22dec05250 --- /dev/null +++ b/sys-libs/freeipmi/freeipmi-1.6.10-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +AT_M4DIR="config" +inherit autotools toolchain-funcs + +DESCRIPTION="Provides Remote-Console and System Management Software as per IPMI v1.5/2.0" +HOMEPAGE="https://www.gnu.org/software/freeipmi/" + +MY_P="${P/_/.}" +[[ ${MY_P} == *.beta* ]] && ALPHA="-alpha" +SRC_URI="mirror://gnu${ALPHA}/${PN}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" +IUSE="debug nagios without-root" + +RDEPEND="dev-libs/libgcrypt:0=" +DEPEND="${RDEPEND} + virtual/os-headers" +RDEPEND="${RDEPEND} + nagios? ( + || ( net-analyzer/icinga net-analyzer/nagios ) + dev-lang/perl + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6.10-0001-configure.ac-Fix-Wimplicit-function-declaration-for-.patch + "${FILESDIR}"/${PN}-1.6.10-0002-configure.ac-Fix-detecting-sighandler_t-on-glibc.patch + "${FILESDIR}"/${PN}-1.6.10-0003-configure.ac-Use-AC_USE_SYSTEM_EXTENSIONS-instead-of.patch + "${FILESDIR}"/${P}-header-fixes.patch +) + +src_prepare() { + default + + # Needed for configure.ac patches, drop if/when merged + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(usex without-root --with-dont-check-for-root "") + --disable-static + --disable-init-scripts + --localstatedir="${EPREFIX}"/var + ac_cv_path_CPP_FOR_BUILD="$(tc-getPROG CPP cpp)" + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # freeipmi by defaults install _all_ commands to /usr/sbin, but + # quite a few can be run remotely as standard user, so move them + # in /usr/bin afterwards. + dodir /usr/bin + local prog + for prog in ipmi{detect,ping,power,console}; do + mv "${ED}"/usr/{s,}bin/${prog} || die + + # The default install symlinks these commands to add a dash + # after the ipmi prefix; we repeat those after move for + # consistency. + rm "${ED}"/usr/sbin/${prog/ipmi/ipmi-} + dosym ${prog} /usr/bin/${prog/ipmi/ipmi-} + done + + # Install the nagios plugin in its proper place, if desired + if use nagios; then + dodir /usr/$(get_libdir)/nagios/plugins + mv "${ED}"/usr/share/doc/${PF}/contrib/nagios/nagios_ipmi_sensors.pl \ + "${ED}"/usr/$(get_libdir)/nagios/plugins/ || die + fperms 0755 /usr/$(get_libdir)/nagios/plugins/nagios_ipmi_sensors.pl + + insinto /etc/icinga/conf.d + newins "${FILESDIR}"/freeipmi.icinga freeipmi-command.cfg + fi + + dodoc AUTHORS ChangeLog* DISCLAIMER* NEWS README* TODO doc/*.txt + + keepdir \ + /var/cache/ipmiseld \ + /var/cache/ipmimonitoringsdrcache \ + /var/lib/freeipmi \ + /var/log/ipmiconsole + + # starting from version 1.2.0 the two daemons are similar enough + newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmidetectd + newconfd "${FILESDIR}"/ipmidetectd.confd ipmidetectd + + newinitd "${FILESDIR}"/bmc-watchdog.initd.4 bmc-watchdog + newconfd "${FILESDIR}"/bmc-watchdog.confd bmc-watchdog + + newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmiseld + newconfd "${FILESDIR}"/ipmiseld.confd ipmiseld + + find "${ED}" -type f -name "*.la" -delete || die +}
