On 25/02/18 01:18, Wietse Venema wrote: > John Fawcett: >> I was wondering if it might be wise to make m4 a mandatory prerequisite, >> without which compilation would fail.? > We could add this at the top of the script: > > m4 </dev/null || exit 1 > > but that would be a point solution. For a dependency list someone > would have to write a tool that scrapes the scripts and enumerates > all their dependencies, and that can be (re)run with each release. > I am not inclined to curate the dependency list by hand. > Some thoughts on the possibilty to automate dependency tracking.
There are quite a few scripts in postfix and not all are used during the build process or will be appropriate to every build. To extract the dependencies to a common place and test for them could mean that more dependencies are imposed than actually needed. This is aside from the difficulty of extracting all the commands from the files and then filtering out what are builtin shell functions not external commands. I'd go with one of these approaches: 1) the shell scripts used in the build process test for their external dependencies and exit with an error if not satisfied. If that test is done in a common way, then it can be grepped at least for documentation purposes. 2) add the dependencies to the makefiles. John