summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorjlam <jlam>2004-02-16 20:25:18 +0000
committerjlam <jlam>2004-02-16 20:25:18 +0000
commit7fa63cfedc33d1f475fb3b8d882be63e1b6ec6c5 (patch)
tree9c311f05b473e80b2c829cbe7812cfc5fa4ef755 /mk
parent0292d93041b97515f896cf828b174f89d8c0bd9b (diff)
downloadpkgsrc-7fa63cfedc33d1f475fb3b8d882be63e1b6ec6c5.tar.gz
Be less aggressive about overriding all of the functionality of
config.status. Instead, only block "config.status --recheck", which re-executes the GNU configure script. This still allows config.status to overwrite post-configure changes to Makefiles and config.h files, so those changes should (properly) be applied to Makefile.in and config.h.in instead.
Diffstat (limited to 'mk')
-rw-r--r--mk/bsd.pkg.mk19
1 files changed, 15 insertions, 4 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index 917e752529b..892a9fdbda0 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1407 2004/02/16 13:21:34 seb Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1408 2004/02/16 20:25:18 jlam Exp $
#
# This file is in the public domain.
#
@@ -2467,10 +2467,21 @@ do-config-status-override:
${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC}; \
for file in ${_pattern_}; do \
if [ -f "$$file" ]; then \
- ${RM} -f $$file; \
- (${ECHO} '#!${SH}'; \
+ ${MV} -f $$file $$file.overridden; \
+ (${ECHO} '#!${CONFIG_SHELL}'; \
${ECHO} '${ECHO} "$$0 $$@" >> ${WRKLOG}'; \
- ${ECHO} 'exit 0'; \
+ ${ECHO} 'pkgsrc_override=no'; \
+ ${ECHO} 'for arg'; \
+ ${ECHO} 'do'; \
+ ${ECHO} ' case $$arg in'; \
+ ${ECHO} ' --recheck) pkgsrc_override=yes ;;'; \
+ ${ECHO} ' *) ;;'; \
+ ${ECHO} ' esac'; \
+ ${ECHO} 'done'; \
+ ${ECHO} 'case $$pkgsrc_override in'; \
+ ${ECHO} 'yes) exit 0 ;;'; \
+ ${ECHO} 'esac'; \
+ ${ECHO} ". ${WRKSRC}/$$file.overridden"; \
) > $$file; \
${CHMOD} +x $$file; \
fi; \