X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=debian%2Frules;h=d504f8789a898952e8615c7039bbecc813c90361;hb=a0374f85c815e48d645f9b720250efb45745d441;hp=aa030708dcfd97ef168fdf70d291a7a2bd39088c;hpb=89045eb8b56aa1fd94fb6d03a59ee57ecb6faa2d;p=fs%2Flustre-release.git diff --git a/debian/rules b/debian/rules index aa03070..d504f87 100755 --- a/debian/rules +++ b/debian/rules @@ -75,19 +75,40 @@ 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 - # There is really no reason to run this unless somebody adds a - # patch that patches the autoconf system, in which case they can - # include a patch for autogen.sh and uncomment this stuff. - #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 - #touch $@ + # 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 configure-stamp: autogen-stamp debian/control.main debian/control.modules.in @@ -114,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 \ @@ -340,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 \ @@ -359,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 @@ -377,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 @@ -392,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