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.
This commit is contained in:
Steve Beattie 2010-10-18 12:12:37 -07:00
parent f6b043b434
commit db30c2bc19
2 changed files with 24 additions and 29 deletions

View file

@ -23,28 +23,28 @@ REPO_URL=lp:apparmor
#REPO_URL="bzr+ssh://bazaar.launchpad.net/~sbeattie/+junk/apparmor-dev/" #REPO_URL="bzr+ssh://bazaar.launchpad.net/~sbeattie/+junk/apparmor-dev/"
RELEASE_DIR=apparmor-${VERSION} RELEASE_DIR=apparmor-${VERSION}
SNAPSHOT_DIR=apparmor-${VERSION}-${REPO_VERSION}
.PHONY: tarball .PHONY: tarball
tarball: clean tarball: clean
make export_dir __EXPORT_DIR=${RELEASE_DIR} REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \
make setup __SETUP_DIR=${RELEASE_DIR} 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} tar cvzf ${RELEASE_DIR}.tar.gz ${RELEASE_DIR}
.PHONY: snapshot .PHONY: snapshot
snapshot: clean snapshot: clean
make export_dir __EXPORT_DIR=${SNAPSHOT_DIR} REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \
make setup __SETUP_DIR=${SNAPSHOT_DIR} SNAPSHOT_DIR=apparmor-${VERSION}-$${REPO_VERSION} ;\
tar cvzf ${SNAPSHOT_DIR}.tar.gz ${SNAPSHOT_DIR} 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 .PHONY: export_dir
export_dir: export_dir:
mkdir $(__EXPORT_DIR) mkdir $(__EXPORT_DIR)
/usr/bin/bzr export -r $(REPO_VERSION) $(__EXPORT_DIR) $(REPO_URL) /usr/bin/bzr export -r $(__REPO_VERSION) $(__EXPORT_DIR) $(REPO_URL)
echo "$(REPO_URL) $(REPO_VERSION)" > $(__EXPORT_DIR)/common/.stamp_rev echo "$(REPO_URL) $(__REPO_VERSION)" > $(__EXPORT_DIR)/common/.stamp_rev
.PHONY: clean .PHONY: clean
clean: clean:

View file

@ -76,7 +76,7 @@ RPMARG=--define "_topdir $(BUILDDIR:/=)" \
$(shell [ -d ${BUILDDIR}/BUILDROOT ] && echo --define \"buildroot $(BUILDDIR:/=)/BUILDROOT\") \ $(shell [ -d ${BUILDDIR}/BUILDROOT ] && echo --define \"buildroot $(BUILDDIR:/=)/BUILDROOT\") \
$(shell [ -n "${DISTRO}" ] && echo --define \"distro ${DISTRO}\") $(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 ifdef EXTERNAL_PACKAGE
RPMARG+=--define "_sourcedir $(shell pwd)" RPMARG+=--define "_sourcedir $(shell pwd)"
@ -86,8 +86,7 @@ ifndef SPECFILE
SPECFILE = $(NAME).spec SPECFILE = $(NAME).spec
endif endif
RELEASE_DIR = $(NAME)-$(VERSION) RELEASE_DIR = $(NAME)-$(VERSION)
TARBALL = $(NAME)-$(VERSION)-${REPO_VERSION}.tar.gz 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")
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")
LDCONFIG = /sbin/ldconfig LDCONFIG = /sbin/ldconfig
RPMSUBDIRS=SOURCES SPECS BUILD BUILDROOT SRPMS RPMS/i386 RPMS/i586 \ RPMSUBDIRS=SOURCES SPECS BUILD BUILDROOT SRPMS RPMS/i386 RPMS/i586 \
@ -101,21 +100,25 @@ rpm: clean $(BUILDRPMSUBDIRS)
else else
.PHONY: rpm .PHONY: rpm
rpm: clean $(TARBALL) $(BUILDRPMSUBDIRS) rpm: clean $(BUILDRPMSUBDIRS)
cp $(TARBALL) $(BUILDDIR)/SOURCES/ __REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \
__TARBALL=$(NAME)-$(VERSION)-$${__REPO_VERSION}.tar.gz ; \
make $${__TARBALL} ; \
cp $${__TARBALL} $(BUILDDIR)/SOURCES/
cp ${SPECFILE} $(BUILDDIR)/SPECS/ cp ${SPECFILE} $(BUILDDIR)/SPECS/
rpmbuild -ba ${RPMARG} ${SPECFILE} rpmbuild -ba ${RPMARG} ${SPECFILE}
.PHONY: ${SPECFILE} .PHONY: ${SPECFILE}
${SPECFILE}: ${SPECFILE}.in ${SPECFILE}: ${SPECFILE}.in
__REPO_VERSION=`$(value REPO_VERSION_CMD)` ; \
sed -e "s/@@immunix_version@@/${VERSION}/g" \ 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) -rm -rf $(RELEASE_DIR)
mkdir $(RELEASE_DIR) mkdir $(RELEASE_DIR)
$(TAR) . | tar xz -C $(RELEASE_DIR) $(TAR) --exclude $@ . | tar xz -C $(RELEASE_DIR)
$(TAR) -f $@ $(RELEASE_DIR) $(TAR) --exclude $@ -f $@ $(RELEASE_DIR)
rm -rf $(RELEASE_DIR) rm -rf $(RELEASE_DIR)
ifndef OVERRIDE_TARBALL ifndef OVERRIDE_TARBALL
@ -123,15 +126,6 @@ ifndef OVERRIDE_TARBALL
tarball: clean $(TARBALL) tarball: clean $(TARBALL)
endif 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 endif
.PHONY: version .PHONY: version
@ -142,7 +136,8 @@ version:
.PHONY: repo_version .PHONY: repo_version
.SILENT: repo_version .SILENT: repo_version
repo_version: repo_version:
echo $(REPO_VERSION) $(value REPO_VERSION_CMD)
.PHONY: build_dir .PHONY: build_dir
build_dir: $(BUILDRPMSUBDIRS) build_dir: $(BUILDRPMSUBDIRS)