the

     A-A-P logo     

project


 

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 a-a-p.org.
    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):
Fink
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.
RPM
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:
gnorpm
Gnome app for handling RPM packages. Used by RedHat. Looks nice.
krpm
KDE app for handling RPM packages. Still unstable. Also see kpackage.
xrpm
Python/Tk app for handling RPM packages. A bit simplistic.
rpmfind
RPM finder. Appears to be useful, it search for packages on the Internet and checks dependencies.
grab
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.
rpmsearch
RPM finder. Requires Perl and Oracle. Not in production, use rpmfind.
rust
RPM creation with sandbox. Both GUI and command-line versions.
The sandbox idea is worth looking into for A-A-P.
Yup
Yellowdog Update Program. Designed to be similar in function to apt-get. Uses RPM files. Also on sourceforge.
rpm-pkgbuild
RPM package builder; GUI for creating and testing spec files. Development appears to have stopped Jan 2001.
rpmproc
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.
harvester
Python script to search for newer RPM files. By Eric S. Raymond.
swup
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.
APT-RPM
Port of Debian APT for using RPM files instead of dpkg. By Connectiva.
Synaptic
GUI frontend for APT. Easy to use. By Connectiva.
kpackage
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.
gnupdate
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.
DarwinPorts
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.
openPKG
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.
Alien
Package converter, converts between the rpm, dpkg, stampede slp, and slackware tgz file formats. Perl script. Still in an experimental stage.
vainstall
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.
chimpinstall
Creates and edits Microsoft Installer (msi) files.
relink
Package management system. Uses Perl. Unix only.
Meta packager - mpkg
Generate different types of packages from one description file.
MPKG
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.
slaktool
Slackware package management tools. Better than pkgadd. Unix shell script, not portable. Still very new, not widely used.
pkgadd
Slackware package system. Does not handle dependencies, not as useful as RPM. Solaris has a similar program.
sf-upload
Sourceforge release system. Written in Perl.
CheckInstall
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.
stow
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.
Related:
stowES
Perl script which tries to easy the use of Stow.
Not interesting for A-A-P.
graft
Manage multiple packages. Inspired by Stow and Depot.
Not interesting for A-A-P.
sfsetup
Sourceforge installer for Win32. Sets up SSH and CVS.
Not interesting for A-A-P.
python-apt
Python binding for Debian apt-get. Still very new.
sourcer
Install a package using sources.
Could be interesting. Not very advanced though.
buildpkg
Generate a package in several formats from a template. Shell script.
spoon installer
Creates install .exe. Easy to use, with compression.
NSIS
Uses a script to create a small installable .exe file. Works well. This is used to create the installer for Vim.
coolsetup
Multiplatform installation system for MS-Windows and Linux. Can't find relevant info in English.
autoinstaller
Automatic install and uninstall. MS-DOS and Linux. Written in C and C++. Uses plugins.
 
  The A-A-P pages:
home
news
Zimbu award
documentation
     Recipe examples
     Aap manual
     Agide tutorial
     features
     presentations
download
     Aap version log
     Agide version log
     ported apps
     packages
maillists and chat
plan and tasks
     SourceForge pages
     Aap todo list
     Agide todo list
architecture
     use cases
     modules
     interfaces
     design decisions
tools overview
     script languages
     build tools
     Install tools
     issue tracking
     version control
     browse tools
     IDEs
     various tools



Zimbu!



KwMap.net - browse the Keyword Map of A-a-p.org
 
funded by:

NLnet
	 logo


Send comments on this page to Webmaster AT a-a-p.org.            Hosted by SourceForge Logo            Also known as www.Agide.org.