summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/bsd.pkg.mk')
-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