summaryrefslogtreecommitdiff
path: root/mk/checksum/checksum.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/checksum/checksum.mk')
-rw-r--r--mk/checksum/checksum.mk104
1 files changed, 49 insertions, 55 deletions
diff --git a/mk/checksum/checksum.mk b/mk/checksum/checksum.mk
index 8a01e258d92..490575ed562 100644
--- a/mk/checksum/checksum.mk
+++ b/mk/checksum/checksum.mk
@@ -1,4 +1,4 @@
-# $NetBSD: checksum.mk,v 1.4 2007/03/07 01:06:11 rillig Exp $
+# $NetBSD: checksum.mk,v 1.5 2007/08/14 19:08:18 jlam Exp $
#
# See bsd.checksum.mk for helpful comments.
#
@@ -40,39 +40,51 @@ ${_COOKIE.checksum}:
fi
.endfor
-makesum:
- ${_PKG_SILENT}${_PKG_DEBUG}set -e; \
+_DISTINFO_CMD= ${SETENV} DIGEST=${TOOLS_DIGEST:Q} SED=${TOOLS_SED:Q} \
+ TEST=${TOOLS_TEST:Q} WC=${TOOLS_WC:Q} \
+ ${AWK} -f ${PKGSRCDIR}/mk/checksum/distinfo.awk --
+
+.if exists(${DISTDIR})
+_DISTINFO_ARGS_COMMON+= -d ${DISTDIR}
+.endif
+.if exists(${DISTINFO_FILE})
+_DISTINFO_ARGS_COMMON+= -f ${DISTINFO_FILE}
+.endif
+.if defined(_DIGEST_ALGORITHMS) && !empty(_DIGEST_ALGORITHMS)
+_DISTINFO_ARGS_COMMON+= ${_DIGEST_ALGORITHMS:S/^/-a /}
+.endif
+.if defined(_PATCH_DIGEST_ALGORITHMS) && !empty(_PATCH_DIGEST_ALGORITHMS)
+_DISTINFO_ARGS_COMMON+= ${_PATCH_DIGEST_ALGORITHMS:S/^/-p /}
+.endif
+
+.if defined(_CKSUMFILES) && !empty(_CKSUMFILES)
+_DISTINFO_ARGS_DISTSUM+= ${_CKSUMFILES:S/^/-c /}
+.endif
+.if defined(_IGNOREFILES) && !empty(_IGNOREFILES)
+_DISTINFO_ARGS_DISTSUM+= ${_IGNOREFILES:S/^/-i /}
+.endif
+
+_DISTINFO_ARGS_PATCHSUM+= ${PATCHDIR}/patch-*
+
+distinfo:
+ ${RUN}set -e; \
newfile=${DISTINFO_FILE}.$$$$; \
- if ${TEST} -f ${DISTINFO_FILE}; then \
- { ${GREP} '^.NetBSD' ${DISTINFO_FILE} || \
- ${ECHO} "$$""NetBSD""$$"; } > $$newfile; \
+ if ${_DISTINFO_CMD} ${_DISTINFO_ARGS_COMMON} \
+ ${_DISTINFO_ARGS_DISTSUM} \
+ ${_DISTINFO_ARGS_PATCHSUM} > $$newfile; \
+ then \
+ ${RM} -f $$newfile; \
+ ${ECHO_MSG} "=> distinfo: unchanged."; \
else \
- ${ECHO} "$$""NetBSD""$$" > $$newfile; \
- fi; \
- ${ECHO} "" >> $$newfile; \
- cd ${DISTDIR}; \
- for sumfile in "" ${_CKSUMFILES}; do \
- ${TEST} -n "$$sumfile" || continue; \
- for a in "" ${_DIGEST_ALGORITHMS}; do \
- ${TEST} -n "$$a" || continue; \
- ${TOOLS_DIGEST} $$a $$sumfile >> $$newfile; \
- done; \
- ${WC} -c $$sumfile | \
- ${AWK} '{ print "Size (" $$2 ") = " $$1 " bytes" }' \
- >> $$newfile; \
- done; \
- for ignore in "" ${_IGNOREFILES}; do \
- ${TEST} -n "$$ignore" || continue; \
- for a in "" ${_DIGEST_ALGORITHMS}; do \
- ${TEST} -n "$$a" || continue; \
- ${ECHO} "$$a ($$ignore) = IGNORE" >> $$newfile; \
- done; \
- done; \
- if ${TEST} -f ${DISTINFO_FILE}; then \
- ${AWK} '$$2 ~ /\(patch-[a-z0-9]+\)/ { print $$0 }' \
- < ${DISTINFO_FILE} >> $$newfile; \
- fi; \
- if ${CMP} -s $$newfile ${DISTINFO_FILE}; then \
+ ${MV} -f $$newfile ${DISTINFO_FILE}; \
+ fi
+
+makesum:
+ ${RUN}set -e; \
+ newfile=${DISTINFO_FILE}.$$$$; \
+ if ${_DISTINFO_CMD} ${_DISTINFO_ARGS_COMMON} \
+ ${_DISTINFO_ARGS_DISTSUM} > $$newfile; \
+ then \
${RM} -f $$newfile; \
${ECHO_MSG} "=> distinfo: distfiles part unchanged."; \
else \
@@ -80,31 +92,13 @@ makesum:
fi
makepatchsum:
- ${_PKG_SILENT}${_PKG_DEBUG}set -e; \
+ ${RUN}set -e; \
newfile=${DISTINFO_FILE}.$$$$; \
- if ${TEST} -f ${DISTINFO_FILE}; then \
- ${AWK} '$$2 !~ /\(patch-[a-z0-9]+\)/ { print $$0 }' \
- < ${DISTINFO_FILE} >> $$newfile; \
- else \
- ${ECHO} "$$""NetBSD""$$" > $$newfile; \
- ${ECHO} "" >> $$newfile; \
- fi; \
- if ${TEST} -d ${PATCHDIR}; then \
- ( cd ${PATCHDIR}; \
- for sumfile in "" patch-*; do \
- case "$$sumfile" in \
- ""|"patch-*") continue ;; \
- patch-local-*|*.orig|*.rej|*~) continue ;; \
- esac; \
- for a in "" ${_PATCH_DIGEST_ALGORITHMS}; do \
- ${TEST} -n "$$a" || continue; \
- ${ECHO} "$$a ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${TOOLS_DIGEST} $$a`" >> $$newfile; \
- done; \
- done ); \
- fi; \
- if ${CMP} -s $$newfile ${DISTINFO_FILE}; then \
+ if ${_DISTINFO_CMD} ${_DISTINFO_ARGS_COMMON} \
+ ${_DISTINFO_ARGS_PATCHSUM} > $$newfile; \
+ then \
${RM} -f $$newfile; \
${ECHO_MSG} "=> distinfo: patches part unchanged."; \
else \
- ${MV} $$newfile ${DISTINFO_FILE}; \
+ ${MV} -f $$newfile ${DISTINFO_FILE}; \
fi