Software Construction and Management Tools
Table of Contents
-
Software Building
- Software Pre-building Configuration
- Software Packaging
- Source Control Managament Systems
- Bug Tracking
- Testing Frameworks
- Notice
Software Building
- GNU Make - the best make in town! An implementation of make with many enhancements and some parallelization. There's a drop-in replacement for it written in Perl called Makepp.
- Cook - a make replacement with variables, user-defined functions, parallelization, file checksums, and other powerful features.
- CONS - a make replacement written in Perl with file checksums and other features. SCons is a Python version, that has been more actively maintained recently.
- Ant - a make replacement written in Java that uses an XML description language.
Links to Lists, Comparisons and other Resources
- Google's Web Directory for Make Tools - contains other useful links.
- A-A-P Build Tools List - A very comprehensive list of build tools.
- The Wikipedia Entry for Make - contains a list of alternatives.
- A Google Spreasheet with a Comparison of various Alternatives
Software Pre-building Configuration
- GNU Autoconf, Automake, and Libtool: a trio of programs to portably build applications across multiple UNIX platforms. The de-facto standard in the open-source world.
- Imake - a portability tool that ships with X11.
- QEF - a high-level software construction system. Operates consistently across UNIX and Windows NT platforms. Proprietary.
- SCons can be used for writing such tests as well.
Software Packaging
- RPM - a package management system used on RedHat Linux and other RPM-based distributions. Also look at urpmi, up2date, apt-rpm, and Ximian Red Carpet, which install packages and resolve dependencies.
- dpkg - The Debian Package Manager, which is also used on similar distributions. Also look at Apt which automatically installs packages and resolves dependencies.
- Portage - The Gentoo Package Manager - a package management system for Gentoo Linux. Akin to the BSD ports but based on Python.
- OpenPKG - a cross-platform UNIX software packaging system.
Source Control Managament Systems
- CVS - the current standard of open-source source control systems. Functional and stable, but limited in many ways.
- Aegis - an SCM system by Peter Miller, with changesets, distributed repositories, file renames and other powerful features. Can be networked over HTTP.
- Subversion - a CVS replacement with atomic commits, networking over HTTP, efficient handling of binary file and other features.
- Arch - a distributed source control system with renames, networking over FTP and other features.
- OpenCM - a CVS replacement which is not as feature rich as CVS but supports some useful things that CVS lacks.
- Vesta - a distributed configuration management system, which depends on its own internal building process. Very mature and LGPLed.
- Dmoz.org's Category for Version Control Systems - contains links to many other implementations and resources. The Google Directory's equivalent directory may also prove helpful..
Bug Tracking
Note: Due to the large number of such systems, I decided to link only to very prominent open-source ones, and to directories where comprehensive lists can be found.
- Bugzilla - a WWW-based bug management system written as part of the Mozilla project with many advanced features.
- GNATS - The GNU Bug Tracking System, which uses Plaintext files to store its information and has several front-ends.
- GForge - The open-source derivative of the original VA SourceForge codebase contains a rudimentary bug-tracking system as part of the many web-based collaborative services it offers for developers.
- Mantis - An open-source PHP/MySQL web-based bug tracking system.
- Trac - a wiki and issue tracking system for software development projects. Written in Python and based on Subversion.
-
Request Tracker -
"RT is an enterprise-grade ticketing system which enables a group of people to intelligently and efficiently manage tasks, issues, and requests submitted by a community of users."
. Among else, it is used for tracking CPAN issues. - Google's Web Directory Bug Tracking Category - contains links to many other implementations.
- DMoz Bug Tracking - a perhaps more updated version of the same resource, with slower access times, and lack of Google's PageRank integration.















