packages: ipmitool/ipmitool.spec, ipmitool/ipmitool-git.patch (NEW) - rel 4...

arekm arekm at pld-linux.org
Fri Nov 19 23:30:01 CET 2010


Author: arekm                        Date: Fri Nov 19 22:30:01 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 4; add git fixes

---- Files affected:
packages/ipmitool:
   ipmitool.spec (1.31 -> 1.32) , ipmitool-git.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/ipmitool/ipmitool.spec
diff -u packages/ipmitool/ipmitool.spec:1.31 packages/ipmitool/ipmitool.spec:1.32
--- packages/ipmitool/ipmitool.spec:1.31	Sat Nov 13 13:07:54 2010
+++ packages/ipmitool/ipmitool.spec	Fri Nov 19 23:29:56 2010
@@ -3,13 +3,14 @@
 Summary(pl.UTF-8):	Prosty interfejs do systemów obsługujących IPMI działający z linii poleceń
 Name:		ipmitool
 Version:	1.8.11
-Release:	3
+Release:	4
 License:	BSD
 Group:		Applications/System
 Source0:	http://dl.sourceforge.net/ipmitool/%{name}-%{version}.tar.gz
 # Source0-md5:	0f9b4758c2b7e8a7bafc2ead113b4bc6
 Source1:	%{name}-ipmievd.init
 Source2:	%{name}-ipmievd.sysconfig
+Patch0:		%{name}-git.patch
 URL:		http://ipmitool.sourceforge.net/
 BuildRequires:	autoconf >= 2.50
 BuildRequires:	automake
@@ -57,6 +58,7 @@
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %{__libtoolize} --ltdl
@@ -120,6 +122,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.32  2010/11/19 22:29:56  arekm
+- rel 4; add git fixes
+
 Revision 1.31  2010/11/13 12:07:54  pawelz
 - release 3
 

================================================================
Index: packages/ipmitool/ipmitool-git.patch
diff -u /dev/null packages/ipmitool/ipmitool-git.patch:1.1
--- /dev/null	Fri Nov 19 23:30:02 2010
+++ packages/ipmitool/ipmitool-git.patch	Fri Nov 19 23:29:56 2010
@@ -0,0 +1,20060 @@
+diff --git a/README b/README
+index 39e5e8b..d815c3f 100644
+--- a/README
++++ b/README
+@@ -131,6 +131,109 @@ no problems.  The IPMIv1.5 interface will attempt to use OpenSSL for MD5
+ hash function at compile time but if that is not found it will use an
+ internal library.
+ 
++IPMB Dual Bridging in  IPMITOOL
++-------------------------------
++
++IPMI offers a standard messaging interface.
++
++The following concepts are related to this messaging interface:
++
++Channel type     : Communication channel type (SMS/KCS, IPMB, LAN) 
++Channel number   : Channel descriptor
++Requester        : Address of the requester
++Responder        : Address of the responder
++NetFN            : The logical function  for the request/response.
++Command          : The command number 
++Sequence         : An ID identifiying the request/response pair
++Message tracking : The ability to match request/response pair.
++
++When a communication is issued through any of the channels, an application 
++formats a request and expect a response. 
++
++Direct Command
++--------------
++The simplest form of communication is a "direct command" using SMS/KCS
++
++Example:
++ ipmitool raw 6 4
++  55 00
++
++This send raw command 4 (selftest) from netfn 6(application) to KCS, the driver 
++takes care of 'message tracking' and provides the answer.
++
++Hopefully, the application also includes a "human readable" instance of the API:
++ ipmitool mc selftest
++ Selftest: passed
++
++Bridged Command
++---------------
++One slightly more complicated communication mode is the so-called 
++"bridged command" using IPMB. 
++
++Example:
++ ipmitool -m 0x94 -t 0x9a raw 6 4
++ 55 00
++ 
++ or
++ 
++ ipmitool -m 0x94 -t 0x9a mc selftest
++ Selftest: passed
++ 
++
++This still sends the same command  4 (selftest) from netfn 6(application) to 
++the target. However, to do so, the command is encapsulated (by the driver) and
++sent using the command 0x34 (send message) from netfn 6(application) to KCS. 
++Then KCS is polled by the driver until a message has been received, then the
++driver uses command 0x33 (get message). The driver also tracks the message 
++and makes sure the response matches the request. Then it decapsultates the
++message and gives the response back to the application.
++
++Dual Bridged Command
++--------------------
++Things get a little more ugly when the application needs to reach a management
++controller sitting on an interface (or channel) not directly connected to the 
++BMC/IPMC. In the case the application must encapsulate its message itself and 
++request the IPMC to deal with message tracking itself.
++
++Its been working well with IPMITOOL on the LAN interface with:
++ ipmitool -H <ip> -U <user> -P <password> -B 0 -T 0x8a  -m 0x20 -t 0x7a -b 7  
++    mc selftest
++
++However, trying to dual bridge commands locally with :
++ ipmitool -B 0 -T 0x9a -m 0x94 -t 0x7a -b 7 mc selftest didn't work 
++ (it returned the same data as  ipmitool -m 0x20 -t 0x7a -b 7 mc selftest )
++ 
++The reason was that the "openipmi" interface pluging didn't 
++encapsulate/decapsulate the message and didn't even detect the intent
++to double bridge the request.
++
++ ./src/ipmitool -B 0 -T 0x8a -m 0x94 -t 0x7a -b 7 mc selftest
++ 
++-B    0  : transit channel for first bridge level (channel 0: IPMB-0) 
++-T 0x8a  : transit destination address (remote IPMC address)
++-m 0x94  : source address (local IPMC address on IPMB-0)
++-t 0x7a  : remote target (AMC IPMB-L address)
++-b    7  : remote channel (channel 7: IPMB-L)
++
++The transit source address (remote IPMC address on remote channel) is 
++automatically assigned by the remote IPMC.
++
++Payload Size Limit
++------------------
++Because some commands return a lot of data (fru read/get sdr) and because 2 
++levels of encapsulation are used, some command will fail.
++
++For instance this works.
++
++ipmitool -H <ip> -U <user> -P <password>  -B 0 -T 0x8a  -m 0x94 -t 0x7a -b 7 
++    mc selftest
++
++but this does not:
++    
++ipmitool -H <ip> -U <user> -P <password>  -B 0 -T 0x8a  -m 0x94 -t 0x7a -b 7 
++    fru print.
++
++
+ 
+ Usage
+ =====
+diff --git a/configure.in b/configure.in
+index 1dd3499..01e7dfb 100644
+--- a/configure.in
++++ b/configure.in
+@@ -83,7 +83,7 @@ solaris*)
+ 	enable_intf_bmc=no
+ 	enable_ipmishell=no
+ 	;;
+-*darwin*)
++*darwin*|aix*)
+ 	# disable the linux and solaris-specific interfaces
+ 	enable_intf_imb=no
+ 	enable_intf_open=no
+@@ -256,7 +256,7 @@ dnl Determine if you got the right FreeIPMI version
+                            0,
+                            NULL,
+                            0);
+-    ], ac_free_version_0_3_0=yes,ac_free_version_0_3_0=no)
++    ], ac_free_version_0_3_0=yes, ac_free_version_0_3_0=no)
+     AC_MSG_RESULT($ac_free_version_0_3_0)
+     AC_MSG_CHECKING([for libfreeipmi version 0.4.0])
+     AC_TRY_COMPILE([
+@@ -275,7 +275,7 @@ dnl Determine if you got the right FreeIPMI version
+                           0,
+                           NULL,
+                           0);
+-    ], ac_free_version_0_4_0=yes,ac_free_version_0_4_0=no)
++    ], ac_free_version_0_4_0=yes, ac_free_version_0_4_0=no)
+     AC_MSG_RESULT($ac_free_version_0_4_0)
+     AC_MSG_CHECKING([for libfreeipmi version 0.5.0])
+     AC_TRY_COMPILE([
+@@ -295,7 +295,7 @@ dnl Determine if you got the right FreeIPMI version
+                           NULL,
+                           0,
+                           0);
+-    ], ac_free_version_0_5_0=yes,ac_free_version_0_5_0=no)
++    ], ac_free_version_0_5_0=yes, ac_free_version_0_5_0=no)
+     AC_MSG_RESULT($ac_free_version_0_5_0)
+ 
+     AC_MSG_CHECKING([for libfreeipmi version 0.6.0])
+@@ -314,7 +314,7 @@ dnl Determine if you got the right FreeIPMI version
+                               NULL,
+                               0,
+                               0);
+-    ], ac_free_version_0_6_0=yes,ac_free_version_0_6_0=no)
++    ], ac_free_version_0_6_0=yes, ac_free_version_0_6_0=no)
+     AC_MSG_RESULT($ac_free_version_0_6_0)
+ 
+     if test "x$ac_free_version_0_3_0" = "xyes" \
+@@ -340,6 +340,10 @@ dnl Determine if you got the right FreeIPMI version
+     else
+        enable_intf_free=no
+     fi
++
++    AC_CHECK_LIB(freeipmi,
++	         ipmi_cmd_raw_ipmb, 
++		 AC_DEFINE(IPMI_INTF_FREE_BRIDGING, [1], [Define to 1 to enable FreeIPMI Bridging Support.]))
+ fi
+ 
+ dnl look for termios header file
+diff --git a/doc/ipmitool.1 b/doc/ipmitool.1
+index 78c7fd6..7bce9f5 100644
+--- a/doc/ipmitool.1
++++ b/doc/ipmitool.1
+@@ -26,7 +26,7 @@ ipmitool [\fB\-c\fR|\fB\-h\fR|\fB\-v\fR|\fB\-V\fR]
+          [\fB\-o\fR <\fIoemtype\fP>]
+          [\fB\-O\fR <\fIsel oem\fP>]
+          [\fB\-C\fR <\fIciphersuite\fP>]
+-         [\fB\-K\fR|\fB\-k\fR <\fIkg_key\fP>]
++         [\fB\-Y\fR|[\fB\-K\fR|\fB\-k\fR <\fIkg_key\fP>]
+          [\fB\-y\fR <\fIhex_kg_key\fP>]
+          [\fB\-e\fR <\fIesc_char\fP>]
+          <\fIcommand\fP>
+@@ -62,6 +62,9 @@ This is not available with all commands.
+ Use supplied character for SOL session escape character.  The default
+ is to use \fI~\fP but this can conflict with ssh sessions.
+ .TP
++\fB\-K\fR
++Read Kg key from IPMI_KGKEY environment variable.
++.TP
+ \fB\-k\fR <\fIkey\fP>
+ Use supplied Kg key for IPMIv2 authentication.  The default is not to
+ use any Kg key.
+@@ -72,6 +75,9 @@ hexadecimal format and can be used to specify keys with non-printable
+ characters. E.g. '-k PASSWORD' and '-y 50415353574F5244' are
+ equivalent.
+ The default is not to use any Kg key.
++.TP
++\fB\-Y\fR
++Prompt for the Kg key for IPMIv2 authentication.
+ .TP 
+ \fB\-C\fR <\fIciphersuite\fP>
+ The remote server authentication, integrity, and encryption algorithms
+@@ -219,8 +225,13 @@ Commands:
+         shell        Launch interactive IPMI shell
+         exec         Run list of commands from file
+         set          Set runtime variable for shell and exec
++	delloem      Manage Dell OEM Extensions
+         echo         Used to echo lines to stdout in scripts
+         ekanalyzer   run FRU-Ekeying analyzer using FRU files
++        ime          Upgrade/Query Intel ME firmware
++        hpm          Update HPM components using PICMG HPM.1 file
++        fwum         Update IPMC using Kontron OEM Firmware Update Manager
++
+ 
+ ipmitool chassis help
+ .br 
+@@ -822,6 +833,241 @@ cards or two modules.
+ .RE
+ .RE
+ .TP 
++\fIime\fP
++.RS
++.TP 
++\fIhelp\fP
++.br 
++
++Print usage information
++.TP 
++\fIinfo\fP
++
++Displays information about the Manageability Engine (ME)
++.TP 
++\fIupdate\fP <\fBfile\fR>
++.br
++
++Upgrade the ME firmware with the specified image file
++.br
++\fBWARNING\fR You MUST use a supported image provided by your board vendor
++.br
++.TP
++\fIrollback\fP
++
++Perform manual rollback of the ME firmware
++
++.RE
++.RE
++
++.TP
++\fIdelloem\fP
++.RS
++.br
++
++The delloem commands provide information on Dell-specific features.
++.TP
++\fIlcd\fP 
++.RS
++.br
++\fBset {mode}\fR|
++.br
++\fB{lcdqualifier}\fR|\fB{errordisplay}\fR
++.RS
++.br
++
++Allows you to set the LCD mode and user-defined string.
++.RE
++.TP
++\fIlcd set mode\fP
++.RS
++.br
++\fB{none}\fR|\fB{modelname}\fR|
++.br
++\fB{ipv4address}\fR|\fB{macaddress}\fR|
++.br
++\fB{systemname}\fR|\fB{servicetag}\fR|
++.br
++\fB{ipv6address}\fR|\fB{ambienttemp}\fR|
++.br
++\fB{systemwatt}\fR|\fB{assettag}\fR|
++.br
++\fB{userdefined}<text>\fR
++.RS
++.br
++
++Allows you to set the LCD display mode to any of the preceding parameters.
++.RE
++.RE
++.TP
++\fIlcd set lcdqualifier\fP
++.RS
++.br
++\fB{watt}\fR|\fB{btuphr}\fR|
++.br
++\fB{celsius}\fR|\fB{fahrenheit}\fR
++.RS
++.br
++
++Allows you to set the unit for the system ambient temperature mode.
++.RE
++.RE
++.TP
++\fIlcd set errordisplay\fP
++.RS
++.br
++\fB{sel}\fR|\fB{simple}\fR
++.RS
++.br
++
++Allows you to set the error display.
++.RE
++.RE
++.RE
++.TP
++\fIlcd info\fP
++.RS
++.br
++
++Displays the LCD screen information.
++.RE
++.TP
++\fIlcd set vkvm\fP
++.RS
++\fB{active}\fR|\fB{inactive}\fR
++.RS
++.br
++
++Allows you to set the vKVM status to active or inactive. When it is active and session is in progress, a message appears on LCD.
++.RE
++.RE
++.TP
++\fIlcd status\fP
++.RS
++.br
++
++Displays the LCD status for vKVM display active or inactive and Front Panel access mode (viewandmodify, view-only or disabled).
++.RE
++.TP
++\fImac\fP
++.RS
++.br
++
++Displays the information about the system NICs.
++.TP
++\fImac list\fP
++.RS
++.br
++
++Displays the NIC MAC address and status of all NICs. It also displays the DRAC/iDRAC MAC address.
++.RE
++.TP
++\fImac get\fP
++.RS
++\fB<NIC number>\fR
++.RS
++.br
++
++Displays the selected NICs MAC address and status.
++.RE
++.RE
++.RE
++.TP
++\fIlan set\fP
++.RS
++\fB<Mode>\fR
++.br
++
++Sets the NIC selection mode (dedicated, shared, shared with failover LOM2, shared with failover all LOMs).
++.RE
++.TP
++\fIlan get\fP
++.br
++
++Returns the current NIC selection mode (dedicated, shared, shared with failover LOM2, shared with failover all LOMs).
++.TP
++\fIlan get active\fP
++.br
++
++Returns the current active NIC (dedicated, LOM1, LOM2, LOM3 or LOM4).
++.TP
++\fIpowermonitor\fP
++.RS
++.br
++
++Displays power tracking statistics.
++.RE
++.TP
++\fIpowermonitor clear cumulativepower\fP
++.RS
++.br
++
++Reset cumulative power reading.
++.RE
++.TP
++\fIpowermonitor clear peakpower\fP
++.RS
++.br
++
++Reset peak power reading.
++.RE
++.TP
++\fIpowermonitor powerconsumption\fP
++.RS
++\fB<watt>\fR|\fB<btuphr>\fR
++.RS
++.br
++
++Displays the power consumption in watt or btuphr.
++.RE
++.RE
++.TP
++\fIpowermonitor powerconsumptionhistory\fP
++.RS
++\fB<watt>\fR|\fB<btuphr>\fR
++.RS
++.br
++
++Displays the power consumption history in watt or btuphr.
++.RE
++.RE
++.TP
++\fIpowermonitor getpowerbudget\fP
++.RS
++\fB<watt>\fR|\fB<btuphr>\fR
++.RS
++.br
++
++Displays the power cap in watt or btuphr.
++.RE
++.RE
++.TP
++\fIpowermonitor setpowerbudget\fP
++.RS
++\fB<val>\fR\fB<watt|btuphr|percent>\fR
++.RS
++.br
++
++Allows you to set the  power cap in watt, BTU/hr or percentage.
++.RE
++.RE
++.TP
++\fIpowermonitor enablepowercap\fP
++.RS
++.br
++
++Enables set power cap.
++.RE
++.TP
++\fIpowermonitor disablepowercap\fP
++.RS
++.br
++
++Disables set power cap.
++.RE
++.RE
++
++.TP 
+ \fIevent\fP
+ .RS
+ .TP 
+@@ -1133,7 +1379,156 @@ where all commands and command sub-functions are enabled.
+ 
+ .RE
+ 
+-.TP 
++.TP
++\fIfwum\fP
++.RS
++Update IPMC using Kontron OEM Firmware Update Manager.
++.TP
++\fIinfo\fR
++.br
++Show information about current firmware.
++
++.TP
++\fIstatus\fR
++.br
++Show status of each firmware bank present in the hardware.
++
++.TP
++\fIdownload\fP <\fBfilename\fR>
++.br
++
++Download specified firmware.
++
++.TP
++\fIupgrade\fP [\fBfilename\fR]
++.br
++
++Install firmware upgrade. If the filename is specified, the file is downloaded
++first, otherwise the last firmware downloaded is used.
++
++.TP
++\fIrollback\fP
++.br
++
++Ask IPMC to rollback to previous version.
++
++.TP
++\fItracelog\fP
++.br
++
++Show firmware upgrade log.
++
++.RE
++
++.TP
++\fIhpm\fP
++.RS
++PICMG HPM.1 Upgrade Agent
++.TP
++\fIcheck\fR
++.br
++Check the target information.
++
++.TP
++\fIcheck\fP <\fBfilename\fR>
++.br
++Display both the existing target version and image version on the screen.
++
++.TP
++\fIdownload\fP <\fBfilename\fR>
++.br
++
++Download specified firmware.
++
++.TP
++\fIupgrade\fP <\fBfilename\fR> [\fBall\fR] [\fBcomponent <x>\fR] [\fBactivate\fR]
++.br
++Upgrade the firmware using a valid HPM.1 image file. If no option is specified,
++the firmware versions are checked first and the firmware is upgraded only if they
++are different.
++
++.RS
++.TP
++\fIall\fR
++.br
++Upgrade all components even if the firmware versions are the same
++(use this only after using "check" command).
++
++.TP
++\fIcomponent\fP <\fBx\fR>
++.br
++Upgrade only given component from the given file.
++.br
++component 0 - BOOT
++.br
++component 1 - RTK
++
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ipmitool/ipmitool.spec?r1=1.31&r2=1.32&f=u



More information about the pld-cvs-commit mailing list