summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfredb <fredb@pkgsrc.org>1999-10-14 05:31:22 +0000
committerfredb <fredb@pkgsrc.org>1999-10-14 05:31:22 +0000
commit572a7ac9c01844a6e26ea4f55e095beaba11a088 (patch)
treec70a641bfef893d3e02ee545cfba2f88ffbc091d
parent9bab0210def915b6a312cc8f64c2de09bb14a3d7 (diff)
downloadpkgsrc-572a7ac9c01844a6e26ea4f55e095beaba11a088.tar.gz
Update "makepatchsum" target to produce a placeholder patch-sum file
if and only if there are no patches and patch-sum already exists. This is necessary to meet the original purpose of that target, which is to "catch" users who happen to have old patches lying around, for whatever reason. Also, don't update patch-sum if it wouldn't change.
-rw-r--r--mk/bsd.pkg.mk49
1 files changed, 36 insertions, 13 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index 88e2cceee9b..4f824d4b9bb 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.354 1999/10/13 01:41:10 hubertf Exp $
+# $NetBSD: bsd.pkg.mk,v 1.355 1999/10/14 05:31:22 fredb Exp $
#
# This file is in the public domain.
#
@@ -1814,24 +1814,47 @@ makesum: fetch
.if !target(makepatchsum)
makepatchsum:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${FILESDIR}
- ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PATCH_SUM_FILE}
- ${_PKG_SILENT}(${_PKG_DEBUG} \
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ (${MKDIR} ${FILESDIR}; \
+ ${ECHO_MSG} "===> Making patch checksums"; \
+ if [ -f "${PATCH_SUM_FILE}" ]; then \
+ ${AWK} -- '{print ; exit}' < ${PATCH_SUM_FILE} > ${PATCH_SUM_FILE}.new; \
+ else \
+ ${ECHO} -n "$$" > ${PATCH_SUM_FILE}.new; \
+ ${ECHO} -n "NetBSD" >> ${PATCH_SUM_FILE}.new; \
+ ${ECHO} "$$" >> ${PATCH_SUM_FILE}.new; \
+ fi; \
+ ${ECHO} "" >> ${PATCH_SUM_FILE}.new; \
if [ -d ${PATCHDIR} ]; then \
cd ${PATCHDIR}; \
- ${ECHO} -n "$$" > ${PATCH_SUM_FILE}; \
- ${ECHO} -n "NetBSD" >> ${PATCH_SUM_FILE}; \
- ${ECHO} "$$" >> ${PATCH_SUM_FILE}; \
- ${ECHO} "" >> ${PATCH_SUM_FILE}; \
for sumfile in "" patch-*; do \
- if [ "X$$sumfile" = X"" ]; then continue; fi; \
+ if [ "X$$sumfile" = "X" ]; then continue; fi; \
+ if [ "X$$sumfile" = "Xpatch-*" ]; then break; fi; \
case $$sumfile in \
- patch-local-*) ;; \
- *.orig) continue ;; \
- *) \
- ${ECHO} "MD5 ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${MD5}`" >> ${PATCH_SUM_FILE}; \
+ patch-local-*) ;; \
+ *.orig) continue ;; \
+ *) ${ECHO} "MD5 ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${MD5}`" >> ${PATCH_SUM_FILE}.new; \
esac; \
done; \
+ fi; \
+ if [ "`${AWK} -- '{nlines++} END {print nlines}' < ${PATCH_SUM_FILE}.new`" = "2" ]; then \
+ if [ -f "${PATCH_SUM_FILE}" ]; then \
+ ${ECHO} "This placeholder file is generated by the \`\`makepatchsum'' target" >> ${PATCH_SUM_FILE}.new; \
+ ${ECHO} "whenever the patches directory is empty or missing. Its purpose" >> ${PATCH_SUM_FILE}.new; \
+ ${ECHO} "is to ensure that the presence of any obsolete patches will cause" >> ${PATCH_SUM_FILE}.new; \
+ ${ECHO} "the proper error to be emitted at build time." >> ${PATCH_SUM_FILE}.new; \
+ ${ECHO_MSG} ">> placeholder patch-sum file created"; \
+ else \
+ ${RM} -f ${PATCH_SUM_FILE}.new; \
+ ${ECHO_MSG} ">> no patch-sum file created"; \
+ exit 0; \
+ fi; \
+ fi; \
+ if cmp -s ${PATCH_SUM_FILE}.new ${PATCH_SUM_FILE} ""; then \
+ ${RM} -f ${PATCH_SUM_FILE}.new; \
+ ${ECHO_MSG} ">> patch-sum file unchanged!"; \
+ else \
+ ${MV} ${PATCH_SUM_FILE}.new ${PATCH_SUM_FILE}; \
fi)
.endif