A-A-P logo     



tools useful for A-A-P

The intention for A-A-P is to use existing tools as much as possible. To find out which tools can be used this overview has been compiled.
    Some tools cannot be used directly, but function as an example or can be invoked by A-A-P (e.g., commercial tools and programs which are not portable). Unless noted otherwise, tools are open-source.
    If you find a tool that would be useful for A-A-P but is not listed here, or when information is incorrect, send a message to Bram AT
    Note: this list is not intended to be complete. Information that is irrelevant for A-A-P is omitted.

Script languages       Build       Install       Issue Tracking       Version control       Browse       IDEs       Various

Installing and package management

Many systems already exist for installing and managing packages. A-A-P intents to support the existing systems. Additionally, a preference is given for future projects.

This is only about installing from compiled binaries. Before sources can be installed they need to be compiled, see Build for that. Included here are tools for deployment, e.g., to update a web site.

The preferred installer should have these properties:

  • Portable over many operating systems
  • Fit in with the "normal" way to install programs on each system
  • Handle updating to a new version
  • Handle keeping several versions of one program
  • Can update a remote system
  • Can be run both by the administrator and a user
  • Cache downloaded files for repeated installation
  • Clean up temporary files when done
Overview (more interesting first):
Looks like a very good example of how A-A-P could work (including format for recipes). Unfortunately, it's specific for Mac OS X.
Inspired by FreeBSD ports system. Based on Debian dpkg and apt-get. Written in Perl, doesn't depend on BSD Make. Suports both binary and source packages (thus you might call this a build tool as well). Supports upgrading.
This project is working together with DarwinPorts in Metapkg.
Package system used on many Linux systems. Only works on Unix, although MS-Windows ports do exist. Can contain binaries and sources. Can download the whole package, but doesn't do downloading of individual items. Maintains a database of installed packages and individual files.
It's widely used, thus A-A-P should support it. It does have limitations though. Perhaps the "embrace and extend" approuch can be used.
Related items:
Gnome app for handling RPM packages. Used by RedHat. Looks nice.
KDE app for handling RPM packages. Still unstable. Also see kpackage.
Python/Tk app for handling RPM packages. A bit simplistic.
RPM finder. Appears to be useful, it search for packages on the Internet and checks dependencies.
RPM installation tool used for searching, downloading, and dependancy resolution of RPM packages residing on FTP servers. GRAB will read a config file and cache a database of all the available RPMS on the net.
RPM finder. Requires Perl and Oracle. Not in production, use rpmfind.
RPM creation with sandbox. Both GUI and command-line versions.
The sandbox idea is worth looking into for A-A-P.
Yellowdog Update Program. Designed to be similar in function to apt-get. Uses RPM files. Also on sourceforge.
RPM package builder; GUI for creating and testing spec files. Development appears to have stopped Jan 2001.
RPM package builder with uploading. Sends an e-mail when making an update. Written in Perl.
The uploading part may be interesting for A-A-P.
Python script to search for newer RPM files. By Eric S. Raymond.
SoftWare UPdater, base on ideas from Debian apt. No web page...
Debian APT
Advanced Packaging Tool. Most people say it's better than RPM, and the attempts to make apt work with RPM files and ports to other systems confirms this. Downloads packages (but not individual files or patches). Handles dependencies. Supports upgrading. Uses a private database to keep track of which packages are installed.
A-A-P should be able to use APT on Debian systems. Otherwise, it contains good ideas. But it requires reading the manual to make it work.
Port of Debian APT for using RPM files instead of dpkg. By Connectiva.
GUI frontend for APT. Easy to use. By Connectiva.
KDE tool for installing, viewing and uninstalling packages. The formats supported include RPM, Debian, Slackware and BSD package manager.
For A-A-P it's interesting to see how they managed to support several package formats. Unfortunately it's not very portable.
Package management for Linux. Supports Debian and RPM packages, but uses its own database. Automatic updating of packages. Can update a local CVS. Converts package files to other formats. Not stable yet, the database format is being rewritten.
Looks interesting. Should provide ideas and perhaps some code for A-A-P.
Ports and packaging system for Darwin, Mac OS X. Providing a package system is not done yet. Based on TCL. Examples show that shell script is also used, which restricts the portability despite the use of TCL. Jordan Hubbard, the "father of BSD ports", is one of the developers.
Currently only works on Mac OS X 10.2 (Jaguar). A port to FreeBSD is under way. Very interesting for A-A-P, well thought out. Still under development.
This project is working together with Fink in Metapkg.
Open Packages
Ports and packaging system for Unix, replacement for FreeBSD ports system and similar *BSD systems. Interesting for A-A-P, has a few goals in common. Still under development. Did not make much progress since July 2001. In October 2002 decided to team up with DarwinPorts.
Packaging system for Unix, RPM based. Supports installing on multiple systems
Interesting for A-A-P, has a few goals in common.
nsbd - Not So Bad Distribution
Secure system for distribution. Uses signatures and restricts which files can be updated. Unix only. Written in Tcl/Tk and C.
The security features could be insteresting for A-A-P.
Package converter, converts between the rpm, dpkg, stampede slp, and slackware tgz file formats. Perl script. Still in an experimental stage.
Installer in Java. Looks nice and also supports console install. Runs on MS-Windows, Unix and any system that has Java 1.3. Basically gathers files into a package and unpacks them in various places on the destination system.
Creates and edits Microsoft Installer (msi) files.
Package management system. Uses Perl. Unix only.
Meta packager - mpkg
Generate different types of packages from one description file.
Appears to be different from Meta packager. Similar to the *BSD ports systems, but with more features. It was reported to be NetBSD's pkgsrc, ported to GNU make and changed to install each version of each application in its own directory. Therefore it cannot be used mixed with the native ports/package system. Does make it easy to uninstall a package. Does not appear to be actively developed or used.
Encap package manager - epkg
Packaging, supports running multiple versions of the same package. Uses symlinks to point from /usr/local to where the package was actually installed. Unix only. Uses Perl.
Slackware package management tools. Better than pkgadd. Unix shell script, not portable. Still very new, not widely used.
Slackware package system. Does not handle dependencies, not as useful as RPM. Solaris has a similar program.
Sourceforge release system. Written in Perl.
Keeps track of files installed by a "make install". Generates a package (RPM, Slackware, Debian) from this and adds it to the installed pacakage database.
Can perhaps be used for ideas.
GNU package program. Implemented in Perl. Uses symbolic links to keep installed files in one place (thus Unix only).
Not interesting for A-A-P.
Perl script which tries to easy the use of Stow.
Not interesting for A-A-P.
Manage multiple packages. Inspired by Stow and Depot.
Not interesting for A-A-P.
Sourceforge installer for Win32. Sets up SSH and CVS.
Not interesting for A-A-P.
Python binding for Debian apt-get. Still very new.
Install a package using sources.
Could be interesting. Not very advanced though.
Generate a package in several formats from a template. Shell script.
spoon installer
Creates install .exe. Easy to use, with compression.
Uses a script to create a small installable .exe file. Works well. This is used to create the installer for Vim.
Multiplatform installation system for MS-Windows and Linux. Can't find relevant info in English.
Automatic install and uninstall. MS-DOS and Linux. Written in C and C++. Uses plugins.
  The A-A-P pages:
Zimbu award
     Recipe examples
     Aap manual
     Agide tutorial
     Aap version log
     Agide version log
     ported apps
maillists and chat
plan and tasks
     SourceForge pages
     Aap todo list
     Agide todo list
     use cases
     design decisions
tools overview
     script languages
     build tools
     Install tools
     issue tracking
     version control
     browse tools
     various tools

Zimbu! - browse the Keyword Map of
funded by:


Send comments on this page to Webmaster AT            Hosted by SourceForge Logo            Also known as