It's time to start preparing for a version of redo that doesn't work unless we build it first (because it will rely on C modules, and eventually be rewritten in C altogether). To get rolling, remove the old-style symlinks to the main programs, and rename those programs from redo-*.py to redo/cmd_*.py. We'll also move all library functions into the redo/ dir, which is a more python-style naming convention. Previously, install.do was generating wrappers for installing in /usr/bin, which extend sys.path and then import+run the right file. This made "installed" redo work quite differently from running redo inside its source tree. Instead, let's always generate the wrappers in bin/, and not make anything executable except those wrappers. Since we're generating wrappers anyway, let's actually auto-detect the right version of python for the running system; distros can't seem to agree on what to call their python2 binaries (sigh). We'll fill in the right #! shebang lines. Since we're doing that, we can stop using /usr/bin/env, which will a) make things slightly faster, and b) let us use "python -S", which tells python not to load a bunch of extra crap we're not using, thus improving startup times. Annoyingly, we now have to build redo using minimal/do, then run the tests using bin/redo. To make this less annoying, we add a toplevel ./do script that knows the right steps, and a Makefile (whee!) for people who are used to typing 'make' and 'make test' and 'make clean'.
1.2 KiB
NAME
redo-sources - print the list of all known redo sources
SYNOPSIS
redo-sources
DESCRIPTION
redo-sources prints a list of all redo source files that still exist.
A source file is any file that has been listed as a
dependency (using redo-ifchange(1) or redo-ifcreate(1))
but is not itself a target. A target is a file that
redo(1) can build using a .do script.
Each filename is on a separate line. The filenames are not guaranteed to be in any particular order.
All filenames are printed relative the current directory. The list is not filtered in any way; it contains all the source filenames from the entire project. Remember that the redo database may span more than just your project, so you might need to filter the list before using it.
If you want a list of targets instead of sources, use
redo-targets(1) or redo-ood(1).
REDO
Part of the redo(1) suite.
CREDITS
The original concept for redo was created by D. J.
Bernstein and documented on his web site
(http://cr.yp.to/redo.html). This independent implementation
was created by Avery Pennarun and you can find its source
code at http://github.com/apenwarr/redo.
SEE ALSO
redo(1), redo-targets(1), redo-ood(1)