|
whohas 0.13Descriptionwhohas is a command line tool that allows querying several package lists at once - currently supported are Arch, Debian, Fedora, Gentoo, Slackware, Source Mage, FreeBSD, NetBSD and OpenBSD. whohas is written in Perl and was designed to help package maintainers find ebuilds, pkgbuilds and similar package definitions from other distributions to learn from. However, it can also be used by normal users who want to know:
TutorialIt is suggested you use Unix command line tools to enhance your search results. whohas is optimised for fast execution. This is done by threading, and the order of results cannot be guaranteed. To nonetheless get a standardised output, alphabetically sorted by distribution, use the sort tool: whohas gimp | sort You can use grep to improve your search results. Depending on whether you want only packages whose names begin with your search term, end with your search term, or exactly match, you would use a space before, after or on both sides of your search term, respectively: whohas gimp | sort | grep " gimp" whohas vim | sort | grep "vim " whohas gimp | sort | grep " gimp " The spaces will ensure that only results for the package gimp are displayed, not for gimp-print etc. If you want results for a particular distribution only, do whohas arch | grep "^Arch" Output for each module will still be ordered, so you don't need to sort results in this case, although you may wish to do so for some distributions. Distribution names are abbreviated as "Arch", "Debian", "Fedora", "Gentoo", "Slackware", "SMGL" (Source Mage Linux) and FreeBSD, NetBSD and OpenBSD. Output in version 0.1 looked like this. The first column is the name of the distribution, the second the name of the package, the third the version number, then the date, repository name and a url linking to more information about the package. Future versions will have package size information, too. Column lengths are fixed, so you can use cut: whohas vim | grep " vim " | cut -b 36-45 The first bytes of the data fields at the time of writing are 11, 37, 48, 53, 64 and 76. Here is an example of whohas 0.1 in a terminal session, showing how it works with grep and cut. Features and limitationsDebian refers to the binary distribution. Slackware queries Current only. Binary sizes for Fedora are package sizes - space needed on disk will be greater by about factor 2. Binary sizes for Debian are unpacked sizes. All details (including availability, version numbers and binary sizes) are for the x86 architecture. Debian version numbers in rare cases may not be for x86 (will be fixed). Gentoo version availability may not be for x86 (will be fixed). I recommend you consult the URLs provided in the output, which give detailed and accurate information about each package. You may want to use a terminal that recognises hyperlinks and allows easy access through the browser, such as gnome-terminal. For Fedora, only release 4 is enabled by default, and only the most up to date package will be listed if different versions are available. AppealI would like to encourage distributors at this time to provide web query interfaces to package lists, and specifically provide the following information: package name, version, date, size and a url to further information (maintainer, build information etc.) ChangelogDependencies
Currently, the local repositories created in the user's home directory take up 900K. DownloadBug reportsRoadmap0.15: Fix Fink module, fix Fedora sizes, e.g. HelixPlayer, make Debian and Gentoo i386-specific, give Debian on-disk sizes, reliable Debian version numbers for i386, give Gentoo package status in repo column, put each subroutine in a separate .pm in ~/.whohas/plugins/, then "ls" for the plugins and load them that way, find the first subroutine in each plugin and launch it as a thread. not yet assigned to any specific release:
AcknowledgementsThanks to Andrew "ruskie" Levstik for suggesting the Source Mage module and providing a small package list file on their server for whohas to parse. Thanks to Ladislav Bodnar of Distrowatch for advice on version checking, and his list of seminal Linux packages and stable version numbers. Historywhohas started life as whichdistro.pl, but its author preferred the shorter, hopefully more memorable name which is more conducive to word play.
updated 8 August 2005
|
|||