summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Roethlisberger <[email protected]>2018-04-15 21:02:41 +0200
committerDaniel Roethlisberger <[email protected]>2018-04-15 21:12:42 +0200
commit0b9589e3eb5578f3541d4cec75171510604e6a0d (patch)
tree4935d287072148edb936a9dced0bbb806498c1b7
parentb2fefd618da7e0f98cad3e670bddf89081ecbc4c (diff)
Add HASHES to detect changes to source files
-rw-r--r--GNUmakefile4
-rw-r--r--Mk/buildinfo.mk22
2 files changed, 25 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile
index b20b7e5..dbb8709 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -174,6 +174,7 @@ GREP?= grep
INSTALL?= install
MKDIR?= mkdir
SED?= sed
+SORT?= sort
### Variables only used for developer targets
@@ -468,9 +469,12 @@ dist: $(PKGNAME)-$(VERSION).tar.bz2 $(PKGNAME)-$(VERSION).tar.bz2.asc
$(PKGNAME)-$(VERSION).tar.bz2:
$(MKDIR) -p $(PKGNAME)-$(VERSION)
echo $(VERSION) >$(PKGNAME)-$(VERSION)/VERSION
+ $(OPENSSL) dgst -sha1 -r *.[hc] | $(SORT) -k 2 \
+ >$(PKGNAME)-$(VERSION)/HASHES
$(GIT) archive --prefix=$(PKGNAME)-$(VERSION)/ HEAD \
>$(PKGNAME)-$(VERSION).tar
$(TAR) -f $(PKGNAME)-$(VERSION).tar -r $(PKGNAME)-$(VERSION)/VERSION
+ $(TAR) -f $(PKGNAME)-$(VERSION).tar -r $(PKGNAME)-$(VERSION)/HASHES
$(BZIP2) <$(PKGNAME)-$(VERSION).tar >$(PKGNAME)-$(VERSION).tar.bz2
$(RM) $(PKGNAME)-$(VERSION).tar
$(RM) -r $(PKGNAME)-$(VERSION)
diff --git a/Mk/buildinfo.mk b/Mk/buildinfo.mk
index bda766a..a312c9d 100644
--- a/Mk/buildinfo.mk
+++ b/Mk/buildinfo.mk
@@ -1,20 +1,33 @@
# in: PKGNAME
# in: FEATURES (optional)
# in: BUILD_INFO (optional)
+# in: OPENSSL (optional)
+# in: OPENSSL_FOUND (optional)
ifndef PKGNAME
$(error PKGNAME not defined)
endif
+ifndef OPENSSL
+ifdef OPENSSL_FOUND
+OPENSSL=$(OPENSSL_FOUND)/bin/openssl
+else
+OPENSSL= openssl
+endif
+endif
+
BASENAME?= basename
CUT?= cut
+DIFF?= diff
GIT?= git
GREP?= grep
-OPENSSL?= openssl
SED?= sed
+TR?= tr
+WC?= wc
GITDIR:= $(wildcard .git)
VERSION_FILE:= $(wildcard VERSION)
+HASHES_FILE:= $(wildcard HASHES)
NEWS_FILE:= $(firstword $(wildcard NEWS*))
ifdef GITDIR
@@ -30,6 +43,13 @@ BUILD_VERSION:= $(shell $(BASENAME) $(PWD)|\
$(SED) 's/.*$(PKGNAME)-\(.*\)/\1/g')
BUILD_INFO+= V:DIR
endif
+ifdef HASHES_FILE
+BUILD_INFO+= HDIFF:$(shell $(OPENSSL) dgst -sha1 -r *.[hc]|\
+ sort -k 2 >HASHES~;\
+ $(DIFF) -u HASHES HASHES~|\
+ $(GREP) '^-[^-]'|$(WC) -l|$(TR) -d ' ';\
+ rm HASHES~)
+endif
ifdef NEWS_FILE
NEWS_SHA:= $(shell $(OPENSSL) dgst -sha1 -r $(NEWS_FILE) |\
$(CUT) -c -7)