From b980c96591dc079fc7751f5372e191bc62be20da Mon Sep 17 00:00:00 2001 From: Rui Chen Date: Wed, 18 Sep 2024 16:52:38 -0400 Subject: [PATCH] ipmiutil: add upstream build patch Signed-off-by: Rui Chen --- Formula/i/ipmiutil.rb | 57 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/Formula/i/ipmiutil.rb b/Formula/i/ipmiutil.rb index f05e463394ea..d7cd92d5f5ec 100644 --- a/Formula/i/ipmiutil.rb +++ b/Formula/i/ipmiutil.rb @@ -2,7 +2,7 @@ class Ipmiutil < Formula desc "IPMI server management utility" homepage "https://ipmiutil.sourceforge.net/" url "https://downloads.sourceforge.net/project/ipmiutil/ipmiutil-3.1.9.tar.gz" - sha256 "c0dacc4ad506538f59ed45373b775748deddddc36e6d3c303f5069a59cacab08" + sha256 "5ae99bdd1296a8e25cea839784ec39ebca57b0e3701b2d440b8e02e22dc4bc95" license all_of: ["BSD-2-Clause", "BSD-3-Clause", "GPL-2.0-or-later"] bottle do @@ -21,7 +21,13 @@ class Ipmiutil < Formula conflicts_with "renameutils", because: "both install `icmd` binaries" + # add upstream build patch, upstream bug report, https://sourceforge.net/p/ipmiutil/support-requests/61/ + patch :DATA + def install + # Workaround for newer Clang + ENV.append "CC", "-Wno-implicit-function-declaration" if DevelopmentTools.clang_build_version >= 1403 + # Darwin does not exist only on PowerPC if OS.mac? inreplace "configure.ac", "test \"$archp\" = \"powerpc\"", "true" @@ -48,3 +54,52 @@ def install system bin/"ipmiutil", "delloem", "help" end end + +__END__ +diff --git a/util/oem_dell.c b/util/oem_dell.c +index b474ee3..b4d8112 100644 +--- a/util/oem_dell.c ++++ b/util/oem_dell.c +@@ -4,6 +4,7 @@ + * + * Change history: + * 08/17/2011 ARCress - included in ipmiutil source tree ++ * 09/18/2024 ARCress - fix macos compile error with vFlashstr + * + */ + /****************************************************************** +@@ -157,8 +158,14 @@ static uint8_t SetLEDSupported=0; + + volatile uint8_t IMC_Type = IMC_IDRAC_10G; + ++typedef struct ++{ ++ int val; ++ char *str; ++} vFlashstr; + +-const struct vFlashstr vFlash_completion_code_vals[] = { ++// const struct vFlashstr vFlash_completion_code_vals[] = { ++const vFlashstr vFlash_completion_code_vals[] = { + {0x00, "SUCCESS"}, + {0x01, "NO_SD_CARD"}, + {0x63, "UNKNOWN_ERROR"}, +@@ -250,7 +257,8 @@ static void ipmi_powermonitor_usage(void); + + /* vFlash Function prototypes */ + static int ipmi_delloem_vFlash_main(void * intf, int argc, char ** argv); +-const char * get_vFlash_compcode_str(uint8_t vflashcompcode, const struct vFlashstr *vs); ++// const char * get_vFlash_compcode_str(uint8_t vflashcompcode, const struct vFlashstr *vs); ++const char * get_vFlash_compcode_str(uint8_t vflashcompcode, const vFlashstr *vs); + static int ipmi_get_sd_card_info(void* intf); + static int ipmi_delloem_vFlash_process(void* intf, int current_arg, char ** argv); + static void ipmi_vFlash_usage(void); +@@ -4818,7 +4826,7 @@ static int ipmi_delloem_vFlash_main (void * intf, int argc, char ** argv) + * + ******************************************************************/ + const char * +-get_vFlash_compcode_str(uint8_t vflashcompcode, const struct vFlashstr *vs) ++get_vFlash_compcode_str(uint8_t vflashcompcode, const vFlashstr *vs) + { + static char un_str[32]; + int i;