[nut/f18] rebuilt with updated freeipmi

Michal Hlavinka mhlavink at fedoraproject.org
Tue Sep 4 08:08:23 UTC 2012


commit ee4366d9f23cf73a7cfd07b5b0008fcdb6b7c865
Author: Michal Hlavinka <mhlavink at redhat.com>
Date:   Tue Sep 4 10:08:18 2012 +0200

    rebuilt with updated freeipmi

 nut-2.6.5-ipmifix.patch |  138 +++++++++++++++++++++++++++++++++++++++++++++++
 nut.spec                |    7 ++-
 2 files changed, 144 insertions(+), 1 deletions(-)
---
diff --git a/nut-2.6.5-ipmifix.patch b/nut-2.6.5-ipmifix.patch
new file mode 100644
index 0000000..db7bff8
--- /dev/null
+++ b/nut-2.6.5-ipmifix.patch
@@ -0,0 +1,138 @@
+diff -up nut-2.6.5/drivers/nut-libfreeipmi.c.ipmifix nut-2.6.5/drivers/nut-libfreeipmi.c
+--- nut-2.6.5/drivers/nut-libfreeipmi.c.ipmifix	2012-07-31 19:38:59.000000000 +0200
++++ nut-2.6.5/drivers/nut-libfreeipmi.c	2012-09-04 09:42:48.000000000 +0200
+@@ -49,6 +49,36 @@
+ #include "nut-ipmi.h"
+ #include "dstate.h"
+ 
++#ifdef HAVE_FREEIPMI_11X_12X
++#define ipmi_fru_parse_ctx_t ipmi_fru_ctx_t
++#define nut_ipmi_fru_parse_close_device_id nut_ipmi_fru_close_device_id
++#define nut_ipmi_fru_parse_ctx_destroy nut_ipmi_fru_ctx_destroy
++#define nut_ipmi_fru_parse_ctx_create nut_ipmi_fru_ctx_create
++#define nut_ipmi_fru_parse_ctx_set_flags nut_ipmi_fru_ctx_set_flags
++#define nut_ipmi_fru_parse_open_device_id nut_ipmi_fru_open_device_id
++#define nut_ipmi_fru_parse_ctx_errormsg nut_ipmi_fru_ctx_errormsg
++#define nut_ipmi_fru_parse_next nut_ipmi_fru_next
++#define IPMI_FRU_PARSE_AREA_SIZE_MAX IPMI_FRU_AREA_SIZE_MAX
++#define IPMI_FRU_PARSE_FLAGS_SKIP_CHECKSUM_CHECKS IPMI_FRU_FLAGS_SKIP_CHECKSUM_CHECKS
++#define IPMI_FRU_PARSE_AREA_TYPE_MULTIRECORD_POWER_SUPPLY_INFORMATION IPMI_FRU_AREA_TYPE_MULTIRECORD_POWER_SUPPLY_INFORMATION
++#define IPMI_FRU_PARSE_AREA_TYPE_BOARD_INFO_AREA IPMI_FRU_AREA_TYPE_BOARD_INFO_AREA
++#define ipmi_fru_parse_field_t ipmi_fru_field_t
++#define ipmi_fru_parse_ctx_create ipmi_fru_ctx_create
++#define ipmi_fru_parse_ctx_set_flags ipmi_fru_ctx_set_flags
++#define ipmi_fru_parse_ctx_strerror ipmi_fru_ctx_strerror
++#define ipmi_fru_parse_ctx_errnum ipmi_fru_ctx_errnum
++#define ipmi_fru_parse_open_device_id ipmi_fru_open_device_id
++#define ipmi_fru_parse_ctx_errormsg ipmi_fru_ctx_errormsg
++#define ipmi_fru_parse_read_data_area ipmi_fru_read_data_area
++#define ipmi_fru_parse_type_length_field_to_string ipmi_fru_type_length_field_to_string
++#define ipmi_fru_parse_close_device_id ipmi_fru_close_device_id
++#define ipmi_fru_parse_ctx_destroy ipmi_fru_ctx_destroy
++#define ipmi_fru_parse_multirecord_power_supply_information ipmi_fru_multirecord_power_supply_information
++#define ipmi_fru_parse_board_info_area ipmi_fru_board_info_area
++#define ipmi_fru_parse_next ipmi_fru_next
++#define IPMI_FRU_PARSE_AREA_STRING_MAX IPMI_FRU_AREA_STRING_MAX
++#endif
++
+ /* FreeIPMI defines */
+ #define IPMI_FRU_STR_BUFLEN    1024
+ /* haven't seen a motherboard with more than 2-3 so far,
+diff -up nut-2.6.5/m4/nut_check_libfreeipmi.m4.ipmifix nut-2.6.5/m4/nut_check_libfreeipmi.m4
+--- nut-2.6.5/m4/nut_check_libfreeipmi.m4.ipmifix	2012-07-31 19:38:56.000000000 +0200
++++ nut-2.6.5/m4/nut_check_libfreeipmi.m4	2012-09-04 09:45:45.399328962 +0200
+@@ -66,15 +66,23 @@ if test -z "${nut_have_libfreeipmi_seen}
+ 	dnl when version cannot be tested (prior to 1.0.5, with no pkg-config)
+ 	dnl we have to check for some specific functions
+ 	AC_SEARCH_LIBS([ipmi_ctx_find_inband], [freeipmi], [], [nut_have_freeipmi=no])
+-	AC_SEARCH_LIBS([ipmi_fru_parse_ctx_create], [freeipmi], [], [nut_have_freeipmi=no])
+ 
+ 	AC_SEARCH_LIBS([ipmi_monitoring_init], [ipmimonitoring], [nut_have_freeipmi_monitoring=yes], [nut_have_freeipmi_monitoring=no])
+ 	AC_SEARCH_LIBS([ipmi_monitoring_sensor_read_record_id], [ipmimonitoring], [], [nut_have_freeipmi_monitoring=no])
+ 
+ 	dnl Check for FreeIPMI 1.1.X / 1.2.X which implies API changes!
+-	AC_SEARCH_LIBS([ipmi_sdr_cache_ctx_destroy], [freeipmi], [nut_have_freeipmi_11x_12x=no], [])
++	nut_have_freeipmi_old="${nut_have_freeipmi}"
++	AC_SEARCH_LIBS([ipmi_fru_parse_ctx_create], [freeipmi], [nut_have_freeipmi_11x_12x=no], [nut_have_freeipmi_old=no])
++	AC_SEARCH_LIBS([ipmi_sdr_cache_ctx_destroy], [freeipmi], [nut_have_freeipmi_11x_12x=no], [nut_have_freeipmi_old=no])
++	AC_SEARCH_LIBS([ipmi_fru_ctx_create], [freeipmi], [nut_have_freeipmi_11x_12x=yes], [nut_have_freeipmi_11x_12x=no])
+ 	AC_SEARCH_LIBS([ipmi_sdr_ctx_destroy], [freeipmi], [nut_have_freeipmi_11x_12x=yes], [nut_have_freeipmi_11x_12x=no])
+ 
++	if test "${nut_have_freeipmi}${nut_have_freeipmi_11x_12x}" = "yesyes"; then
++		AC_DEFINE(HAVE_FREEIPMI_11X_12X, 1, [Define if FreeIPMI 1.1.X / 1.2.X support is available])
++        elif test "${nut_have_freeipmi_old}" = "no"; then
++		nut_have_freeipmi="no"
++	fi
++
+ 	if test "${nut_have_freeipmi}" = "yes"; then
+ 		nut_with_ipmi="yes"
+ 		nut_ipmi_lib="(FreeIPMI)"
+@@ -84,10 +92,6 @@ if test -z "${nut_have_libfreeipmi_seen}
+ 		LIBIPMI_LIBS="${LIBS}"
+ 	fi
+ 
+-	if test "${nut_have_freeipmi_11x_12x}" = "yes"; then
+-		AC_DEFINE(HAVE_FREEIPMI_11X_12X, 1, [Define if FreeIPMI 1.1.X / 1.2.X support is available])
+-	fi
+-
+ 	if test "${nut_have_freeipmi_monitoring}" = "yes"; then
+ 		AC_DEFINE(HAVE_FREEIPMI_MONITORING, 1, [Define if FreeIPMI monitoring support is available])
+ 	fi
+diff -up nut-2.6.5/tools/nut-scanner/scan_ipmi.c.ipmifix nut-2.6.5/tools/nut-scanner/scan_ipmi.c
+--- nut-2.6.5/tools/nut-scanner/scan_ipmi.c.ipmifix	2012-07-31 19:38:58.000000000 +0200
++++ nut-2.6.5/tools/nut-scanner/scan_ipmi.c	2012-09-04 09:42:35.000000000 +0200
+@@ -34,24 +34,50 @@ static char * libname = "libfreeipmi";
+ static lt_dlhandle dl_handle = NULL;
+ static const char *dl_error = NULL;
+ 
+-static int (*nut_ipmi_fru_parse_close_device_id) (ipmi_fru_parse_ctx_t ctx);
+-static void (*nut_ipmi_fru_parse_ctx_destroy) (ipmi_fru_parse_ctx_t ctx);
+ #ifdef HAVE_FREEIPMI_11X_12X
+ static void (*nut_ipmi_sdr_ctx_destroy) (ipmi_sdr_ctx_t ctx);
++static int (*nut_ipmi_fru_close_device_id) (ipmi_fru_ctx_t ctx);
++static void (*nut_ipmi_fru_ctx_destroy) (ipmi_fru_ctx_t ctx);
++static ipmi_fru_ctx_t (*nut_ipmi_fru_ctx_create) (ipmi_ctx_t ipmi_ctx);
++static int (*nut_ipmi_fru_ctx_set_flags) (ipmi_fru_ctx_t ctx, unsigned int flags);
++static int (*nut_ipmi_fru_open_device_id) (ipmi_fru_ctx_t ctx, uint8_t fru_device_id);
++static char * (*nut_ipmi_fru_ctx_errormsg) (ipmi_fru_ctx_t ctx);
++static int (*nut_ipmi_fru_next) (ipmi_fru_ctx_t ctx);
+ #else /* HAVE_FREEIPMI_11X_12X */
++static int (*nut_ipmi_fru_parse_close_device_id) (ipmi_fru_parse_ctx_t ctx);
++static void (*nut_ipmi_fru_parse_ctx_destroy) (ipmi_fru_parse_ctx_t ctx);
+ static void (*nut_ipmi_sdr_cache_ctx_destroy) (ipmi_sdr_cache_ctx_t ctx);
+ static void (*nut_ipmi_sdr_parse_ctx_destroy) (ipmi_sdr_parse_ctx_t ctx);
+-#endif /* HAVE_FREEIPMI_11X_12X */
+ static ipmi_fru_parse_ctx_t (*nut_ipmi_fru_parse_ctx_create) (ipmi_ctx_t ipmi_ctx);
+ static int (*nut_ipmi_fru_parse_ctx_set_flags) (ipmi_fru_parse_ctx_t ctx, unsigned int flags);
+ static int (*nut_ipmi_fru_parse_open_device_id) (ipmi_fru_parse_ctx_t ctx, uint8_t fru_device_id);
+ static char * (*nut_ipmi_fru_parse_ctx_errormsg) (ipmi_fru_parse_ctx_t ctx);
++static int (*nut_ipmi_fru_parse_next) (ipmi_fru_parse_ctx_t ctx);
++#endif /* HAVE_FREEIPMI_11X_12X */
++
++#ifndef ipmi_fru_parse_ctx_t
++#define ipmi_fru_parse_ctx_t ipmi_fru_ctx_t
++#endif
++
++#ifndef nut_ipmi_fru_parse_close_device_id
++#define nut_ipmi_fru_parse_close_device_id nut_ipmi_fru_close_device_id
++#endif
++
++#define nut_ipmi_fru_parse_ctx_destroy nut_ipmi_fru_ctx_destroy
++#define nut_ipmi_fru_parse_ctx_create nut_ipmi_fru_ctx_create
++#define nut_ipmi_fru_parse_ctx_set_flags nut_ipmi_fru_ctx_set_flags
++#define nut_ipmi_fru_parse_open_device_id nut_ipmi_fru_open_device_id
++#define nut_ipmi_fru_parse_ctx_errormsg nut_ipmi_fru_ctx_errormsg
++#define nut_ipmi_fru_parse_next nut_ipmi_fru_next
++#define IPMI_FRU_PARSE_AREA_SIZE_MAX IPMI_FRU_AREA_SIZE_MAX
++#define IPMI_FRU_PARSE_FLAGS_SKIP_CHECKSUM_CHECKS IPMI_FRU_FLAGS_SKIP_CHECKSUM_CHECKS
++#define IPMI_FRU_PARSE_AREA_TYPE_MULTIRECORD_POWER_SUPPLY_INFORMATION IPMI_FRU_AREA_TYPE_MULTIRECORD_POWER_SUPPLY_INFORMATION
++
+ static int (*nut_ipmi_fru_parse_read_data_area) (ipmi_fru_parse_ctx_t ctx,
+                                    unsigned int *area_type,
+                                    unsigned int *area_length,
+                                    void *areabuf,
+                                    unsigned int areabuflen);
+-static int (*nut_ipmi_fru_parse_next) (ipmi_fru_parse_ctx_t ctx);
+ static ipmi_ctx_t (*nut_ipmi_ctx_create) (void);
+ static int (*nut_ipmi_ctx_find_inband) (ipmi_ctx_t ctx,
+                           ipmi_driver_type_t *driver_type,
diff --git a/nut.spec b/nut.spec
index 1799389..727cad0 100644
--- a/nut.spec
+++ b/nut.spec
@@ -13,7 +13,7 @@
 Summary: Network UPS Tools
 Name: nut
 Version: 2.6.5
-Release: 1%{?dist}
+Release: 2%{?dist}
 Group: Applications/System
 License: GPLv2+ and GPLv3+
 Url: http://www.networkupstools.org/
@@ -23,6 +23,7 @@ Patch1: nut-2.6.3-tmpfiles.patch
 
 #quick fix. TODO: fix it properly
 Patch3: nut-2.6.5-quickfix.patch
+Patch4: nut-2.6.5-ipmifix.patch
 
 Requires(pre): shadow-utils udev
 Requires(post): fileutils chkconfig 
@@ -112,6 +113,7 @@ necessary to develop NUT client applications.
 %setup -q
 %patch1 -p1 -b .tmpfiles
 %patch3 -p1 -b .quickfix
+%patch4 -p1 -b .ipmifix
 sed -i 's|=NUT-Monitor|=nut-monitor|'  scripts/python/app/nut-monitor.desktop
 sed -i "s|sys.argv\[0\]|'%{_datadir}/%{name}/nut-monitor/nut-monitor'|" scripts/python/app/NUT-Monitor
 sed -i 's|LIBSSL_LDFLAGS|LIBSSL_LIBS|' lib/libupsclient-config.in
@@ -496,6 +498,9 @@ rm -rf %{buildroot}
 %{_libdir}/pkgconfig/libnutscan.pc
 
 %changelog
+* Tue Sep 04 2012 Michal Hlavinka <mhlavink at redhat.com> - 2.6.5-2
+- rebuilt with updated freeipmi
+
 * Fri Aug 10 2012 Michal Hlavinka <mhlavink at redhat.com> - 2.6.5-1
 - nut updated to 2.6.5
 


More information about the scm-commits mailing list