From db30c2bc1973bfde7895b612bed66c4603ccaa48 Mon Sep 17 00:00:00 2001 From: Steve Beattie Date: Mon, 18 Oct 2010 12:12:37 -0700 Subject: [PATCH] This patch fixes the common/Make.rules file to not do bzr versioninfo on every make invocation; instead it defines a command as a variable that then is evaluated into shell variables when needed. --- Makefile | 20 ++++++++++---------- common/Make.rules | 33 ++++++++++++++------------------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/Makefile b/Makefile index 75b4b7529..47ba22d36 100644 --- a/Makefile +++ b/Makefile @@ -23,28 +23,28 @@ REPO_URL=lp:apparmor #REPO_URL="bzr+ssh://bazaar.launchpad.net/~sbeattie/+junk/apparmor-dev/" RELEASE_DIR=apparmor-${VERSION} -SNAPSHOT_DIR=apparmor-${VERSION}-${REPO_VERSION} .PHONY: tarball tarball: clean - make export_dir __EXPORT_DIR=${RELEASE_DIR} - make setup __SETUP_DIR=${RELEASE_DIR} + REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \ + make export_dir __EXPORT_DIR=${RELEASE_DIR} __REPO_VERSION=$${REPO_VERSION} ; \ + make setup __SETUP_DIR=${RELEASE_DIR} ; \ tar cvzf ${RELEASE_DIR}.tar.gz ${RELEASE_DIR} .PHONY: snapshot snapshot: clean - make export_dir __EXPORT_DIR=${SNAPSHOT_DIR} - make setup __SETUP_DIR=${SNAPSHOT_DIR} - tar cvzf ${SNAPSHOT_DIR}.tar.gz ${SNAPSHOT_DIR} + REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \ + SNAPSHOT_DIR=apparmor-${VERSION}-$${REPO_VERSION} ;\ + make export_dir __EXPORT_DIR=$${SNAPSHOT_DIR} __REPO_VERSION=$${REPO_VERSION} ; \ + make setup __SETUP_DIR=$${SNAPSHOT_DIR} ; \ + tar cvzf $${SNAPSHOT_DIR}.tar.gz $${SNAPSHOT_DIR} ; -${SNAPSHOT_DIR}: - mkdir ${SNAPSHOT_DIR} .PHONY: export_dir export_dir: mkdir $(__EXPORT_DIR) - /usr/bin/bzr export -r $(REPO_VERSION) $(__EXPORT_DIR) $(REPO_URL) - echo "$(REPO_URL) $(REPO_VERSION)" > $(__EXPORT_DIR)/common/.stamp_rev + /usr/bin/bzr export -r $(__REPO_VERSION) $(__EXPORT_DIR) $(REPO_URL) + echo "$(REPO_URL) $(__REPO_VERSION)" > $(__EXPORT_DIR)/common/.stamp_rev .PHONY: clean clean: diff --git a/common/Make.rules b/common/Make.rules index b417bdc68..97a0dece0 100644 --- a/common/Make.rules +++ b/common/Make.rules @@ -76,7 +76,7 @@ RPMARG=--define "_topdir $(BUILDDIR:/=)" \ $(shell [ -d ${BUILDDIR}/BUILDROOT ] && echo --define \"buildroot $(BUILDDIR:/=)/BUILDROOT\") \ $(shell [ -n "${DISTRO}" ] && echo --define \"distro ${DISTRO}\") -REPO_VERSION=$(shell ([ -x /usr/bin/bzr ] && /usr/bin/bzr version-info . 2> /dev/null || awk '{ print "revno: "$$2 }' common/.stamp_rev) | awk '/^revno:/ { print $$2 }' ) +REPO_VERSION_CMD=([ -x /usr/bin/bzr ] && /usr/bin/bzr version-info . 2> /dev/null || awk '{ print "revno: "$2 }' common/.stamp_rev) | awk '/^revno:/ { print $2 }' ifdef EXTERNAL_PACKAGE RPMARG+=--define "_sourcedir $(shell pwd)" @@ -86,8 +86,7 @@ ifndef SPECFILE SPECFILE = $(NAME).spec endif RELEASE_DIR = $(NAME)-$(VERSION) -TARBALL = $(NAME)-$(VERSION)-${REPO_VERSION}.tar.gz -TAR = /bin/tar czvp -h --exclude .svn --exclude .bzr --exclude .bzrignore --exclude ${TARBALL} --exclude ${RELEASE_DIR}/${RELEASE_DIR} $(shell test -f ${NAME}.exclude && echo "-X ${NAME}.exclude") +TAR = /bin/tar czvp -h --exclude .svn --exclude .bzr --exclude .bzrignore --exclude ${RELEASE_DIR}/${RELEASE_DIR} $(shell test -f ${NAME}.exclude && echo "-X ${NAME}.exclude") LDCONFIG = /sbin/ldconfig RPMSUBDIRS=SOURCES SPECS BUILD BUILDROOT SRPMS RPMS/i386 RPMS/i586 \ @@ -101,21 +100,25 @@ rpm: clean $(BUILDRPMSUBDIRS) else .PHONY: rpm -rpm: clean $(TARBALL) $(BUILDRPMSUBDIRS) - cp $(TARBALL) $(BUILDDIR)/SOURCES/ +rpm: clean $(BUILDRPMSUBDIRS) + __REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \ + __TARBALL=$(NAME)-$(VERSION)-$${__REPO_VERSION}.tar.gz ; \ + make $${__TARBALL} ; \ + cp $${__TARBALL} $(BUILDDIR)/SOURCES/ cp ${SPECFILE} $(BUILDDIR)/SPECS/ rpmbuild -ba ${RPMARG} ${SPECFILE} .PHONY: ${SPECFILE} ${SPECFILE}: ${SPECFILE}.in + __REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \ sed -e "s/@@immunix_version@@/${VERSION}/g" \ - -e "s/@@repo_version@@/${REPO_VERSION}/g" $< > $@ + -e "s/@@repo_version@@/$${__REPO_VERSION}/g" $< > $@ -${TARBALL}: clean ${SPECFILE} +%.tar.gz: clean ${SPECFILE} -rm -rf $(RELEASE_DIR) mkdir $(RELEASE_DIR) - $(TAR) . | tar xz -C $(RELEASE_DIR) - $(TAR) -f $@ $(RELEASE_DIR) + $(TAR) --exclude $@ . | tar xz -C $(RELEASE_DIR) + $(TAR) --exclude $@ -f $@ $(RELEASE_DIR) rm -rf $(RELEASE_DIR) ifndef OVERRIDE_TARBALL @@ -123,15 +126,6 @@ ifndef OVERRIDE_TARBALL tarball: clean $(TARBALL) endif -.PHONY: dist -dist: clean $(SPECFILE) - -rm -rf $(RELEASE_DIR) - svn export -r $(REPO_VERSION) $(REPO_URL) $(RELEASE_DIR) - svn export $(COMMON_REPO_URL) $(RELEASE_DIR)/common - make -C $(RELEASE_DIR) $(SPECFILE) REPO_VERSION=${REPO_VERSION} COMMONDIR_EXISTS=false - $(TAR) -f $(TARBALL) $(RELEASE_DIR) - rm -rf $(RELEASE_DIR) - endif .PHONY: version @@ -142,7 +136,8 @@ version: .PHONY: repo_version .SILENT: repo_version repo_version: - echo $(REPO_VERSION) + $(value REPO_VERSION_CMD) + .PHONY: build_dir build_dir: $(BUILDRPMSUBDIRS)