<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
<FONT COLOR="#000000">Hi, folks.</FONT><BR>
<BR>
<FONT COLOR="#000000">I've found the solution at OTN's Linux Discussion Forum, under this thread:</FONT><BR>
<BR>
<FONT COLOR="#000000"><A HREF="http://forums.oracle.com/forums/thread.jspa?messageID=1267104#1267104">http://forums.oracle.com/forums/thread.jspa?messageID=1267104#1267104</A></FONT><BR>
<BR>
<FONT COLOR="#000000">I've tryed to use wolfpeter's instructions, but I got an error, regarding to my kernel version. So, I decided to make some adjustments, in order to get an &quot;adaptative&quot; environment.</FONT><BR>
<BR>
<FONT COLOR="#000000">I kept 'oracle-firewire-modules-2.6.9-EL.spec-generic', and instead of renameing it, I replaced its first 11 lines for the code below. Notice that I've changed version to 1287.</FONT><BR>
<BR>
<FONT COLOR="#000000">******************** START HERE ********************</FONT><BR>
<FONT COLOR="#000000">#</FONT><BR>
<FONT COLOR="#000000"># Spec file for RHEL4 firewire modules</FONT><BR>
<FONT COLOR="#000000">#</FONT><BR>
<BR>
<FONT COLOR="#000000">%define karch&nbsp;&nbsp;&nbsp; #kernelArch#</FONT><BR>
<FONT COLOR="#000000">%define base&nbsp;&nbsp;&nbsp; #kernelVersion#</FONT><BR>
<FONT COLOR="#000000">%define sver&nbsp;&nbsp;&nbsp; #kernelRelease#</FONT><BR>
<FONT COLOR="#000000">%define kver&nbsp;&nbsp;&nbsp; %{base}-%{sver}</FONT><BR>
<BR>
<FONT COLOR="#000000">Summary: Oracle Firewire Clustering Modules.</FONT><BR>
<FONT COLOR="#000000">Name: oracle-firewire-modules-%{kver}</FONT><BR>
<FONT COLOR="#000000">Version: 1287</FONT><BR>
<FONT COLOR="#000000">******************** END HERE ********************</FONT><BR>
<BR>
<FONT COLOR="#000000">Then, instead of adding comments to file ./ieee1394/highlevel.c, I've just replaced the text from line 33 - &quot;/* XXX: compat hack */&quot; - up to line 53 - &quot;static DEFINE_RWLOCK(addr_space_lock);&quot; - for the code below:</FONT><BR>
<BR>
<FONT COLOR="#000000">******************** BEGIN REPLACEMENT CODE FOR LINES 33-53 ********************</FONT><BR>
<FONT COLOR="#000000">struct hl_host_info {</FONT><BR>
<FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct list_head list;</FONT><BR>
<FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct hpsb_host *host;</FONT><BR>
<FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size_t size;</FONT><BR>
<FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned long key;</FONT><BR>
<FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void *data;</FONT><BR>
<FONT COLOR="#000000">};</FONT><BR>
<BR>
<BR>
<FONT COLOR="#000000">static LIST_HEAD(hl_drivers);</FONT><BR>
<FONT COLOR="#000000">static DECLARE_RWSEM(hl_drivers_sem);</FONT><BR>
<BR>
<FONT COLOR="#000000">static LIST_HEAD(hl_irqs);</FONT><BR>
<FONT COLOR="#000000">static rwlock_t hl_irqs_lock = RW_LOCK_UNLOCKED;</FONT><BR>
<BR>
<FONT COLOR="#000000">static rwlock_t addr_space_lock = RW_LOCK_UNLOCKED;</FONT><BR>
<FONT COLOR="#000000">******************** END REPLACEMENT CODE FOR LINES 33-53 ********************</FONT><BR>
<BR>
<FONT COLOR="#000000">Finally, I've created a simple shell script called genrpm-1287.sh:</FONT><BR>
<BR>
<FONT COLOR="#000000">******************** BEGIN genrpm-1287.sh SHELL SCRIPT ********************</FONT><BR>
<BR>
<FONT COLOR="#000000"># Try to discover if it is an 'smp' kernel</FONT><BR>
<FONT COLOR="#000000">unameRelease=`uname -r`</FONT><BR>
<FONT COLOR="#000000">echo $unameRelease | grep smp 1&gt;/dev/null</FONT><BR>
<FONT COLOR="#000000">[ $? -eq 0 ] &amp;&amp; kernelPackage=kernel-smp || kernelPackage=kernel</FONT><BR>
<BR>
<FONT COLOR="#000000"># Some variables to define kernel version</FONT><BR>
<FONT COLOR="#000000">kernelArch=`rpm -q $kernelPackage --qf %{ARCH}`</FONT><BR>
<FONT COLOR="#000000">kernelVersion=`rpm -q $kernelPackage --qf %{VERSION}`</FONT><BR>
<FONT COLOR="#000000">kernelRelease=`rpm -q $kernelPackage --qf %{RELEASE}`</FONT><BR>
<FONT COLOR="#000000">kernelType=${unameRelease/$kernelVersion-$kernelRelease}</FONT><BR>
<BR>
<FONT COLOR="#000000"># Generate a spec file with the correct kernel version</FONT><BR>
<FONT COLOR="#000000">sed -e &quot;s,#kernelArch#,$kernelArch,g&quot; \</FONT><BR>
<FONT COLOR="#000000">-e &quot;s,#kernelVersion#,$kernelVersion,g&quot; \</FONT><BR>
<FONT COLOR="#000000">-e &quot;s,#kernelRelease#,$kernelRelease,g&quot; \</FONT><BR>
<FONT COLOR="#000000">oracle-firewire-modules-2.6.9-EL.spec-generic &gt; \</FONT><BR>
<FONT COLOR="#000000">oracle-firewire-modules-2.6.9-${kernelRelease}${kernelType}.spec</FONT><BR>
<BR>
<FONT COLOR="#000000"># create new .tar.gz file</FONT><BR>
<FONT COLOR="#000000">cd ..</FONT><BR>
<FONT COLOR="#000000">tar czf oracle-firewire-modules-1287.tar.gz ./oracle-firewire-modules</FONT><BR>
<BR>
<FONT COLOR="#000000"># create the rpm</FONT><BR>
<FONT COLOR="#000000">rpmbuild -ta oracle-firewire-modules-1287.tar.gz</FONT><BR>
<BR>
<FONT COLOR="#000000">******************** END genrpm-1287.sh SHELL SCRIPT ********************</FONT><BR>
<BR>
<FONT COLOR="#000000">To install this brand new RPM file, you must have both kernel-devel and kernel-smp-devel packages installed on your system. Just do the following:</FONT><BR>
<BR>
<FONT COLOR="#000000">cd /usr/src/redhat/RPMS/i386</FONT><BR>
<FONT COLOR="#000000">rpm -ivh oracle-firewire-modules-`uname -r`-1287*.rpm</FONT><BR>
<BR>
<FONT COLOR="#000000">Hope this helps!</FONT><BR>
<FONT COLOR="#000000">Danilo Gimenez </FONT>
</BODY>
</HTML>