ports/171766: [PATCH] update sysutils/ipmitool to latest version and fix build with clang
Niclas Zeising
zeising at daemonic.se
Wed Sep 19 08:20:11 UTC 2012
>Number: 171766
>Category: ports
>Synopsis: [PATCH] update sysutils/ipmitool to latest version and fix build with clang
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 19 08:20:05 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Niclas Zeising
>Release: FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
System: FreeBSD tifa.daemonic.se 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r231776M: Wed Feb 15 22:30:06 CET 2012 root at tifa.daemonic.se:/usr/obj/usr/src/sys/TIFA amd64
>Description:
sysutils/ipmotool is out of date, and doesn't build with clang.
>How-To-Repeat:
>Fix:
Attached patch updates sysutils/ipmitool to the latest version, which includes fixes to make it build with clang
It also converts the ports to the new options framework for the freeipmi option.
--- ports.ipmitool.update.1.8.12.diff begins here ---
Index: sysutils/ipmitool/distinfo
===================================================================
--- sysutils/ipmitool/distinfo (revision 304401)
+++ sysutils/ipmitool/distinfo (working copy)
@@ -1,2 +1,2 @@
-SHA256 (ipmitool-1.8.11.tar.bz2) = df219019dc2216c3b7a894edd20286b2118aa636f9990c8405674ce84948eddd
-SIZE (ipmitool-1.8.11.tar.bz2) = 584416
+SHA256 (ipmitool-1.8.12.tar.bz2) = 549b2da65c30905248aee07367a9cae3dd94bceaddd9c122d55075766c868733
+SIZE (ipmitool-1.8.12.tar.bz2) = 684159
Index: sysutils/ipmitool/files/patch-include__ipmitool__ipmi_sdr.h
===================================================================
--- sysutils/ipmitool/files/patch-include__ipmitool__ipmi_sdr.h (revision 304401)
+++ sysutils/ipmitool/files/patch-include__ipmitool__ipmi_sdr.h (working copy)
@@ -1,11 +0,0 @@
---- ./include/ipmitool/ipmi_sdr.h.orig 2009-02-25 15:38:52.000000000 -0500
-+++ ./include/ipmitool/ipmi_sdr.h 2010-07-23 14:46:07.000000000 -0400
-@@ -277,7 +277,7 @@
- uint16_t settable:8;
- #endif
- } read;
-- };
-+ } type;
- } threshold;
- } type;
- } __attribute__ ((packed));
Index: sysutils/ipmitool/files/patch-src__plugins__lan__lan.c
===================================================================
--- sysutils/ipmitool/files/patch-src__plugins__lan__lan.c (revision 304401)
+++ sysutils/ipmitool/files/patch-src__plugins__lan__lan.c (working copy)
@@ -1,10 +0,0 @@
---- ./src/plugins/lan/lan.c.orig 2009-02-25 15:38:53.000000000 -0500
-+++ ./src/plugins/lan/lan.c 2010-07-23 14:46:07.000000000 -0400
-@@ -36,6 +36,7 @@
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
-+#include <sys/time.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <errno.h>
Index: sysutils/ipmitool/files/patch-lib__ipmi_sdr.c
===================================================================
--- sysutils/ipmitool/files/patch-lib__ipmi_sdr.c (revision 304401)
+++ sysutils/ipmitool/files/patch-lib__ipmi_sdr.c (working copy)
@@ -1,83 +0,0 @@
---- ./lib/ipmi_sdr.c.orig 2009-02-25 15:38:52.000000000 -0500
-+++ ./lib/ipmi_sdr.c 2010-07-23 14:46:07.000000000 -0400
-@@ -775,7 +775,7 @@
- /* helper macro for printing sensor thresholds */
- #define SENSOR_PRINT_THRESH(NAME, READ, FLAG) \
- if (sensor->sensor.init.thresholds && \
-- sensor->mask.type.threshold.read.FLAG != 0) { \
-+ sensor->mask.type.threshold.type.read.FLAG != 0) { \
- printf(" %-21s : ", NAME); \
- printf("%.3f\n", sdr_convert_sensor_reading( \
- sensor, sensor->threshold.READ)); \
-@@ -1247,17 +1247,17 @@
- sensor->normal_min);
- SENSOR_PRINT_CSV(sensor->analog_flag.normal_max,
- sensor->normal_max);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.unr,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.unr,
- sensor->threshold.upper.non_recover);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.ucr,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.ucr,
- sensor->threshold.upper.critical);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.unc,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.unc,
- sensor->threshold.upper.non_critical);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.lnr,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.lnr,
- sensor->threshold.lower.non_recover);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.lcr,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.lcr,
- sensor->threshold.lower.critical);
-- SENSOR_PRINT_CSV(sensor->mask.type.threshold.read.lnc,
-+ SENSOR_PRINT_CSV(sensor->mask.type.threshold.type.read.lnc,
- sensor->threshold.lower.non_critical);
-
- printf("%.3f,%.3f",
-@@ -1485,17 +1485,17 @@
- break;
- case 1: /* readable according to mask */
- case 2: /* readable and settable according to mask */
-- if (sensor->mask.type.threshold.read.lnr)
-+ if (sensor->mask.type.threshold.type.read.lnr)
- printf("lnr ");
-- if (sensor->mask.type.threshold.read.lcr)
-+ if (sensor->mask.type.threshold.type.read.lcr)
- printf("lcr ");
-- if (sensor->mask.type.threshold.read.lnc)
-+ if (sensor->mask.type.threshold.type.read.lnc)
- printf("lnc ");
-- if (sensor->mask.type.threshold.read.unc)
-+ if (sensor->mask.type.threshold.type.read.unc)
- printf("unc ");
-- if (sensor->mask.type.threshold.read.ucr)
-+ if (sensor->mask.type.threshold.type.read.ucr)
- printf("ucr ");
-- if (sensor->mask.type.threshold.read.unr)
-+ if (sensor->mask.type.threshold.type.read.unr)
- printf("unr ");
- printf("\n");
- break;
-@@ -1511,17 +1511,17 @@
- break;
- case 1: /* readable according to mask */
- case 2: /* readable and settable according to mask */
-- if (sensor->mask.type.threshold.set.lnr)
-+ if (sensor->mask.type.threshold.type.set.lnr)
- printf("lnr ");
-- if (sensor->mask.type.threshold.set.lcr)
-+ if (sensor->mask.type.threshold.type.set.lcr)
- printf("lcr ");
-- if (sensor->mask.type.threshold.set.lnc)
-+ if (sensor->mask.type.threshold.type.set.lnc)
- printf("lnc ");
-- if (sensor->mask.type.threshold.set.unc)
-+ if (sensor->mask.type.threshold.type.set.unc)
- printf("unc ");
-- if (sensor->mask.type.threshold.set.ucr)
-+ if (sensor->mask.type.threshold.type.set.ucr)
- printf("ucr ");
-- if (sensor->mask.type.threshold.set.unr)
-+ if (sensor->mask.type.threshold.type.set.unr)
- printf("unr ");
- printf("\n");
- break;
Index: sysutils/ipmitool/files/patch-src__ipmishell.c
===================================================================
--- sysutils/ipmitool/files/patch-src__ipmishell.c (revision 304401)
+++ sysutils/ipmitool/files/patch-src__ipmishell.c (working copy)
@@ -1,10 +0,0 @@
---- ./src/ipmishell.c.orig 2009-02-25 15:38:52.000000000 -0500
-+++ ./src/ipmishell.c 2010-07-23 14:46:07.000000000 -0400
-@@ -57,7 +57,6 @@
- #ifdef HAVE_READLINE
-
- /* avoid warnings errors due to non-ANSI type declarations in readline.h */
--#define _FUNCTION_DEF
- #define USE_VARARGS
- #define PREFER_STDARG
-
Index: sysutils/ipmitool/files/patch-lib__ipmi_fru.c
===================================================================
--- sysutils/ipmitool/files/patch-lib__ipmi_fru.c (revision 304401)
+++ sysutils/ipmitool/files/patch-lib__ipmi_fru.c (working copy)
@@ -1,21 +0,0 @@
---- ./lib/ipmi_fru.c.orig 2009-02-25 15:38:52.000000000 -0500
-+++ ./lib/ipmi_fru.c 2010-07-23 14:46:07.000000000 -0400
-@@ -489,7 +489,8 @@
- struct ipmi_rq req;
- uint8_t msg_data[25];
- uint8_t writeLength;
-- uint16_t num_bloc;
-+ uint16_t num_bloc;
-+ t_ipmi_fru_bloc * fru_bloc;
-
- finish = doffset + length; /* destination offset */
- if (finish > fru->size)
-@@ -498,7 +499,7 @@
- return -1;
- }
-
-- t_ipmi_fru_bloc * fru_bloc = build_fru_bloc(intf, fru, id, &num_bloc);
-+ fru_bloc = build_fru_bloc(intf, fru, id, &num_bloc);
-
- memset(&req, 0, sizeof(req));
- req.msg.netfn = IPMI_NETFN_STORAGE;
Index: sysutils/ipmitool/files/patch-configure
===================================================================
--- sysutils/ipmitool/files/patch-configure (revision 0)
+++ sysutils/ipmitool/files/patch-configure (working copy)
@@ -0,0 +1,11 @@
+--- configure.orig 2012-09-18 21:50:01.000000000 +0200
++++ configure 2012-09-18 21:50:14.000000000 +0200
+@@ -5030,7 +5030,7 @@
+ done
+
+
+-CFLAGS="$CFLAGS -fno-strict-aliasing -Wreturn-type -Wno-unused-result -Wno-packed-bitfield-compat"
++CFLAGS="$CFLAGS -fno-strict-aliasing -Wreturn-type"
+
+ case `pwd` in
+ *\ * | *\ *)
Property changes on: sysutils/ipmitool/files/patch-configure
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: sysutils/ipmitool/Makefile
===================================================================
--- sysutils/ipmitool/Makefile (revision 304401)
+++ sysutils/ipmitool/Makefile (working copy)
@@ -6,8 +6,7 @@
#
PORTNAME= ipmitool
-PORTVERSION= 1.8.11
-PORTREVISION= 4
+PORTVERSION= 1.8.12
CATEGORIES= sysutils
MASTER_SITES= SF
@@ -15,7 +14,6 @@
COMMENT= CLI to manage IPMI systems
USE_BZIP2= yes
-DOS2UNIX= ipmi_fwum.c
USE_GMAKE= yes
USE_OPENSSL= yes
GNU_CONFIGURE= yes
@@ -33,25 +31,26 @@
PERIODIC_DIR= etc/periodic/daily
+OPTIONS_DEFINE= FREEIPMI
+FREEIPMI_DESC= Enable support for freeipmi
+
.if defined(WITH_DEBUG)
CFLAGS+= -ggdb -Wall
.endif
-.include <bsd.port.pre.mk>
-
-post-install:
- @${MKDIR} ${PREFIX}/${PERIODIC_DIR}
- @${INSTALL_SCRIPT} ${WRKDIR}/status-ipmi.sh ${PREFIX}/${PERIODIC_DIR}/400.status-ipmi
-
.if exists(/usr/include/sys/ipmi.h)
CONFIGURE_ARGS+= --enable-intf-open
.else
CONFIGURE_ARGS+= --disable-intf-open
.endif
-.if defined(WITH_FREEIPMI) || \
- (exists(${LOCALBASE}/include/freeipmi/freeipmi.h) && \
- !defined(WITHOUT_FREEIPMI))
+.if defined(NOPORTDOCS)
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-Makefile.in
+.endif
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MFREEIPMI}
LIB_DEPENDS+= freeipmi:${PORTSDIR}/sysutils/freeipmi
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
@@ -60,8 +59,8 @@
CONFIGURE_ARGS+= --disable-intf-free
.endif
-.if defined(NOPORTDOCS)
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-Makefile.in
-.endif
+post-install:
+ @${MKDIR} ${PREFIX}/${PERIODIC_DIR}
+ @${INSTALL_SCRIPT} ${WRKDIR}/status-ipmi.sh ${PREFIX}/${PERIODIC_DIR}/400.status-ipmi
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
--- ports.ipmitool.update.1.8.12.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list