[apparmor] [patch] fix make rules to not run bzr needlessly
Steve Beattie
steve at nxnw.org
Fri Oct 15 22:34:17 BST 2010
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.
=== modified file 'Makefile'
--- Makefile 2010-10-07 22:33:11 +0000
+++ Makefile 2010-10-14 23:38:56 +0000
@@ -23,28 +23,28 @@
#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:
=== modified file 'common/Make.rules'
--- common/Make.rules 2010-10-07 22:42:36 +0000
+++ common/Make.rules 2010-10-15 21:23:28 +0000
@@ -76,7 +76,7 @@
$(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 @@
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 @@
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 @@
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 @@
.PHONY: repo_version
.SILENT: repo_version
repo_version:
- echo $(REPO_VERSION)
+ $(value REPO_VERSION_CMD)
+
.PHONY: build_dir
build_dir: $(BUILDRPMSUBDIRS)
--
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/apparmor/attachments/20101015/63ec087b/attachment.pgp
More information about the AppArmor
mailing list