Add a target that uses cov-build, which must be found in $PATH, to
generate an intermediate Coverity directory called cov-int. The
intermediate Coverity directory will be based on a clean snapshot of the
last commit in the bzr tree. Finally, the intermediate directory is
converted to a compressed tarball, stored in
apparmor-<SNAPSHOT_VERSION>-cov-int.tar.gz, and is suitable for
uploading to scan.coverity.com.

Signed-off-by: Tyler Hicks <[email protected]>
---

* Changes since v2.1:
  - Get rid of the coverity target-specific IGNORED_DIRS and DIRS make
    variables and put the logic directly into the foreach loop.

 Makefile | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 24cc2d2..37f1d82 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,7 @@ 
REPO_URL?=https://code.launchpad.net/~apparmor-dev/apparmor/master
 #REPO_URL=.
 #REPO_URL="bzr+ssh://bazaar.launchpad.net/~sbeattie/+junk/apparmor-dev/"
 
+COVERITY_DIR=cov-int
 RELEASE_DIR=apparmor-${VERSION}
 __SETUP_DIR?=.
 
@@ -51,6 +52,12 @@ snapshot: clean
        make setup __SETUP_DIR=${SNAPSHOT_NAME} ; \
        tar ${TAR_EXCLUSIONS} -cvzf ${SNAPSHOT_NAME}.tar.gz ${SNAPSHOT_NAME} ;
 
+.PHONY: coverity
+coverity: snapshot
+       cd $(SNAPSHOT_NAME)/libraries/libapparmor && ./configure --with-python
+       $(foreach dir, $(filter-out utils profiles tests, $(DIRS)), \
+               cov-build --dir $(COVERITY_DIR) -- make -C 
$(SNAPSHOT_NAME)/$(dir);)
+       tar -cvzf $(SNAPSHOT_NAME)-$(COVERITY_DIR).tar.gz $(COVERITY_DIR)
 
 .PHONY: export_dir
 export_dir:
@@ -60,7 +67,7 @@ export_dir:
 
 .PHONY: clean
 clean:
-       -rm -rf ${RELEASE_DIR} ./apparmor-${VERSION}~*
+       -rm -rf ${RELEASE_DIR} ./apparmor-${VERSION}~* ${COVERITY_DIR}
        for dir in $(DIRS); do \
                make -C $$dir clean; \
        done
-- 
2.5.0


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to