[Oracleasm-commits] jlbec commits r372 - in trunk: . vendor vendor/fc6 vendor/rhel4 vendor/sles9

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Feb 9 11:19:22 PST 2007


Author: jlbec
Date: 2007-02-09 11:19:19 -0800 (Fri, 09 Feb 2007)
New Revision: 372

Added:
   trunk/vendor/fc6/
   trunk/vendor/fc6/Makefile
   trunk/vendor/fc6/Vendor.make
   trunk/vendor/fc6/kernel.guess
   trunk/vendor/fc6/oracleasm.spec-generic.in
   trunk/vendor/fc6/rpmarch.guess
   trunk/vendor/fc6/vendor.guess
Modified:
   trunk/configure.in
   trunk/svnrev.guess
   trunk/vendor/Makefile
   trunk/vendor/rhel4/oracleasm.spec-generic.in
   trunk/vendor/sles9/oracleasm.spec-generic.in
Log:

Add a vendor hierarchy for Fedora Core 6.  This is not an officially
supported release by Oracle, but it doesn't hurt to let FC6 users compile
drivers to play with.

Thank you to Arthur Rogers <Arthur.Rogers at cox.com> for the initial work
on this vendor.




Modified: trunk/configure.in
===================================================================
--- trunk/configure.in	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/configure.in	2007-02-09 19:19:19 UTC (rev 372)
@@ -188,6 +188,7 @@
 include/linux/oracleasm/module_version.h
 vendor/sles9/oracleasm.spec-generic
 vendor/rhel4/oracleasm.spec-generic
+vendor/fc6/oracleasm.spec-generic
 vendor/sles10/oracleasm.spec-generic
 vendor/common/oracleasm-headers.spec-generic
 ])

Modified: trunk/svnrev.guess
===================================================================
--- trunk/svnrev.guess	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/svnrev.guess	2007-02-09 19:19:19 UTC (rev 372)
@@ -33,7 +33,8 @@
     then
         return
     fi
-    svn stat -v | awk 'BEGIN{modified = "false";lastrev = 0}
+    svn stat -v | awk 'BEGIN{modified = "false";lastrev = ""}
+                       {if (lastrev == ""){lastrev = 0}}
                        /Status against/{next}
                        /^\?/{next} 
                        {

Modified: trunk/vendor/Makefile
===================================================================
--- trunk/vendor/Makefile	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/Makefile	2007-02-09 19:19:19 UTC (rev 372)
@@ -11,7 +11,7 @@
 #
 # Add any directories to recurse into via the SUBDIRS variable.
 # 
-SUBDIRS = common sles10 rhel4 sles9 rhel3 sles8 rhas21
+SUBDIRS = common sles10 fc6 rhel4 sles9 rhel3 sles8 rhas21
 
 #
 # Include this at the very end of the Makefile


Property changes on: trunk/vendor/fc6
___________________________________________________________________
Name: svn:ignore
   + .*.sw?
*.spec
*.spec-generic



Added: trunk/vendor/fc6/Makefile
===================================================================
--- trunk/vendor/fc6/Makefile	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/Makefile	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,12 @@
+TOPDIR = ../..
+
+include $(TOPDIR)/Preamble.make
+
+DIST_FILES = 				\
+	oracleasm.spec-generic.in	\
+	kernel.guess			\
+	rpmarch.guess			\
+	Vendor.make			\
+	vendor.guess
+
+include $(TOPDIR)/Postamble.make

Added: trunk/vendor/fc6/Vendor.make
===================================================================
--- trunk/vendor/fc6/Vendor.make	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/Vendor.make	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,33 @@
+#
+# FC6
+#
+
+TOOLSARCH = $(shell $(TOPDIR)/vendor/fc6/rpmarch.guess tools $(TOPDIR))
+MODULEARCH = $(shell $(TOPDIR)/vendor/fc6/rpmarch.guess module $(TOPDIR))
+
+$(TOPDIR)/vendor/fc6/oracleasm-%.spec: $(TOPDIR)/vendor/fc6/oracleasm.spec-generic
+	SPECVER="$@"; \
+		SPECVER="$${SPECVER#*oracleasm-}"; \
+		SPECVER="$${SPECVER%.spec}"; \
+		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}'/' < $< > $@
+
+fc6_%_srpm: dist $(TOPDIR)/vendor/fc6/oracleasm-%.spec
+	rpmbuild -bs --define "_sourcedir $(TOPDIR)" --define "_srcrpmdir $(TOPDIR)" $(TOPDIR)/vendor/fc6/oracleasm-$(patsubst fc6_%_srpm,%,$@).spec
+
+fc6_%_rpm: fc6_%_srpm
+	rpmbuild --rebuild $(MODULEARCH) "oracleasm-$(patsubst fc6_%_rpm,%,$@)-$(DIST_VERSION)-$(PKG_VERSION).src.rpm"
+
+
+# Package required for /usr/include/linux
+INCLUDE_REQUIRES = glibc-kernheaders
+include $(TOPDIR)/vendor/common/Vendor.make
+
+packages: $(shell $(TOPDIR)/vendor/fc6/kernel.guess targets) headers_rpm

Added: trunk/vendor/fc6/kernel.guess
===================================================================
--- trunk/vendor/fc6/kernel.guess	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/kernel.guess	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,221 @@
+#!/bin/sh
+
+
+FC6_KERNEL_BASE="/usr/src/kernels"
+
+#
+# This is a simple mapping of architectures to kernel flavors.  One
+# entry per architecture, <arch>:<flavor1>[,<flavor> ...]
+#
+# This is used when detecting kernels to build packages for.  A kernel
+# is only built if build trees for all flavors are installed.
+#
+# Unique to redhat, empty types (the 'default' kernel) are allowed.
+# Be careful parsing this!
+#
+# Fedora Core only has one type of kernel.  It's always SMP.  So we have
+# a very simple type list :-)
+#
+FC6_KERNEL_TYPES="
+    i686:
+    x86_64:
+    ia64:
+    ppc64:
+    s390x:
+"
+
+
+
+guess_fc6_arch()
+{
+    # This appears to DTRT (i686 on x86, ppc64 on pSeries).
+    uname -m
+}
+
+guess_fc6_type()
+{
+    # Only one type for fc6
+    case "$1" in
+    *)
+        echo ""
+        ;;
+    esac
+}
+
+guess_fc6_dir()
+{
+    KVER="$1"
+
+    DIRTYPE=$(guess_fc6_type "$KVER")
+    ARCH=$(guess_fc6_arch)
+
+    if [ -z "$DIRTYPE" ]
+    then
+        echo "${1%${DIRTYPE}}-${ARCH}"
+    else
+        echo "${1%${DIRTYPE}}-${DIRTYPE}-${ARCH}"
+    fi
+}
+
+verfromdir()
+{
+    TESTDIR="$1"
+    if [ -r "${TESTDIR}/include/linux/utsrelease.h" ]
+    then
+        awk '/UTS_RELEASE/{gsub(/"/,"",$3); print $3}' "${TESTDIR}/include/linux/utsrelease.h"
+    fi
+}
+
+validate_dir()
+{
+    KVER="$1"
+    DIR="$2"
+
+    if [ ! -d "${FC6_KERNEL_BASE}/${DIR}" ]
+    then
+        return 1
+    elif [ ! -f "${FC6_KERNEL_BASE}/${DIR}/include/linux/autoconf.h" ]
+    then
+        return 1
+    elif [ ! -f "${FC6_KERNEL_BASE}/${DIR}/include/linux/version.h" ]
+    then
+        return 1
+    fi
+
+    if [ "$KVER" != "$(verfromdir "${FC6_KERNEL_BASE}/${DIR}")" ]
+    then
+        return 1
+    fi
+
+    return 0
+}
+
+# Takes a `uname -r` and returns "ver type", where ver
+# is 2.6.9-NN.EL and type is "smp" or the like.
+validate_version()
+{
+    KVER="$1"
+
+    dir=$(guess_fc6_dir "$KVER")
+    if validate_dir "$KVER" "$dir"
+    then
+        echo "${FC6_KERNEL_BASE}/${dir}"
+    fi
+}
+
+find_version()
+{
+    # Find the most recent valid kernel
+    ls -1 -t "$FC6_KERNEL_BASE" | while read kdir
+    do
+        KVER="$(verfromdir "${FC6_KERNEL_BASE}/${kdir}")"
+        if validate_dir "$KVER" "$kdir"
+        then
+            echo "${FC6_KERNEL_BASE}/${kdir}"
+            break
+        fi
+    done
+}
+
+# For a given KVER, see if all the -devel packages exist
+validate_target()
+{
+    KVER="$1"
+    ARCH="$2"
+    TYPELIST="$3"
+
+    typelist="${TYPELIST#$ARCH:}"
+    while :
+    do
+        type="${typelist%%,*}"
+        VERDIR="$(validate_version ${KVER}${type})"
+        if [ -z "$VERDIR" ]
+        then
+            return 1
+        fi
+    
+        # This loop walks the list of types being careful of the empty
+        # typename
+        tmp="${typelist#*,}"
+        if [ -z "$tmp" -o "$tmp" = "$typelist" ]
+        then
+            break
+        fi
+        typelist="$tmp"
+    done
+
+    return 0
+}
+
+find_targets()
+{
+    # Pre-calculate ARCH and TYPELIST, at least
+    ARCH="$(guess_fc6_arch)"
+    if [ -z "$ARCH" ]
+    then
+        return
+    fi
+
+    TYPELIST=
+    for typelist in $FC6_KERNEL_TYPES
+    do
+        TARCH=$(echo "$typelist" | cut -f1 -d:)
+        if [ "$TARCH" = "$ARCH" ]
+        then
+            TYPELIST="$typelist"
+            break
+        fi
+    done
+
+    if [ -z "$TYPELIST" ]
+    then
+        return
+    fi
+    
+    ls -1 -t "$FC6_KERNEL_BASE" | while read kdir
+    do
+        KVER="$(verfromdir "${FC6_KERNEL_BASE}/${kdir}")"
+        if ! validate_dir "$KVER" "$kdir"
+        then
+            continue
+        fi
+        if validate_target "$KVER" "$ARCH" "$TYPELIST"
+        then
+            echo "fc6_${KVER}_rpm"
+        fi
+    done
+}
+
+case "$1" in
+include|build)
+    if [ -n "$2" ]
+    then
+        KPATH="$(validate_version "$2")"
+    else
+        KVER="$(uname -r)"
+        KPATH="$(validate_version "$KVER")"
+        if [ -z "$KPATH" ]
+        then
+            KPATH="$(find_version)"
+        fi
+    fi
+    if [ -n "$KPATH" ]
+    then
+        if [ "$1" = "include" ]
+        then
+            KPATH="${KPATH}/include"
+        fi
+        echo "${KPATH}"
+    fi
+    ;;
+targets)
+    find_targets
+    ;;
+"")
+    echo "Missing operation" >&2
+    ;;
+*)
+    echo "Invalid operation: $1" >&2
+    exit 1
+    ;;
+esac


Property changes on: trunk/vendor/fc6/kernel.guess
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/vendor/fc6/oracleasm.spec-generic.in
===================================================================
--- trunk/vendor/fc6/oracleasm.spec-generic.in	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/oracleasm.spec-generic.in	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,160 @@
+#
+# Spec file for oracleasm
+#
+
+# Macros
+# This one is hardcoded because, well, it belongs there
+%define _prefix /usr
+# Because RPM is dumb
+%define _unpackaged_files_terminate_build 0
+
+%ifarch i686
+%define karch		i686
+%endif
+
+%ifarch x86_64
+%define karch		x86_64
+%endif
+
+%ifarch ia64
+%define karch		ia64
+%endif
+
+%ifarch ppc64
+%define karch		ppc64
+%endif
+
+%ifarch s390x
+%define karch		s390x
+%endif
+
+
+# This must be changed to the minimum ABI compat kernel version expected
+%define kver		@@KVER@@
+
+# The minimum -support package required for the kernel bits.
+%define support_ver     2.0.0
+# Minimum oracleasmlib version that supports positive ASM_ERR_NODEV.
+%define min_enodev	2.0.1
+
+Summary: The Oracle Automatic Storage Management library driver.
+Name: oracleasm-%{kver}
+Version: @DIST_VERSION@
+Release: @@PKG_VERSION@@
+License: GPL
+Group: System Environment/Kernel
+Source: oracleasm- at DIST_VERSION@.tar.gz
+URL: http://oss.oracle.com/projects/oracleasm/
+Distribution: Oracle
+Vendor: Oracle Corporation
+Packager: Joel Becker <joel.becker at oracle.com>
+Provides: oracleasm = %{version}
+AutoReqProv: no
+Requires: kernel = %{kver}
+Requires: oracleasm-support >= %{support_ver}
+Conflicts: oracleasmlib < %{min_enodev}
+BuildRequires: kernel-devel = %{kver}
+
+
+BuildRoot: %{_tmppath}/oracleasm-%{PACKAGE_VERSION}-%{PACKAGE_RELEASE}-root
+
+
+%description
+Kernel driver for the Oracle Automatic Storage Management library.
+This package is compiled for the default kernel.
+
+
+
+%prep
+%setup -n oracleasm-%{version}
+
+
+%build
+
+local_configure()
+{
+	./configure					\
+		--prefix=%{_prefix}			\
+		--exec-prefix=%{_exec_prefix}		\
+		--bindir=%{_bindir}			\
+		--sbindir=%{_sbindir}			\
+		--sysconfdir=%{_sysconfdir}		\
+		--datadir=%{_datadir}			\
+		--includedir=%{_includedir}		\
+		--libdir=%{_libdir}			\
+		--libexecdir=%{_libexecdir}		\
+		--localstatedir=%{_localstatedir}	\
+		--sharedstatedir=%{_sharedstatedir}	\
+		--mandir=%{_mandir}			\
+		--infodir=%{_infodir}			\
+		--with-vendor=fc6			\
+		--with-vendorkernel="$1"
+}
+
+local_configure "%{kver}"
+
+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}/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}/kernel/drivers/addon/oracleasm"
+mkdir -p "${INST_MODLIB}"
+mv "${EXTRA_MODLIB}"/oracleasm.ko "${INST_MODLIB}/"
+
+make clean
+
+
+
+%install
+
+
+
+%clean
+rm -rf "$RPM_BUILD_ROOT"
+
+
+
+%post -n oracleasm-%{kver}
+depmod -ae %{kver}
+
+%files -n oracleasm-%{kver}
+%defattr(-,root,root)
+/lib/modules/%{kver}/kernel/drivers/addon/oracleasm
+
+
+
+%changelog
+* Fri Feb 09 2007 Joel Becker <joel.becker at oracle.com>
+- Strip down for Fedora Core 6
+
+* 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.
+
+* Tue Sep 21 2004 Joel Becker <joel.becker at oracle.com>
+- Make SLES9 specfile.
+
+* Tue Jan 13 2004 Joel Becker <joel.becker at oracle.com>
+- Make kernel-only.
+
+* Thu Nov 20 2003 Joel Becker <joel.becker at oracle.com>
+- Add x86 and ia64 targets.
+
+* Wed Nov 19 2003 Joel Becker <joel.becker at oracle.com>
+- Make the UL SP3 changes.
+
+* Wed Nov 12 2003 Joel Becker <joel.becker at oracle.com>
+- Start the ASM rename.
+
+* Thu Oct 30 2003 Joel Becker <joel.becker at oracle.com>
+- Created EL3 version
+
+* Mon Jun 23 2003 Joel Becker <joel.becker at oracle.com>
+- Added osm-lib bits
+
+* Fri Jun 20 2003 Joel Becker <joel.becker at oracle.com>
+- Initial RPM
+

Added: trunk/vendor/fc6/rpmarch.guess
===================================================================
--- trunk/vendor/fc6/rpmarch.guess	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/rpmarch.guess	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,68 @@
+#! /bin/sh
+
+mode="$1"
+srcdir="$2"
+
+host_cpu=
+
+
+QUERYFILE=/etc/fedora-release
+
+if test -n "$QUERYFILE"; then
+  host_cpu="`rpm -qf $QUERYFILE --queryformat \"%{ARCH}\"`"
+fi
+
+if test -z "$host_cpu" -o "$host_cpu" = "noarch" ; then
+  host_alias=`$srcdir/config.guess`
+  host=`$srcdir/config.sub $host_alias`
+  host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+fi
+
+case "$host_cpu" in
+  x86_64|ia64|s390x)
+    TOOLSARCH="$host_cpu"
+    ;;
+  i386|i486|i586|i686|i786|k6|k7)
+    TOOLSARCH="i386"
+    ;;
+  ppc|ppc64|ppciseries|ppcpseries|ppc64iseries|ppc64pseries|powerpc|powerpc64)
+    TOOLSARCH="ppc64"
+    ;;
+  *)
+    echo "rpmarch.guess: Warning: unknown RPM CPU architecture: $host_cpu" >&2
+    TOOLSARCH=""
+    ;;
+esac
+
+# Only a few of these need to be overwritten from RPM's default
+case "$host_cpu" in
+  i386|i586)
+    MODULEARCH="i686"
+    ;;
+  ppc|ppc64|ppciseries|ppcpseries|ppc64iseries|ppc64pseries|powerpc|powerpc64)
+    MODULEARCH="ppc64"
+    ;;
+  *)
+    MODULEARCH=""
+    ;;
+esac
+
+case "$mode" in
+  module)
+    if [ -n "$MODULEARCH" ] ; then
+      echo "--target $MODULEARCH"
+    fi
+    ;;
+  tools)
+    if [ -n "$TOOLSARCH" ] ; then
+      echo "--target $TOOLSARCH"
+    fi
+    ;;
+  *)
+    echo "rpmarch.guess: Invalid mode: $mode" >&2
+    echo "error"
+    exit 1
+    ;;
+esac
+
+exit 0


Property changes on: trunk/vendor/fc6/rpmarch.guess
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/vendor/fc6/vendor.guess
===================================================================
--- trunk/vendor/fc6/vendor.guess	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/fc6/vendor.guess	2007-02-09 19:19:19 UTC (rev 372)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+if [ ! -f /etc/fedora-release ]
+then
+    exit 1
+fi
+
+if [ "`rpm -qf /etc/fedora-release --qf '%{VERSION}' 2>/dev/null`" != "6" ]
+then
+    exit 1
+fi
+
+exit 0


Property changes on: trunk/vendor/fc6/vendor.guess
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/vendor/rhel4/oracleasm.spec-generic.in
===================================================================
--- trunk/vendor/rhel4/oracleasm.spec-generic.in	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/rhel4/oracleasm.spec-generic.in	2007-02-09 19:19:19 UTC (rev 372)
@@ -57,7 +57,7 @@
 Name: oracleasm-%{kver}
 Version: @DIST_VERSION@
 Release: @@PKG_VERSION@@
-Copyright: GPL
+License: GPL
 Group: System Environment/Kernel
 Source: oracleasm- at DIST_VERSION@.tar.gz
 URL: http://oss.oracle.com/projects/oracleasm/

Modified: trunk/vendor/sles9/oracleasm.spec-generic.in
===================================================================
--- trunk/vendor/sles9/oracleasm.spec-generic.in	2007-02-08 20:08:36 UTC (rev 371)
+++ trunk/vendor/sles9/oracleasm.spec-generic.in	2007-02-09 19:19:19 UTC (rev 372)
@@ -81,7 +81,7 @@
 Name: oracleasm-%{kver}
 Version: @DIST_VERSION@
 Release: @@PKG_VERSION@@
-Copyright: GPL
+License: GPL
 Group: System Environment/Kernel
 Source: oracleasm- at DIST_VERSION@.tar.gz
 URL: http://oss.oracle.com/projects/oracleasm/




More information about the Oracleasm-commits mailing list