summaryrefslogtreecommitdiff
path: root/mk/subst.mk
AgeCommit message (Collapse)AuthorFilesLines
2006-01-08Reverted the change from 1.29 to 1.30, as it had led to build failures inrillig1-2/+11
the "unwrap" class.
2006-01-07Added two missing :Q operators. One of them affects how therillig1-3/+3
SUBST_MESSAGE is printed. The ones that have been defined with "quotes" in their Makefiles are printed with quotes (of course). This is the consequence of the design pattern "quote-exactly-where-necessary", which in fact should be have been applied to pkgsrc as a whole, but still isn't.
2006-01-07Removed the use of ${FILE_CMD} from the substitution framework. Therillig1-11/+2
detection whether a given file was a text file or some other file had been unreliable. In the recent bulk builds, all of the warnings that had appeared because of that unreliable detection had been false positives.
2006-01-05Adjust comment about SUBST_FILES to match reality:joerg1-2/+2
absolute file names work as well.
2006-01-01Fixed some cases where the exitcode of child processes has been ignored.rillig1-4/+4
This will cause package builds to fail instead of hiding bugs.
2006-01-01Fixed trivial pkglint warnings:rillig1-4/+4
- Removed leading white-space in dependency lines. - s/existant/existent/.
2005-12-06Allow absolute filenames for SUBST_FILES. Needed for converters/convmv andrillig1-2/+2
maybe some others.
2005-11-24Added another diagnostic message to distinguish the cases for non-textrillig1-2/+4
file and non-existant file.
2005-11-17A warning is printed for every non-text file. This helps in detectingrillig1-1/+3
broken file(1) databases. It also gives an indication of whether this test is necessary at all.
2005-08-21Changed the comment for SUBST_STAGE to be more complete. Started the otherrillig1-9/+9
sentences with an uppercase letter. No code changes.
2005-06-09Fixed a typo.rillig1-2/+2
2005-05-20Change instances where we stored `shell command` in a make variable intojlam1-23/+22
variables that use the :sh modifier. This still causes expansion to only happen when referenced, and has the advantage of being :Q-safe. Bring back the changes from revision 1.19 of mk/subst.mk now that the problem noted above has been fixed. This passes the buildlink-unwrap regression test.
2005-05-20Revert part of revision 1.18. The new quoting was breaking somejlam1-22/+23
assumptions being made by the USE_PKGLOCALEDIR code and the wrapper framework since it added backtick expressions to the SUBST_FILES.* variables, which were being mangled by the :Q modifier. This is evident when running "make regress" in regress/buildlink-unwrap. Mea culpa.
2005-05-18Removed the quoting for SUBST_MESSAGE.<class>. Most packages unnecessarilyrillig1-2/+2
define that inside double quotes.
2005-05-17Fixed shell quoting. Reviewed by jlam.rillig1-25/+27
2005-04-30Avoid checking for !empty(...) so that we that defer variable references.jlam1-7/+1
2004-08-23SUBST_POSTCMD must be globally defined or else it breaks.jlam1-2/+2
2004-08-23Actually, it's okay if SUBST_FILTER_CMD is empty... the ${SUBST_COOKIE}jlam1-2/+2
target takes care of this case already.
2004-08-23Use _SUBST_BACKUP_SUFFIX instead of hardcoding ".subst.sav" everywhere.jlam1-8/+10
2004-08-23SUBST_FILTER_CMD can't be empty. It must be a real filter cmd, so defaultjlam1-2/+2
it to ${CAT} as a fall-through.
2004-06-06Usually there's no need to keep the original version of a fileschmonz1-2/+8
"foo" as "foo.subst.sav". Implement SUBST_POSTCMD, which by default cleans up these leftovers. If you need to keep them around, e.g. while debugging, set it to ${DO_NADA}. Remove superfluous whitespace in a comment.
2004-03-07Solaris' file(1) reports "executable [path] script" on scripts whichgrant1-2/+2
arent't shell scripts, so allow them to be subst'd.
2004-03-01* Document SUBST_CLASSES.uebayasi1-9/+13
* Indent conditionals. Reviewed By: wiz
2003-12-29Reinstate the fix in revision 1.6kim1-2/+2
2003-12-28Revert revision 1.5 as binaries and directories are now being substedkim1-12/+18
unintentionally. Also revert revision 1.6 as part of the overall change, as I suspect the change might be unnecessary. While I'm not 100% sure, this does just revert to the previous behaviour.
2003-12-28The generated target is subst-<class>, not <class>-subst. Fix commentjmmv1-2/+2
accordingly.
2003-12-27bomb to prevent silent failure if we're unable to rename a filegrant1-2/+2
before subst'ing it. previously, only a warning would be printed and the .subst_done cookie(s) would be created, indicating that the subst target was successful when it really was not.
2003-12-27remove somewhat bogus test for text files, which was dependent on thegrant1-18/+12
output of file(1) which reports too many false negatives (not detecting a file as a text file when it really is). package developers are aware of which files the subst operation applies to, since they need to specify the filenames, so this test is not really required. it's also not inconceivable that one would want to subst over a non-text file, which is now possible.
2003-12-11only print SUBST_MESSAGE if it's defined.grant1-1/+3
2003-10-07Allow a new variable SUBST_FILTER_CMD.<class> that is a command filter orjlam1-6/+17
pipeline that takes stdin, performs the substitions and writes the result to stdout. It defaults to ${SED} ${SUBST_SED.<class>}. Use this variable to replace the sed command with something else, like an awk process.
2003-09-02Merge pkgviews-mk branch into the HEAD by running:jlam1-1/+1
cd pkgsrc/mk cvs update -Pd -A cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-08-27subst.mk is a Makefile fragment that implements a general text replacementjlam1-0/+80
facility for different classes of files in ${WRKSRC}. For each class of files, a target <class>-subst is created to perform the text replacement. The following variables are used: SUBST_STAGE.<class> "stage" at which we do the text replacement, e.g. pre-configure, post-build, etc. SUBST_MESSAGE.<class> message to display, noting what is being substituted SUBST_FILES.<class> files on which to run the substitution; these are relative to ${WRKSRC} SUBST_SED.<class> sed(1) substitution expression to run on the specified files This basically extracts a useful piece of code from bsd.buildlink2.mk and puts it in a place that allows it to be more widely used, and so that the functionality doesn't depend on USE_BUILDLINK2 being defined.