[Oracleasm-commits] jlbec commits r375 - in trunk: . vendor
vendor/rhel5
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Wed Apr 18 18:01:23 PDT 2007
Author: jlbec
Date: 2007-04-18 18:01:22 -0700 (Wed, 18 Apr 2007)
New Revision: 375
Added:
trunk/vendor/rhel5/
trunk/vendor/rhel5/Makefile
trunk/vendor/rhel5/Vendor.make
trunk/vendor/rhel5/kernel.guess
trunk/vendor/rhel5/oracleasm.spec-generic.in
trunk/vendor/rhel5/rpmarch.guess
trunk/vendor/rhel5/vendor.guess
Modified:
trunk/configure.in
trunk/vendor/Makefile
Log:
RHEL5 support
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/configure.in 2007-04-19 01:01:22 UTC (rev 375)
@@ -190,5 +190,6 @@
vendor/rhel4/oracleasm.spec-generic
vendor/fc6/oracleasm.spec-generic
vendor/sles10/oracleasm.spec-generic
+vendor/rhel5/oracleasm.spec-generic
vendor/common/oracleasm-headers.spec-generic
])
Modified: trunk/vendor/Makefile
===================================================================
--- trunk/vendor/Makefile 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/Makefile 2007-04-19 01:01:22 UTC (rev 375)
@@ -11,7 +11,7 @@
#
# Add any directories to recurse into via the SUBDIRS variable.
#
-SUBDIRS = common sles10 fc6 rhel4 sles9 rhel3 sles8 rhas21
+SUBDIRS = common rhel5 sles10 fc6 rhel4 sles9 rhel3 sles8 rhas21
#
# Include this at the very end of the Makefile
Added: trunk/vendor/rhel5/Makefile
===================================================================
--- trunk/vendor/rhel5/Makefile 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/Makefile 2007-04-19 01:01:22 UTC (rev 375)
@@ -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/rhel5/Vendor.make
===================================================================
--- trunk/vendor/rhel5/Vendor.make 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/Vendor.make 2007-04-19 01:01:22 UTC (rev 375)
@@ -0,0 +1,25 @@
+#
+# RHEL5
+#
+
+TOOLSARCH = $(shell $(TOPDIR)/vendor/rhel5/rpmarch.guess tools $(TOPDIR))
+MODULEARCH = $(shell $(TOPDIR)/vendor/rhel5/rpmarch.guess module $(TOPDIR))
+
+$(TOPDIR)/vendor/rhel5/oracleasm-%.spec: $(TOPDIR)/vendor/rhel5/oracleasm.spec-generic
+ SPECVER="$@"; \
+ SPECVER="$${SPECVER#*oracleasm-}"; \
+ SPECVER="$${SPECVER%.spec}"; \
+ sed -e 's/@@KVER@@/'$${SPECVER}'/' -e 's/@@PKG_VERSION@@/'$(PKG_VERSION)'/' < $< > $@
+
+rhel5_%_srpm: dist $(TOPDIR)/vendor/rhel5/oracleasm-%.spec
+ rpmbuild -bs --define "_sourcedir $(TOPDIR)" --define "_srcrpmdir $(TOPDIR)" $(TOPDIR)/vendor/rhel5/oracleasm-$(patsubst rhel5_%_srpm,%,$@).spec
+
+rhel5_%_rpm: rhel5_%_srpm
+ rpmbuild --rebuild $(MODULEARCH) "oracleasm-$(patsubst rhel5_%_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/rhel5/kernel.guess targets) headers_rpm
Added: trunk/vendor/rhel5/kernel.guess
===================================================================
--- trunk/vendor/rhel5/kernel.guess 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/kernel.guess 2007-04-19 01:01:22 UTC (rev 375)
@@ -0,0 +1,227 @@
+#!/bin/sh
+
+
+RHEL5_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 :-)
+#
+RHEL5_KERNEL_TYPES="
+ i686:,PAE,xen
+ x86_64:,xen
+ ia64:,xen
+ ppc64:
+ s390x:
+"
+
+
+
+guess_rhel5_arch()
+{
+ # This appears to DTRT (i686 on x86, ppc64 on pSeries).
+ uname -m
+}
+
+guess_rhel5_type()
+{
+ # Only one type for rhel5
+ case "$1" in
+ *PAE)
+ echo "PAE"
+ ;;
+ *xen)
+ echo "xen"
+ ;;
+ *)
+ echo ""
+ ;;
+ esac
+}
+
+guess_rhel5_dir()
+{
+ KVER="$1"
+
+ DIRTYPE=$(guess_rhel5_type "$KVER")
+ ARCH=$(guess_rhel5_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 "${RHEL5_KERNEL_BASE}/${DIR}" ]
+ then
+ return 1
+ elif [ ! -f "${RHEL5_KERNEL_BASE}/${DIR}/include/linux/autoconf.h" ]
+ then
+ return 1
+ elif [ ! -f "${RHEL5_KERNEL_BASE}/${DIR}/include/linux/version.h" ]
+ then
+ return 1
+ fi
+
+ if [ "$KVER" != "$(verfromdir "${RHEL5_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_rhel5_dir "$KVER")
+ if validate_dir "$KVER" "$dir"
+ then
+ echo "${RHEL5_KERNEL_BASE}/${dir}"
+ fi
+}
+
+find_version()
+{
+ # Find the most recent valid kernel
+ ls -1 -t "$RHEL5_KERNEL_BASE" | while read kdir
+ do
+ KVER="$(verfromdir "${RHEL5_KERNEL_BASE}/${kdir}")"
+ if validate_dir "$KVER" "$kdir"
+ then
+ echo "${RHEL5_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_rhel5_arch)"
+ if [ -z "$ARCH" ]
+ then
+ return
+ fi
+
+ TYPELIST=
+ for typelist in $RHEL5_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 "$RHEL5_KERNEL_BASE" | while read kdir
+ do
+ KVER="$(verfromdir "${RHEL5_KERNEL_BASE}/${kdir}")"
+ if ! validate_dir "$KVER" "$kdir"
+ then
+ continue
+ fi
+ if validate_target "$KVER" "$ARCH" "$TYPELIST"
+ then
+ echo "rhel5_${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/rhel5/kernel.guess
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/vendor/rhel5/oracleasm.spec-generic.in
===================================================================
--- trunk/vendor/rhel5/oracleasm.spec-generic.in 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/oracleasm.spec-generic.in 2007-04-19 01:01:22 UTC (rev 375)
@@ -0,0 +1,256 @@
+#
+# 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
+
+%define builddef 1
+%define buildpae 0
+%define buildxen 0
+
+%ifarch i686
+%define karch i686
+%define buildpae 1
+%define buildxen 1
+%endif
+
+%ifarch x86_64
+%define karch x86_64
+%define buildxen 1
+%endif
+
+%ifarch ia64
+%define karch ia64
+%define buildxen 1
+%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.
+
+
+%if %{buildpae}
+%package -n oracleasm-%{kver}PAE
+Summary: The Oracle Automatic Storage Management library driver for PAE systems.
+Group: System Environment/Kernel
+AutoReqProv: no
+Provides: oracleasm = %{version}
+Requires: kernel-PAE = %{kver}
+Requires: oracleasm-support >= %{support_ver}
+Conflicts: oracleasmlib < %{min_enodev}
+BuildRequires: kernel-PAE-devel = %{kver}
+
+%description -n oracleasm-%{kver}PAE
+Kernel driver for the Oracle Automatic Storage Management library.
+This package is compiled for the PAE kernel.
+%endif
+
+
+%if %{buildxen}
+%package -n oracleasm-%{kver}xen
+Summary: The Oracle Automatic Storage Management library driver for Xen systems.
+Group: System Environment/Kernel
+AutoReqProv: no
+Provides: oracleasm = %{version}
+Requires: kernel-xen = %{kver}
+Requires: oracleasm-support >= %{support_ver}
+Conflicts: oracleasmlib < %{min_enodev}
+BuildRequires: kernel-xen-devel = %{kver}
+
+%description -n oracleasm-%{kver}xen
+Kernel driver for the Oracle Automatic Storage Management library.
+This package is compiled for the Xen virtualized systems.
+%endif
+
+
+%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=rhel5 \
+ --with-vendorkernel="$1"
+}
+
+%if %{builddef}
+local_configure "%{kver}"
+
+make V=0
+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
+%endif
+
+%if %{buildpae}
+local_configure "%{kver}PAE"
+
+make V=0
+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}PAE/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}PAE/kernel/drivers/addon/oracleasm"
+mkdir -p "${INST_MODLIB}"
+mv "${EXTRA_MODLIB}"/oracleasm.ko "${INST_MODLIB}/"
+
+make clean
+%endif
+
+%if %{buildxen}
+local_configure "%{kver}xen"
+
+make V=0
+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}xen/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}xen/kernel/drivers/addon/oracleasm"
+mkdir -p "${INST_MODLIB}"
+mv "${EXTRA_MODLIB}"/oracleasm.ko "${INST_MODLIB}/"
+
+make clean
+%endif
+
+
+
+%install
+
+
+
+%clean
+rm -rf "$RPM_BUILD_ROOT"
+
+
+
+%if %{builddef}
+%post -n oracleasm-%{kver}
+depmod -ae %{kver}
+
+%files -n oracleasm-%{kver}
+%defattr(-,root,root)
+/lib/modules/%{kver}/kernel/drivers/addon/oracleasm
+%endif
+
+%if %{buildpae}
+%post -n oracleasm-%{kver}PAE
+depmod -ae %{kver}PAE
+
+%files -n oracleasm-%{kver}PAE
+%defattr(-,root,root)
+/lib/modules/%{kver}PAE/kernel/drivers/addon/oracleasm
+%endif
+
+%if %{buildxen}
+%post -n oracleasm-%{kver}xen
+depmod -ae %{kver}xen
+
+%files -n oracleasm-%{kver}xen
+%defattr(-,root,root)
+/lib/modules/%{kver}xen/kernel/drivers/addon/oracleasm
+%endif
+
+
+
+%changelog
+* Wed Apr 18 2007 Joel Becker <joel.becker at oracle.com>
+- Add RHEL5
+
+* 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/rhel5/rpmarch.guess
===================================================================
--- trunk/vendor/rhel5/rpmarch.guess 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/rpmarch.guess 2007-04-19 01:01:22 UTC (rev 375)
@@ -0,0 +1,68 @@
+#! /bin/sh
+
+mode="$1"
+srcdir="$2"
+
+host_cpu=
+
+
+QUERYFILE=/etc/redhat-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/rhel5/rpmarch.guess
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/vendor/rhel5/vendor.guess
===================================================================
--- trunk/vendor/rhel5/vendor.guess 2007-04-11 18:43:49 UTC (rev 374)
+++ trunk/vendor/rhel5/vendor.guess 2007-04-19 01:01:22 UTC (rev 375)
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+if [ ! -f /etc/redhat-release ]
+then
+ exit 1
+fi
+
+case "`rpm -qf /etc/redhat-release --qf '%{VERSION}' 2>/dev/null`" in
+ 4.9*) ;;
+ 5*) ;;
+ *) exit 1;;
+esac
+
+exit 0
Property changes on: trunk/vendor/rhel5/vendor.guess
___________________________________________________________________
Name: svn:executable
+ *
More information about the Oracleasm-commits
mailing list