The redo package

Other people's stuff that might or might not be useful:

What this is

Daniel J. Bernstein's redo idea is a system for building target files from source files. I originally wrote improved versions of Alan Grosskurth's 2007 implementation in shell scripts. This package is a complete reimplementation from the ground up, in a compiled programming language rather than an interpreted one, that I then wrote.

It comprises:

Obtaining it

Download source bundles:

You can obtain it in two ways.

Working from source

redo is distributed as a slashpackage-style package. That's a whole subject in itself; and the things that you need to know here are:

Building the toolset itself

To just build the package from source:

% package/compile

This gives you:

The build process updates files in these directories atomically. It doesn't create part-written executables or other files at their final names. So you can run things straight out of these directories whilst rebuilding.

Cleaning the build area

To clean the build run

% package/clean

or just rm -r build/

To clean the build, packaging, and built files run

% package/distclean

or just rm -r build/ command/ manual/

Packaging the binaries

To build the binary packages on FreeBSD, PC-BSD, NetBSD, or OpenBSD run

% package/bsd/prepare && bsd/rules clean build binary

On FreeBSD and PC-BSD this requires pkg version 1.2 or later in order to avoid segmentation faults and other bugs. So ensure that pkg is up to that version in your ports tree.

To build the binary packages on Debian Linux run

% package/debian/prepare && dpkg-buildpackage -b -uc

Bonus GOPHER content

People knowledgeable enough to use GOPHER (and savvy enough to read to the bottoms of WWW pages) can obtain bonus development-tracking content.


© Copyright 2014,2015,2016,2025 Jonathan de Boyne Pollard. "Moral" rights asserted.
Permission is hereby granted to copy and to distribute this WWW page in its original, unmodified form as long as its last modification datestamp information is preserved.