[Oracleasm-commits] jlbec commits r341 - in trunk: . vendor/rhel4

svn-commits@oss.oracle.com svn-commits at oss.oracle.com
Thu May 25 22:27:29 CDT 2006


Author: jlbec
Date: 2006-05-25 22:27:28 -0500 (Thu, 25 May 2006)
New Revision: 341

Modified:
   trunk/svnrev.guess
   trunk/vendor/rhel4/Vendor.make
   trunk/vendor/rhel4/kernel.guess
   trunk/vendor/rhel4/oracleasm.spec-generic.in
Log:

vendor/rhel4/kernel.guess: Support largesmp kernels.
vendor/rhel4/Vendor.make: Support largesmp kernels.
vendor/rhel4/oracleasm.spec-generic.in: Support largesmp kernels.
svnrev.guess: Support the latest svn log output.



Modified: trunk/svnrev.guess
===================================================================
--- trunk/svnrev.guess	2006-05-26 02:55:01 UTC (rev 340)
+++ trunk/svnrev.guess	2006-05-26 03:27:28 UTC (rev 341)
@@ -88,10 +88,12 @@
 {
     BRANCH="$1"
     BRANCH_SEARCH="`echo "$BRANCH" | sed -e 's/\//\\\\\//g'`"
-    svn log -v | awk 'BEGIN{rev=0}
-                      /^r[0-9]+ \|/{rev += 1}
-                      /^ +A \/'"$BRANCH_SEARCH"'$/{exit}
-                      END{print rev}'
+    svn log -v 2>&1 |
+        awk 'BEGIN{rev=0}
+             /^r[0-9]+ \|/{rev += 1}
+             /^ +A \/'"$BRANCH_SEARCH"'$/{exit}
+             /^ +A \/'"$BRANCH_SEARCH"' (.*)$/{exit}
+             END{print rev}'
 }
 
 

Modified: trunk/vendor/rhel4/Vendor.make
===================================================================
--- trunk/vendor/rhel4/Vendor.make	2006-05-26 02:55:01 UTC (rev 340)
+++ trunk/vendor/rhel4/Vendor.make	2006-05-26 03:27:28 UTC (rev 341)
@@ -9,7 +9,15 @@
 	SPECVER="$@"; \
 		SPECVER="$${SPECVER#*oracleasm-}"; \
 		SPECVER="$${SPECVER%.spec}"; \
-		sed -e 's/@@KVER@@/'$${SPECVER}'/' -e 's/@@PKG_VERSION@@/'$(PKG_VERSION)'/' < $< > $@
+		LARGEVER="$${SPECVER#2.6.9-}"; \
+		LARGEVER="$${LARGEVER%%.*}"; \
+		if [ "$${LARGEVER}" -lt 34 ]; \
+		then \
+			LARGESMP=0; \
+		else \
+			LARGESMP=1; \
+		fi; \
+		sed -e 's/@@KVER@@/'$${SPECVER}'/' -e 's/@@PKG_VERSION@@/'$(PKG_VERSION)'/' -e 's/@@LARGESMP@@/'$${LARGESMP}'/' < $< > $@
 
 rhel4_%_srpm: dist $(TOPDIR)/vendor/rhel4/oracleasm-%.spec
 	rpmbuild -bs --define "_sourcedir $(TOPDIR)" --define "_srcrpmdir $(TOPDIR)" $(TOPDIR)/vendor/rhel4/oracleasm-$(patsubst rhel4_%_srpm,%,$@).spec

Modified: trunk/vendor/rhel4/kernel.guess
===================================================================
--- trunk/vendor/rhel4/kernel.guess	2006-05-26 02:55:01 UTC (rev 340)
+++ trunk/vendor/rhel4/kernel.guess	2006-05-26 03:27:28 UTC (rev 341)
@@ -13,15 +13,19 @@
 # Unique to redhat, empty types (the 'default' kernel) are allowed.
 # Be careful parsing this!
 #
+# Red Hat throws us another loop.  2.6.9-34.EL+ have a new "largesmp"
+# type.  So, we have TYPES and OLD TYPES.
+#
 RHEL4_KERNEL_TYPES="
     i686:,smp,hugemem
-    x86_64:,smp
-    ia64:
-    ppc64:
+    x86_64:,smp,largesmp
+    ia64:,largesmp
+    ppc64:,largesmp
     s390x:
 "
 
 
+
 guess_rhel4_arch()
 {
     # This appears to DTRT (i686 on x86, ppc64 on pSeries).
@@ -31,14 +35,14 @@
 guess_rhel4_type()
 {
     case "$1" in
-    *smp)
-        echo "smp"
+    *largesmp)
+        echo "largesmp"
         ;;
     *hugemem)
         echo "hugemem"
         ;;
-    *hugeproc)
-        echo "hugeproc"
+    *smp)
+        echo "smp"
         ;;
     *)
         echo ""
@@ -128,6 +132,15 @@
     ARCH="$2"
     TYPELIST="$3"
 
+    # Red Hat introduced the "largesmp" type in 34.EL.  Anything older
+    # can ignore it.
+    LARGESMP="${KVER#2.6.9-}"
+    LARGESMP="${LARGESMP%%.*}"
+    if [ "$LARGESMP" -lt 34 ]
+    then
+        TYPELIST="${TYPELIST%,largesmp}"
+    fi
+
     typelist="${TYPELIST#$ARCH:}"
     while :
     do

Modified: trunk/vendor/rhel4/oracleasm.spec-generic.in
===================================================================
--- trunk/vendor/rhel4/oracleasm.spec-generic.in	2006-05-26 02:55:01 UTC (rev 340)
+++ trunk/vendor/rhel4/oracleasm.spec-generic.in	2006-05-26 03:27:28 UTC (rev 341)
@@ -22,6 +22,7 @@
 %ifarch x86_64
 %define karch		x86_64
 %define buildsmp	1
+%define buildlargesmp	@@LARGESMP@@
 %endif
 
 %ifarch ia32e
@@ -30,10 +31,12 @@
 
 %ifarch ia64
 %define karch		ia64
+%define buildlargesmp	@@LARGESMP@@
 %endif
 
 %ifarch ppc64
 %define karch		ppc64
+%define buildlargesmp	@@LARGESMP@@
 %endif
 
 %ifarch s390x
@@ -109,7 +112,24 @@
 %endif
 
 
+%if %{buildlargesmp}
+%package -n oracleasm-%{kver}largesmp
+Summary: The Oracle Automatic Storage Management library driver for NUMA systems.
+Group: System Environment/Kernel
+Provides: oracleasm = %{version}
+AutoReqProv: no
+Requires: kernel-largesmp = %{kver}
+Requires: oracleasm-support >= %{support_ver}
+Conflicts: oracleasmlib < %{min_enodev}
+BuildRequires: kernel-largesmp-devel = %{kver}
 
+%description -n oracleasm-%{kver}largesmp
+Kernel driver for the Oracle Automatic Storage Management library.
+This package is compiled for large SMP kernels.
+%endif
+
+
+
 %prep
 %setup -n oracleasm-%{version}
 
@@ -181,7 +201,22 @@
 make clean
 %endif
 
+%if %{buildlargesmp}
+local_configure "%{kver}largesmp"
 
+make QUIET=1
+make DESTDIR="$RPM_BUILD_ROOT" INSTALL_MOD_PATH='$(DESTDIR)' install 
+
+# 2.6 kbuild can't do this install nicely
+EXTRA_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}largesmp/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}largesmp/kernel/drivers/addon/oracleasm"
+mkdir -p "${INST_MODLIB}"
+mv "${EXTRA_MODLIB}"/oracleasm.ko "${INST_MODLIB}/"
+
+make clean
+%endif
+
+
 %install
 
 
@@ -220,8 +255,20 @@
 /lib/modules/%{kver}hugemem/kernel/drivers/addon/oracleasm
 %endif
 
+%if %{buildlargesmp}
+%post -n oracleasm-%{kver}largesmp
+depmod -ae %{kver}largesmp
 
+%files -n oracleasm-%{kver}largesmp
+%defattr(-,root,root)
+/lib/modules/%{kver}largesmp/kernel/drivers/addon/oracleasm
+%endif
+
+
 %changelog
+* Thu May 25 2006 Joel Becker <joel.becker at oracle.com>
+- Add largesmp
+
 * Fri Feb 04 2005 Joel Becker <joel.becker at oracle.com>
 - Make RHEL4 specfile.
 




More information about the Oracleasm-commits mailing list