[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