[Ocfs2-commits] manish commits r1847 - in trunk: . vendor/redhat

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Jan 24 19:04:05 CST 2005


Author: manish
Date: 2005-01-24 19:04:04 -0600 (Mon, 24 Jan 2005)
New Revision: 1847

Added:
   trunk/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in
Modified:
   trunk/Config.make.in
   trunk/Makefile
   trunk/configure.in
   trunk/vendor/redhat/Makefile
Log:
RHEL4 spec file, autoguess rpm arch from configure


Modified: trunk/Config.make.in
===================================================================
--- trunk/Config.make.in	2005-01-25 01:03:42 UTC (rev 1846)
+++ trunk/Config.make.in	2005-01-25 01:04:04 UTC (rev 1847)
@@ -52,6 +52,8 @@
 
 GCCINC = @GCCINC@
 
+MODULEARCH = @MODULEARCH@
+
 KVER =
 endif
 

Modified: trunk/Makefile
===================================================================
--- trunk/Makefile	2005-01-25 01:03:42 UTC (rev 1846)
+++ trunk/Makefile	2005-01-25 01:04:04 UTC (rev 1847)
@@ -31,10 +31,28 @@
 	rpmbuild -bs --define "_sourcedir $(TOPDIR)" --define "_srcrpmdir $(TOPDIR)" $(TOPDIR)/vendor/redhat/ocfs2-2.4.21-$(patsubst rhel3_%_srpm,%,$@).EL.spec
 
 rhel3_%_rpm: rhel3_%_srpm
-	rpmbuild --rebuild --target i686 "ocfs2-2.4.21-$(patsubst rhel3_%_rpm,%,$@).EL-$(DIST_VERSION)-$(RPM_VERSION).src.rpm"
+	rpmbuild --rebuild --target $(MODULEARCH) "ocfs2-2.4.21-$(patsubst rhel3_%_rpm,%,$@).EL-$(DIST_VERSION)-$(RPM_VERSION).src.rpm"
+	if test "$(MODULEARCH)" = "x86_64"; then \
+	  rpmbuild --rebuild --target ia32e "ocfs2-2.4.21-$(patsubst rhel3_%_rpm,%,$@).EL-$(DIST_VERSION)-$(RPM_VERSION).src.rpm" \
+	fi
 
 
+#
+# RHEL4
+#
+$(TOPDIR)/vendor/redhat/ocfs2-2.6.9-%.EL.spec: $(TOPDIR)/vendor/redhat/ocfs2-2.6.9-EL.spec-generic
+	SPECVER="$@"; \
+		SPECVER="$${SPECVER#*ocfs2-2.6.9-}"; \
+		SPECVER="$${SPECVER%.EL.spec}"; \
+		sed -e 's/^%define sver.*%{generic}$$/%define sver		'$${SPECVER}'/' < $< > $@
 
+rhel4_%_srpm: dist $(TOPDIR)/vendor/redhat/ocfs2-2.6.9-%.EL.spec
+	rpmbuild -bs --define "_sourcedir $(TOPDIR)" --define "_srcrpmdir $(TOPDIR)" $(TOPDIR)/vendor/redhat/ocfs2-2.6.9-$(patsubst rhel4_%_srpm,%,$@).EL.spec
+
+rhel4_%_rpm: rhel4_%_srpm
+	rpmbuild --rebuild --target $(MODULEARCH) --define "karch $(MODULEARCH)" ocfs2-2.6.9-$(patsubst rhel4_%_rpm,%,$@).EL-$(DIST_VERSION)-$(RPM_VERSION).src.rpm
+
+
 #
 # SLES9
 #
@@ -48,7 +66,7 @@
 	rpmbuild -bs --define "_sourcedir `pwd`" --define "_srcrpmdir `pwd`" $(TOPDIR)/vendor/suse/ocfs2-2.6.5-$(patsubst sles9_%_srpm,%,$@).spec
 
 sles9_%_rpm: sles9_%_srpm
-	rpmbuild --rebuild --target x86_64 "ocfs2-2.6.5-$(patsubst sles9_%_rpm,%,$@)-$(DIST_VERSION)-$(RPM_VERSION).src.rpm"
+	rpmbuild --rebuild --target $(MODULEARCH) "ocfs2-2.6.5-$(patsubst sles9_%_rpm,%,$@)-$(DIST_VERSION)-$(RPM_VERSION).src.rpm"
 
 
 include $(TOPDIR)/Postamble.make

Modified: trunk/configure.in
===================================================================
--- trunk/configure.in	2005-01-25 01:03:42 UTC (rev 1846)
+++ trunk/configure.in	2005-01-25 01:04:04 UTC (rev 1847)
@@ -32,8 +32,6 @@
 
 AC_CANONICAL_HOST
 
-OCFS_PROCESSOR=
-
 case "$host" in
   *-*-linux*)
     ;;
@@ -42,29 +40,63 @@
     ;;
 esac
 
+AC_MSG_CHECKING(build architectures)
+
+USERARCH=
+MODULEARCH=
+OCFS_PROCESSOR=
 KERNEL_CFLAGS=
 
-case "$host_cpu" in
-  powerpc64)
+if test -f /etc/redhat-release; then
+  RPMARCH="`rpm -qf /etc/redhat-release --queryformat \"%{ARCH}\"`"
+  if test -n "$RPMARCH" -a "$RPMARCH" != "noarch"; then
+    USERARCH="$RPMARCH"
+  fi
+fi
+
+if test -z "$USERARCH"; then
+  case "$host_cpu" in
+  x86_64|ppc|ia64|s390x)
+    USERARCH="$host_cpu"
+    ;;
+  i386|i486|i586|i686|i786|k6|k7)
+    USERARCH="i386"
+    ;;
+  ppc64|ppciseries|ppcpseries|ppc64iseries|ppc64pseries|powerpc|powerpc64)
+    USERARCH="ppc"
+    ;;
+  *)
+    AC_MSG_RESULT([not found])
+    AC_MSG_ERROR([invalid or unsupported CPU type])
+    ;;
+  esac
+fi
+
+OCFS_PROCESSOR="$USERARCH"
+MODULEARCH="$USERARCH"
+
+case "$USERARCH" in
+  ppc)
     OCFS_PROCESSOR="ppc64"
+    MODULEARCH="$host_cpu"
     KERNEL_CFLAGS="-m64"
     ;;
-  ia64)
-    OCFS_PROCESSOR="ia64"
-    ;;
   x86_64)
-    OCFS_PROCESSOR="x86_64"
     KERNEL_CFLAGS="-m64"
     ;;
-  i386|i486|i586|i686|i786|k6|k7)
+  i386)
     OCFS_PROCESSOR="i686"
+    if test -r /etc/SuSE-release; then
+      MODULEARCH="i586"
+    else
+      MODULEARCH="i686"
+    fi
     ;;
-  s390x)
-    OCFS_PROCESSOR="s390x"
-    ;;
 esac
 
+AC_MSG_RESULT($MODULEARCH)
 AC_SUBST(OCFS_PROCESSOR)
+AC_SUBST(MODULEARCH)
 
 AC_PROG_CC
 AC_PROG_CPP
@@ -286,5 +318,6 @@
 
 AC_OUTPUT([Config.make
 vendor/redhat/ocfs2-2.4.21-EL.spec-generic
+vendor/redhat/ocfs2-2.6.9-EL.spec-generic
 vendor/suse/ocfs2-2.6.5.spec-generic
 ])

Modified: trunk/vendor/redhat/Makefile
===================================================================
--- trunk/vendor/redhat/Makefile	2005-01-25 01:03:42 UTC (rev 1846)
+++ trunk/vendor/redhat/Makefile	2005-01-25 01:04:04 UTC (rev 1847)
@@ -3,6 +3,7 @@
 include $(TOPDIR)/Preamble.make
 
 DIST_FILES = \
-	ocfs2-2.4.21-EL.spec-generic.in
+	ocfs2-2.4.21-EL.spec-generic.in \
+	ocfs2-2.6.9-EL.spec-generic.in
 
 include $(TOPDIR)/Postamble.make

Added: trunk/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in
===================================================================
--- trunk/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in	2005-01-25 01:03:42 UTC (rev 1846)
+++ trunk/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in	2005-01-25 01:04:04 UTC (rev 1847)
@@ -0,0 +1,180 @@
+#
+# Spec file for OCFS2 on RHEL4
+#
+
+# Macros
+# This one is hardcoded because, well, it belongs there
+%define _prefix /usr
+# Because RPM is dumb
+%define _unpackaged_files_terminate_build 0
+
+# Turn on's and off's (summit and debug not used but added
+# for future proofing)
+%define buildup		1
+%define buildsmp	1
+%define buildhugemem	1
+
+%ifnarch i686
+%define buildhugemem	0
+%endif
+
+%define base		2.6.9
+%define sver		%{generic}
+%define kver		%{base}-%{sver}.EL
+
+# The minimum tools package required for the kernel bits.
+%define tools_ver     @TOOLS_REQUIRED_VERSION@
+
+Summary: The Oracle Cluster Filesystem 2.
+Name: ocfs2-%{kver}
+Version: @DIST_VERSION@
+Release: @RPM_VERSION@
+Copyright: GPL
+Group: System Environment/Kernel
+Source: ocfs2- at DIST_VERSION@.tar.gz
+URL: http://oss.oracle.com/projects/ocfs2/
+Distribution: Oracle
+Vendor: Oracle Corporation
+Packager: Joel Becker <joel.becker at oracle.com>
+Provides: ocfs2 = %{version}
+AutoReqProv: no
+Requires: kernel = %{kver}
+Requires: ocfs2-tools >= %{tools_ver}
+BuildRequires: kernel-devel = %{kver}
+
+
+BuildRoot: %{_tmppath}/ocfs2-%{PACKAGE_VERSION}-%{PACKAGE_RELEASE}-root
+
+
+%description
+OCFS2 is the Oracle Cluster Filesystem 2.  This package is compiled for
+uniprocessor kernels.
+
+%if %{buildsmp}
+%package -n ocfs2-%{kver}smp
+Summary: The Oracle Cluster File System 2 for SMP systems.
+Group: System Environment/Kernel
+Provides: ocfs2 = %{version}
+Requires: kernel-smp = %{kver}
+Requires: ocfs2-tools >= %{tools_ver}
+BuildRequires: kernel-smp-devel = %{kver}
+AutoReqProv: no
+
+%description -n ocfs2-%{kver}smp
+OCFS2 is the Oracle Cluster Filesystem 2.  This package is compiled for
+symmetric multiprocessor kernels.
+%endif
+
+
+%if %{buildhugemem}
+%package -n ocfs2-%{kver}hugemem
+Summary: The Oracle Cluster File System 2 for huge memory systems.
+Group: System Environment/Kernel
+Provides: ocfs2 = %{version}
+Requires: kernel-hugemem = %{kver}
+Requires: ocfs2-tools >= %{tools_ver}
+BuildRequires: kernel-hugemem-devel = %{kver}
+AutoReqProv: no
+
+%description -n ocfs2-%{kver}hugemem
+OCFS2 is the Oracle Cluster Filesystem 2.  This package is compiled for
+symmetric multiprocessor kernels.
+%endif
+
+
+%prep
+%setup -n ocfs2-%{version}
+
+
+%build
+%if %{buildup}
+KPATH="/usr/src/kernels/%{kver}-%{karch}"
+%configure --with-kernel="${KPATH}"
+
+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"
+mkdir -p "${INST_MODLIB}/fs/ocfs2"
+mv "${EXTRA_MODLIB}"/ocfs2*.ko "${INST_MODLIB}/fs/ocfs2/"
+mkdir -p "${INST_MODLIB}/fs/usysfs"
+mv "${EXTRA_MODLIB}"/usysfs.ko "${INST_MODLIB}/fs/usysfs/"
+
+make clean
+%endif
+
+%if %{buildsmp}
+KPATH="/usr/src/kernels/%{kver}-smp-%{karch}"
+%configure --with-kernel="${KPATH}"
+
+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}smp/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}smp/kernel"
+mkdir -p "${INST_MODLIB}/fs/ocfs2"
+mv "${EXTRA_MODLIB}"/ocfs2*.ko "${INST_MODLIB}/fs/ocfs2/"
+mkdir -p "${INST_MODLIB}/fs/usysfs"
+mv "${EXTRA_MODLIB}"/usysfs.ko "${INST_MODLIB}/fs/usysfs/"
+
+make clean
+%endif
+
+%if %{buildhugemem}
+KPATH="/usr/src/kernels/%{kver}-hugemem-%{karch}"
+%configure --with-kernel="${KPATH}"
+
+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}hugemem/extra"
+INST_MODLIB="${RPM_BUILD_ROOT}/lib/modules/%{kver}hugemem/kernel"
+mkdir -p "${INST_MODLIB}/fs/ocfs2"
+mv "${EXTRA_MODLIB}"/ocfs2*.ko "${INST_MODLIB}/fs/ocfs2/"
+mkdir -p "${INST_MODLIB}/fs/usysfs"
+mv "${EXTRA_MODLIB}"/usysfs.ko "${INST_MODLIB}/fs/usysfs/"
+
+make clean
+%endif
+
+
+%clean
+rm -rf "$RPM_BUILD_ROOT"
+
+
+%if %{buildup}
+%post
+depmod -a
+
+%files
+%defattr(-,root,root)
+/lib/modules/%{kver}/kernel/fs
+%endif
+
+%if %{buildsmp}
+%post -n ocfs2-%{kver}smp
+depmod -a
+
+%files -n ocfs2-%{kver}smp
+%defattr(-,root,root)
+/lib/modules/%{kver}smp/kernel/fs
+%endif
+
+
+%if %{buildhugemem}
+%post -n ocfs2-%{kver}hugemem
+depmod -a
+
+%files -n ocfs2-%{kver}hugemem
+%defattr(-,root,root)
+/lib/modules/%{kver}hugemem/kernel/fs
+%endif
+
+
+%changelog
+* Mon Jan 24 2004 Manish Singh <manish.singh at oracle.com>
+- Initial rpm spec file



More information about the Ocfs2-commits mailing list