X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=debian%2Frules;h=d504f8789a898952e8615c7039bbecc813c90361;hb=58c997babb608f5ab26f326772574bfd34e8cdc3;hp=09003adedf58255e2a2f25cf30365562355f568b;hpb=53eb13326140d4780adf532188487be38ceb34d8;p=fs%2Flustre-release.git diff --git a/debian/rules b/debian/rules index 09003ad..d504f87 100755 --- a/debian/rules +++ b/debian/rules @@ -75,15 +75,39 @@ MODS_PKG=lustre-client-modules BUILDDIR=. SRCDIR=. +AVAIL_CPUS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) +ifneq ($(AVAIL_CPUS),1) + PMAKEARGS := -j $(AVAIL_CPUS) +endif + autogen: autogen-stamp autogen-stamp: patch-stamp - cp /usr/share/misc/config.sub config.sub - cp /usr/share/misc/config.sub libsysio/config.sub - cp /usr/share/misc/config.sub ldiskfs/config.sub - cp /usr/share/misc/config.guess config.guess - cp /usr/share/misc/config.guess libsysio/config.guess - cp /usr/share/misc/config.guess ldiskfs/config.guess - sh ./autogen.sh + # see if any patches requires us to run autogen + # (for a distribution release tarball, it is expected that if + # downstream adds any patches that requires autogen.sh to be + # run, a patch will be added by downstream to install the + # needed autogen.sh scripts + # see https://bugzilla.lustre.org/attachment.cgi?id=27156 + # for an example) + if grep -e "^--- .*\/autoconf\/" \ + -e "^--- .*\/autoMakefile\.am" \ + -e "^--- .*\/Makefile\.am" \ + -e "^--- .*\/configure\.ac" \ + -e "^--- .*\/configure\.in" \ + debian/patches/*; then \ + if [ ! -f build/autogen.sh ]; then \ + echo "You have patches which require autogen.sh to be run, but it doesn't exist"; \ + echo "Please see https://bugzilla.lustre.org/attachment.cgi?id=27156"; \ + exit 1; \ + fi; \ + cp /usr/share/misc/config.sub config.sub; \ + cp /usr/share/misc/config.sub libsysio/config.sub; \ + cp /usr/share/misc/config.sub ldiskfs/config.sub; \ + cp /usr/share/misc/config.guess config.guess; \ + cp /usr/share/misc/config.guess libsysio/config.guess; \ + cp /usr/share/misc/config.guess ldiskfs/config.guess; \ + sh build/autogen.sh; \ + fi; \ touch $@ configure: configure-stamp @@ -111,7 +135,7 @@ build-arch build-indep: build build: build-stamp build-stamp: patch-stamp configure-stamp dh_testdir - $(MAKE) -C $(BUILDDIR) + $(MAKE) -C $(BUILDDIR) $(PMAKEARGS) $(MAKE) -C $(BUILDDIR) DESTDIR=$(TOP_DIR)/debian/tmp install # jump our lustre-client-modules into the control file if not using m-a if ! $(USE_MA); then \ @@ -337,6 +361,7 @@ kdist_config: prep-deb-files patch-stamp find . -type f -print0 | xargs -0 touch -r COPYING \; # Doesn't seem possible to only build modules... ./configure --with-linux=$(KSRC) \ + --disable-server \ --disable-quilt \ --disable-dependency-tracking \ --disable-doc \ @@ -356,7 +381,7 @@ kdist_configure: kdist_config binary-modules: prep-deb-files dh_testroot dh_clean -k - $(MAKE) + $(MAKE) $(PMAKEARGS) $(MAKE) install DESTDIR=$(CURDIR)/debian/$(PKGNAME) # Remove stuff that doesn't belong (no module-only target) cd $(CURDIR)/debian/$(PKGNAME) && rm -rf usr sbin etc @@ -374,7 +399,7 @@ binary-modules: prep-deb-files clean: dh_testdir dh_testroot - dpatch deapply-all + dpatch deapply-all -v -$(MAKE) distclean rm -rf debian/substvars debian/*.bak debian/*~ *~ *-stamp debian/$(PATCH_PKG) ls -d debian/lustre-client-modules-* | grep -v _KVERS_ | xargs rm -f || true @@ -389,11 +414,11 @@ clean: patch: patch-stamp patch-stamp: - dpatch apply-all + dpatch apply-all -v touch $@ unpatch: - dpatch deapply-all + dpatch deapply-all -v rm -rf debian/patched patch-stamp .PHONY: binary-arch clean source diff binary binary-indep binary-arch install configure