Whamcloud - gitweb
LU-6875 update: set st to NULL in error handler
[fs/lustre-release.git] / autoMakefile.am
index c6aff1f..3bad8c2 100644 (file)
@@ -74,7 +74,7 @@ lustre-sources:
 if LINUX
 all-am: modules
 
-modules: ldiskfs-sources lustre-sources module-symvers
+modules: ldiskfs-sources lustre-sources
        $(MAKE) CC="$(CC)" $(CROSS_VARS) -C $(LINUX_OBJ)             \
        -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
        LINUXINCLUDE='-I$$(srctree)/arch/$$(SRCARCH)/include -Iarch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iarch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/include/uapi -Iinclude/generated/uapi -include $(CONFIG_INCLUDE)' \
@@ -99,11 +99,45 @@ EXTRA_DIST = @PACKAGE_TARNAME@.spec \
        build/Rules.in                  \
        build/gen_filelist.sh
 
-rpms: @PACKAGE_TARNAME@.spec dist Makefile
-       rpmbuild @RPMBUILD_BINARY_ARGS@ -ta $(distdir).tar.gz
+rpm-local:
+       @(if test -z "$(RPMBUILD)"; then \
+               echo -e "\n" \
+       "*** Required util 'rpmbuild' missing. Please install the\n" \
+       "*** package for your distribution which provides 'rpmbuild',\n" \
+       "*** re-run configure, and try again.\n"; \
+               exit 1; \
+       fi; \
+       $(MKDIR_P) $(rpmbuilddir)/TMP   && \
+       $(MKDIR_P) $(rpmbuilddir)/BUILD && \
+       $(MKDIR_P) $(rpmbuilddir)/RPMS  && \
+       $(MKDIR_P) $(rpmbuilddir)/SRPMS && \
+       $(MKDIR_P) $(rpmbuilddir)/SPECS && \
+       $(MKDIR_P) $(rpmbuilddir)/SOURCES)
+
+rpms: srpm
+       rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
+       $(MAKE) $(AM_MAKEFLAGS) \
+               rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
+       $(RPMBUILD) \
+               --define "_tmppath $$rpmbuilddir/TMP" \
+               --define "_topdir $$rpmbuilddir" \
+               @RPMBUILD_BINARY_ARGS@ \
+               --rebuild $(distdir)-*.src.rpm || exit 1; \
+       cp $$rpmbuilddir/RPMS/*/*.rpm $(top_srcdir) || exit 1; \
+       rm -rf $$rpmbuilddir
 
 srpm: @PACKAGE_TARNAME@.spec dist Makefile
-       rpmbuild @RPMBUILD_SOURCE_ARGS@ -ts $(distdir).tar.gz
+       rpmbuilddir=`mktemp -t -d rpmbuild-@PACKAGE@-$$USER-XXXXXXXX`; \
+       $(MAKE) $(AM_MAKEFLAGS) \
+               rpmbuilddir="$$rpmbuilddir" rpm-local || exit 1; \
+       $(RPMBUILD) \
+               --define "_tmppath $$rpmbuilddir/TMP" \
+               --define "_topdir $$rpmbuilddir" \
+               --define "build_src_rpm 1" \
+               --define "dist %{nil}" \
+               -ts $(distdir).tar.gz || exit 1; \
+       cp $$rpmbuilddir/SRPMS/$(distdir)-*.src.rpm $(top_srcdir) || exit 1; \
+       rm -rf $$rpmbuilddir
 
 # In the debs target, first make sure what's in the changelog reflects
 # the software version.  Here's how we could dig the version out of the
@@ -161,32 +195,6 @@ if USES_DPKG
 EXTRA_DIST += debian/*
 endif
 
-module-symvers-zfs:
-if ZFS_ENABLED
-       @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-               cat @SPL_OBJ@/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
-       elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-               cat @SPL_OBJ@/module/@SPL_SYMBOLS@ >>@SYMVERFILE@; \
-       else \
-               echo -e "\n" \
-               "*** Missing spl symbols. Ensure you have built spl:\n" \
-               "*** - @SPL_OBJ@/@SYMVERFILE@\n"; \
-               exit 1; \
-       fi
-       @if [ -f @ZFS_OBJ@/@ZFS_SYMBOLS@ ]; then \
-               cat @ZFS_OBJ@/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
-       elif [ -f @ZFS_OBJ@/module/@ZFS_SYMBOLS@ ]; then \
-               cat @ZFS_OBJ@/module/@ZFS_SYMBOLS@ >>@SYMVERFILE@; \
-       else \
-               echo -e "\n" \
-               "*** Missing zfs symbols. Ensure you have built zfs:\n" \
-               "*** - @ZFS_OBJ@/@SYMVERFILE@\n"; \
-               exit 1; \
-       fi
-endif # ZFS_ENABLED
-
-module-symvers: module-symvers-zfs
-
 CSTK=/tmp/checkstack
 CSTKO=/tmp/checkstack.orig