This is looking a bit more complicated than I expected, so I've done
some rethinking about what I think each script should do:
build.sh and install.sh are end-user tools (not developer tools). As
such, they should be geared towards a full install. They should be able
to function from either the git repository or the distribution tarball,
building what isn't present but skipping over what is pre-built so as to
be as efficient as possible. They should also take as few arguments as
possible, just what is necessary to specify build/installation localization.
make (through the Makefiles) is the developer interface. Build targets
should exist for each piece separately. Likewise there should be clean
targets which will remove the built files. Currently, the only target
which will remove those files is maintainer-clean, which, of course,
also removes the Makefile (requiring configure to be run again). With a
clean target which removed the built files, but left the Makefiles
intact, a forced rebuild would be much simpler (e.g. for the fonts it
could be `make clean-ttf && make fonts`).
install-gtex.sh is a substitute for install targets in the tex, doc, and
fonts folders (which are infeasible). It is thus a developer tool and
should allow for fine grained control over what is installed and where.
The end-user interface for installing the files in these folders is
contained in install.sh, which provides just a subset of the available
options.
Currently, I've probably been overly dependent on build.sh for my own
work flow. I should probably switch to using make more often and having
the right targets would make that considerably easier.
Let me apply this to your suggestions:
On 2016-05-08 10:40 PM, Henry So Jr. wrote:
1. Make build.sh build the docs if they don't exist.
Definitely a good idea.
2. Add a --force=pdf option to build.sh to force documents to be built
even if they exist by first deleting the PDFs.
>
3. Fix the --force=fonts option in build.sh to delete the TTFs in order
to truly force the fonts to be built.
Certainly if we have one, we should have the other here. However, based
on my above thoughts, I'm not sure that either force option is necessary.
4. Add a gregorio target to the root makefile to build the executable
only, and have build.sh use this target for the first step of the build.
Yes and no. I like the idea of a Makefile target which just builds the
executable, but don't think that build.sh needs to be made to use it.
5. Add --skip= options for gregorio, pdf, and fonts to skip the desired
step(s).
This goes hand-in-hand with 2 & 3.
6. Rewrite install-gtex.sh to parse options.
7. Rather than using the environment variable tricks, use options in
install-gtex.sh to prevent installation of fonts, docs, examples, and/or
font sources.
This is what got the whole thing started for me so I see this as a good
idea.
8. Modify the gregorio-test harness to use the new install-gtex.sh
options rather than environment variable tricks.
I'm not sure what you have in mind here. What "environment variable
tricks" are you referring to?
--
✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝
Br. Samuel, OSB
St. Anselm’s Abbey
Washington, DC
(R. Padraic Springuel)
PAX ☧ ΧΡΙΣΤΟΣ
_______________________________________________
Gregorio-devel mailing list
[email protected]
https://mail.gna.org/listinfo/gregorio-devel