Whamcloud - gitweb
LU-15596 build: set TARBALL with m-a build helper for debs
[fs/lustre-release.git] / debian / rules
index c7546af..dce9dc6 100755 (executable)
@@ -63,7 +63,7 @@ UPVERSION=$(shell echo $(VERSION) | sed -e 's/-[^-]*$$//')
 KVER?=$(LINUXRELEASE)
 
 # KVERS, KSRC are the kernel version and source to use when building lustre
-# Will be the default when building lustre-utils, etc but whatever module-assistant
+# Will be the default when building lustre-{server,client}-utils, etc but whatever module-assistant
 # supplied when building modules
 KVERS?=$(KVER)
 KSRC?=$(LINUX_OBJ)
@@ -186,11 +186,29 @@ configure-stamp: autogen-stamp debian/control.main debian/control.modules.in
        else \
                export EXTRAFLAGS="$${EXTRAFLAGS} --disable-ldiskfs"; \
        fi; \
+       if echo "$${DEB_BUILD_PROFILES}" | grep -q "o2ib"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --with-o2ib=$${O2IB_SRC}"; \
+       fi; \
        if echo "$${DEB_BUILD_PROFILES}" | grep -qw "gss"; then \
                export EXTRAFLAGS="$${EXTRAFLAGS} --enable-gss"; \
        elif echo "$${DEB_BUILD_PROFILES}" | grep -qw "nogss"; then \
                export EXTRAFLAGS="$${EXTRAFLAGS} --disable-gss"; \
        fi; \
+       if echo "$${DEB_BUILD_PROFILES}" | grep -qw "crypto"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --enable-crypto"; \
+       elif echo "$${DEB_BUILD_PROFILES}" | grep -qw "nocrypto"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --disable-crypto"; \
+       fi; \
+       # remove env variables from config cache built by initial configure,
+       # and create dedicated cache in temporary build directory
+       if [ -f "$${CONFIG_CACHE_FILE}" ]; then \
+               export TMP_CACHE_FILE=$$(mktemp); \
+               sed -e "/ac_cv_env/d" \
+                   -e "/am_cv_CC_dependencies_compiler_type/d" \
+                   -e "/lb_cv_mpi_tests/d" \
+                      "$${CONFIG_CACHE_FILE}" > $${TMP_CACHE_FILE}; \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --cache-file=$${TMP_CACHE_FILE}"; \
+       fi; \
        echo "Final value of EXTRAFLAGS: $${EXTRAFLAGS}"; \
        ( cd $(BUILDDIR) && \
                $(SRCDIR)/configure --disable-dependency-tracking \
@@ -199,6 +217,7 @@ configure-stamp: autogen-stamp debian/control.main debian/control.modules.in
                        --disable-snmp \
                        --enable-quota \
                        $${EXTRAFLAGS} \
+                       $(EXTRA_OPTIONS) \
        ); \
        touch $@
 
@@ -243,6 +262,7 @@ binary-$(UTILS_PKG): build-stamp
               debian/$(UTILS_PKG)/usr/bin/*-survey \
               debian/$(UTILS_PKG)/usr/bin/mcreate \
               debian/$(UTILS_PKG)/usr/bin/munlink \
+              debian/$(UTILS_PKG)/usr/bin/statx \
               debian/$(UTILS_PKG)/usr/sbin/wirecheck \
               debian/$(UTILS_PKG)/usr/sbin/wiretest
        dh_makeshlibs -p $(UTILS_PKG)
@@ -337,13 +357,14 @@ binary-$(SOURCE_PKG): build-stamp
              . debian/$(SOURCE_PKG)/usr/src/modules/lustre
        # Remove FULLCLEAN setting
        rm debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/rules
-       sed -e 's/FULLCLEAN=full-clean/FULLCLEAN=/' < debian/rules > debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/rules
+       cp -v debian/rules debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/rules
+       sed -i -e 's/FULLCLEAN=full-clean/FULLCLEAN=/' debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/rules
        # clean up dest
        rm -rf debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/patched \
               debian/$(SOURCE_PKG)/usr/src/modules/lustre/debian/patches/* 
        $(MAKE) -C debian/$(SOURCE_PKG)/usr/src/modules/lustre -f debian/rules clean
        # Create the module-source tarball.
-       cd debian/$(SOURCE_PKG)/usr/src && tar jcf lustre.tar.bz2 modules 
+       cd debian/$(SOURCE_PKG)/usr/src && tar --exclude-vcs -jcf lustre-$${SRC_GIT_HASH}.tar.bz2 modules
        rm -rf debian/$(SOURCE_PKG)/usr/src/modules
        dh_install -p$(SOURCE_PKG)
        dh_installchangelogs -p $(SOURCE_PKG) lustre/ChangeLog
@@ -468,6 +489,24 @@ kdist_config: prep-deb-files patch-stamp
                export EXTRAFLAGS="$${EXTRAFLAGS} \
                        --disable-ldiskfs --disable-quilt"; \
        fi; \
+       if echo "$${DEB_BUILD_PROFILES}" | grep -q "o2ib"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --with-o2ib=$${O2IB_SRC}"; \
+       fi; \
+       if echo "$${DEB_BUILD_PROFILES}" | grep -qw "crypto"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --enable-crypto"; \
+       elif echo "$${DEB_BUILD_PROFILES}" | grep -qw "nocrypto"; then \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --disable-crypto"; \
+       fi; \
+       # remove env variables from config cache built by initial configure,
+       # and create dedicated cache in temporary build directory
+       if [ -f "$${CONFIG_CACHE_FILE}" ]; then \
+               export TMP_CACHE_FILE=$$(mktemp --tmpdir newconfig-XXXXXXXX.cache); \
+               sed -e "/ac_cv_env/d" \
+                   -e "/am_cv_CC_dependencies_compiler_type/d" \
+                   -e "/lb_cv_mpi_tests/d" \
+                      "$${CONFIG_CACHE_FILE}" > $${TMP_CACHE_FILE}; \
+               export EXTRAFLAGS="$${EXTRAFLAGS} --cache-file=$${TMP_CACHE_FILE}"; \
+       fi; \
        echo "Final value of EXTRAFLAGS: $${EXTRAFLAGS}"; \
        ./configure --with-linux=$(KSRC_TREE) \
                --with-linux-obj=$(KSRC) \