summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-02-16 20:25:18 +0000
committerjlam <jlam@pkgsrc.org>2004-02-16 20:25:18 +0000
commitf72a85a532576243fea1e1a97d050900fa26aca1 (patch)
tree9c311f05b473e80b2c829cbe7812cfc5fa4ef755 /mk
parent4547c184e288ab006b7df01b187b25ff3bacd582 (diff)
downloadpkgsrc-f72a85a532576243fea1e1a97d050900fa26aca1.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; \