New Perl utility enables cross-distro package search across Linux and BSD ecosystems
The open-source utility, authored by Philipp Wesche and hosted on GitHub, returns fixed-width output for easy parsing and aims to streamline software discovery for maintainers and users alike.
A new command-line utility named whohas has been released to facilitate cross-distribution and cross-repository package searching across the Linux and BSD communities. Written in Perl by Philipp Wesche, the tool is designed to allow users and maintainers to query package lists from multiple distributions simultaneously, including Arch, Debian, Fedora, Gentoo, Mageia, Mandriva, openSUSE, Slackware, Source Mage, Ubuntu, FreeBSD, NetBSD, OpenBSD, Fink, MacPorts, and Cygwin.
The primary function of the utility is to retrieve package definitions, versions, dates, repository names, and URLs for further details. Originally designed to assist package maintainers in locating ebuilds, pkgbuilds, and similar package definitions across different distributions to aid in learning and maintenance, the tool also serves general users seeking to identify where a specific software package is available. The repository is hosted on GitHub under the name whohas/whohas.
To ensure the data is easily parseable by command-line tools such as cut, the output format utilises fixed column widths. The first bytes of the data fields correspond to specific lengths for the distribution name, package name, version, date, and repository name respectively. Wesche recommends using a terminal that supports hyperlinks to view package details directly in a browser, allowing users to click through to more information about the software.
Future updates to the utility are planned to include package size information in the output. The author has encouraged distributors to provide web query interfaces to package lists that specifically include package name, version, date, size, and a URL to further information such as maintainer and build details. This enhancement aims to address current gaps in the data provided by various repositories.
Specific limitations have been noted regarding the current version of the tool. Queries for Slackware are restricted to the Current repository only. Additionally, while all details provided are for the x86 architecture, the availability of x86 details for Debian and Gentoo cannot be fully assured at this time. Users are advised to consult the URLs provided in the output for the most accurate and up-to-date information.
Related open-source services mentioned in the context of this release include Repology, an open-source service for tracking versions in distributions, and pkgs.org, a service for searching Linux and BSD package repositories. The namecheck tool from Debian devscripts is also noted as a utility for checking where package names are used.
The whohas utility represents a practical addition to the toolkit for system administrators and developers navigating the complex landscape of open-source software. By aggregating data from numerous repositories into a single, parseable stream, the tool reduces the friction involved in cross-platform software discovery.
