cygbuild is a porting tool for making Cygwin net releases. It helps Cygwin source and binary package maintainers to configure, build, strip, produce diffs, and generate Cygwin specific files. To put it simply, it converts any freely available program or package into a complete Cygwin net release distribution.
Cinabox (Continuous Integration in a Box) automates the setup of a Continuous Integration (CI) system by doing The Simplest Thing That Could Possibly Work. It consists of two simple scripts to set up a cruisecontrolrb CI server from scratch on an Ubuntu 8.04 system: one script to bootstrap Ruby, and another script to set up CI.
depfinder finds the dependencies of Slackware packages. The dependency list can be output to stdout, to a .dep text file without version information, or to a slack-required file with version information. depfinder is very fast; its speed is mainly due to the C++ code that is used in depfinder to find in which package each individual library is included. It also has support for running multiple jobs, which makes it a lot faster when used with multiple CPUs/cores. depfinder supports detecting dependencies of binary files compiled with languages such as C or C++ and it can also detect Python dependencies.
Simple Continuous Integration Tools (scit) is an automated build and or test system consisting of a set of Perl and expect scripts utilizing common tools that are available for most Unix-like operating systems. The intention is to keep it lightweight while still providing a full set of features. The current version has a command-line and an HTML user interface. It should be possible to make it run on very modest hardware; part of the development and testing has been done on a Nokia N900 phone with both master and slave roles running on the same unit.
Yruba provides a rule system similar to make or ant for the shell (bash). It provides a clear separation between a list of dependencies that must be up-to-date before the current task can be performed, an explicit test that checks whether the target is really out-of-date, and a command that finally makes the target. Everything is plain bash syntax, so there is no new command language to learn.
pkgmake automates some steps when making software releases. It creates a copy of the development tree, optionally cleans it up a bit (i.e. removes CVS/* and .svn/*), tars it, places the tarball in the SOURCES/ directory, creates the corresponding .spec file from a provided template (and the data specified in the configuration/on the command line), and runs rpmbuild and/or debbuild as well as spec2arch. As a result, you will have packages for Debian and RPM based distributions as well as the PKGBUILD file for ArchLinux. Using relman as the recommended frontend to pkgmake, new software releases are as easy as calling relman with two parameters: the project name plus the release version - and all packages are made and distributed.
Build Gear is a lightweight build tool for building embedded firmware. Its primary focus is to make it easy to create and maintain fully-customized embedded firmware. This is reflected in a straightforward commandline interface and support for easy-to-understand build files. The secondary focus is build performance and build integrity. Build Gear is easy to use and well-suited for rapid prototyping and product development of GNU/Linux firmware to be deployed in small-to-medium-sized embedded systems.
The Mknew Project is an investigation of how to build simple Unix shell scripts to manage common development and administrative tasks. The emphasis is on using languages and tools that already exist and are in common use. A related emphasis is on exploring the functional programming nature of the bash shell. This is accomplished by using the bash function capability, and using the bash "$(" ")"syntax to delay function execution in bash scripts. This allows building scripts that have a LISP-like function syntax that permits shell scripts to be written as a series of function calls with minimal syntax. The goal is to provide a way to specify make procedures of heterogeneous components in a bash script. These can include diverse source code languages, documentation text, test procedures, and data. In addition to the mknew function library (mklib), these "make" procedures rely only on capabilities provided by the bash shell, and common Unix command line utilities.