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.4 KiB
1.4 KiB
% redo(1) Redo %VERSION% % Avery Pennarun apenwarr@gmail.com % %DATE%
NAME
redo-always - mark the current target as always needing to be rebuilt
SYNOPSIS
redo-always
DESCRIPTION
Normally redo-always is run from a .do file that has been
executed by redo(1). See redo(1) for more details.
This is a "quoted string."
"entirely quoted"
.starting with dot
I'm a \big \backslasher!
This line has multiple formats(interspersed) with each other
and here is a multi
line italic.
This line has an & and a < and a >.
-
"line starting with quoted"
Here's some code with indentation yay! (a \backslash and <brackets>) "foo" skipped a line indented another skip -
-starting with dash
-
.starting with dot
chicken
-
list item with more text
and even more
- second list
- third list
- second list
wicken
- list 1a
- list 1b
- list 2
- list 3
- list 2
barf
- First line
- definition list. with multiple lines!
- --item=value
- a description.
-x- more stuff. if you had a lot of text, this is what it would look like. It goes on and on and on.
- a line with altogether "too much" stuff on it to realistically make it in a definition list
- and yet, here we are.
SEE ALSO
redo(1), redo-ifcreate(1), redo-ifchange(1), redo-stamp(1)