diff options
Diffstat (limited to 'mk/bsd.pkg.mk')
-rw-r--r-- | mk/bsd.pkg.mk | 49 |
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 |