apenwarr-redo/docs/GettingStarted.md
Avery Pennarun f6fe00db5c Directory reorg: move code into redo/, generate binaries in bin/.
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'.
2018-12-04 02:53:40 -05:00

52 lines
1.4 KiB
Markdown

# Prerequisites
Currently, this version of redo requires python2.7 and the python2.7 sqlite3 module.
Optional, but recommended, is the
[setproctitle](http://code.google.com/p/py-setproctitle/) module, which makes your
`ps` output prettier.
In modern versions of Debian, sqlite3 is already part of the python2.7 package.
You can install the prerequisites like this:
```sh
sudo apt-get install python2.7 python-setproctitle
```
(If you have install instructions for other OSes, please add them here :))
# Clone, compile, and test redo
You can run redo without installing it, like this:
```sh
git clone https://github.com/apenwarr/redo
cd redo
./redo -j10 test
```
If the tests pass, you can either add $PWD/redo to your PATH, or install
redo on your system. To install for all users, put it in /usr/local:
```sh
PREFIX=/usr/local sudo ./redo install
```
Or to install it just for yourself (without needing root access), put it in
your home directory:
```sh
PREFIX=$HOME ./redo install
```
# Pre-compiled packages
## MacOS
redo is available from the [Homebrew](https://brew.sh/) project:
brew install redo
## Linux
Various linux distributions include redo under different names. Most of the
packages are unfortunately obsolete and don't contain the most recent bug
fixes. At this time (late 2018), we recommend using the latest tagged
version [from github](https://github.com/apenwarr/redo).