Date: Wed, 10 Mar 1999 19:55:22 -0500 (EST) From: Jonathan Rosenbaum <mttrader@access.mountain.net> To: debian-devel@lists.debian.org Subject: Announcing swim - a new Debian package manager ------------------------------------------------------- Download at http://the.netpedia.net/the-download.html or use apt by entering this line into the sources.list: deb http://the.netpedia.net/swim unstable main Please read QUICKSTART. ------------------------------------------------------- swim is a command line package manager with powerful features. The command line syntax, look and feel is borrowed from the RPM package manager, but swim is a very different beast. The best way to explain this is to describe how it works. swim produces binary databases for an installed Debian system using the status database as well as information found in /var/lib/dpkg/info. These databases can later be updated by comparing the changes in the status database to information stored in the binary databases along with backups made of the *list files found in info/. swim also produces binary databases for a not-installed Debian system using the Packages and the Contents databases available at Debian archive sites. It is this aspect of swim which makes it so unusual. People who are familiar with RPM know that they can go up to a file and find out what package it belongs to like this 'rpm -qf filename'. But with swim you can go up to a file and do this 'swim -qf filename' or this swim -qfn filename', the '-n' allows you do find out which package this file would belong to in a future installation! Just as intriguing, swim will show all packages which exist below a directory, so if you 'cd' over to "/usr/lib/perl5" and do 'swim -qfn .' you would get a listing of all the packages that could potentially exist under this directory. Obviously, not all these packages could actually exist together, but you can find out all the package relationships by entering 'swim -qfnT .'. Binary databases mean that this program swims circles around the traditional dpkg '-S' option. Two major search modes are presently available, a search of all descriptions which can also be section (group) specific, or a search of all descriptions and files/directories. The results of both searches can be narrowed down, as well as provided as an argument to a query like this - 'swim -qSi'. The speed of the search can be increased even more with a ramdisk option. swim can feed the results of a search or query to apt-get to allow a simulated or actual package installation; there is an option called '--stdin' which allows the results to be manipulated using a simple shell with ReadLine capabilities before being submitted to apt. On the other hand, maybe you just want to download the source package, this can be accomplished with the '--ftp --source_only' options using information from the databases created for the not-installed system. Downloaded packages' MD5 checksum are verified (if applicable) and are placed in directories mirroring where they came from. As you can see, swim is as much a research tool, as it is a package manager, this also makes it a valuable tool for people who do not have Debian installed. Because it is written in Perl and can use 'ar' instead of 'dpkg' it is quite portable. Right now, one of the major development focuses is to implement tools allowing people and organizations to easily create customized distributions out of the gigantic Debian archives. I would like to go into greater detail, but then this letter would become way too long, you can find out more by reading the documentation in the swim package or at http://the.netpedia.net/the-documentation.html. Jonathan Rosenbaum <mttrader@access.mountain.net> -- To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org