Make apenwarr/redo installable on windows and work with uv tool install
In python3, os.read() automatically retries after EINTR, which breaks our ability to interrupt on SIGALRM. Instead, throw an exception from the SIGALRM handler, which should work on both python2 and python3. This fixes a rare deadlock during parallel builds on python3. For background: https://www.python.org/dev/peps/pep-0475/#backward-compatibility "Applications relying on the fact that system calls are interrupted with InterruptedError will hang. The authors of this PEP don't think that such applications exist [...]" Well, apparently they were mistaken :) |
||
|---|---|---|
| bin | ||
| contrib/bash_completion.d | ||
| docs | ||
| minimal | ||
| redo | ||
| redoconf | ||
| t | ||
| .gitignore | ||
| .pylintrc | ||
| all.do | ||
| clean.do | ||
| do | ||
| install.do | ||
| LICENSE | ||
| Makefile | ||
| MANIFEST.in | ||
| mkdocs.yml | ||
| README.md | ||
| setup.py | ||
| test.do | ||
redo - a recursive build system
Smaller, easier, more powerful, and more reliable than make.
This is an implementation of Daniel J. Bernstein's redo build system. He never released his version, so other people have implemented different variants based on his published specification.
This version, sometimes called apenwarr/redo, is probably the most advanced one, including parallel builds, improved logging, extensive automated tests, and helpful debugging features.
To build and test redo, run:
./do -j10 test
To install it, run something like this:
DESTDIR= PREFIX=/usr/local ./do -j10 install
- View the documentation via readthedocs.org
- Visit the source code on github
- Discussions and support via the
mailing list (archives).
You can subscribe by sending any email message to
redo-list+subscribe@googlegroups.com(note the plus sign). You can send questions or feedback (with or without subscribing) by sending messages toredo-list@googlegroups.com.