A few years ago I wrote a tool called webpin that allowed people to search for openSUSE packages across all openSUSE repositories, both by package names and their contents.
This was useful for finding where a package for a particular file was located. openSUSE had an awful lot of separate package repositories (There are now over 3,000 for 12.2).
It’s now back, and better, at http://webpinstant.com/
I have now re-written this tool. It’s now much faster at both searching and indexing, meaning it can index a lot more and hopefully provide better results.
Sample Searches:
(Brings back konversation and quassel).
(brings back bzip2 on debian)
Multiple Distributions
I have also added support for other distributions including Fedora, Debian, and Ubuntu. In fact any distribution that uses repo-md or debian style repositories can be easily added to the index.
So far it has an index of repositories for:
- openSUSE 12.1
- openSUSE 12.2
- Fedora 17
- Ubuntu Quantal
- Debian Squeeze
Let me know suggestions of more distributions you’d like to see indexed. RHEL, CENTOS, and SLES seem like obvious candidates.
Ubuntu Limitations
openSUSE build service repositories are detected automatically. I’d like to do the same for Ubuntu PPAs but haven’t yet worked out how to obtain a list of PPAs programmatically. If you have a suggestion please let me know. In the meantime please do suggest any important PPAs that it would be useful to index.
I also can’t find the Contents.gz files in Ubuntu PPAs that are available in other Debian repositories. These provide a lot more metadata for searching. Am I just failing to look well enough or are they missing from PPAs?
Search/Ranking
Some of the things indexed include:
- Package Names
- Summaries
- Descriptions
- RPM provides
- Files within packages
Basically anything found in Primary.xml/FileLists.xml in repo-md repositories and anything found in the Packages and Contents lists in Debian repositories.
I have also put a lot of work into improving the search ranking based on cases that the original webpin performed poorly on. I suspect there will still be lots of things that are not found or not ranked highly. If you can’t find what you’re looking for with webpin then please let me know what your search terms were and if possible what you expected to appear as a result.
API and Command line app
I have added support for the old API that the command line webpin app by Pascal Bleser wrote.
You can try it out if you like. To update the tool to use the new webpin on openSUSE 12.2 you need to edit a couple of files. First add the following to distVersionMap in /usr/lib/python2.7/site-packages/webpin/const.py
'12.2': 'openSUSE_122', |
Then change the server line in the same file as follows
server = 'webpinstant.com' |
Future Features
Things I’d like to add other than more distros / repositories include:
* One Click Install support. Adding install links to the search results. This is something that the old webpin had.
* A better API desktop/command line clients
Feedback
Please do let me know bug reports / feature requests. In particular I’m interested in
- What distributions should I index
- What repositories should I index?
- What searches result in badly ranked results
- What future features should I prioritise?
Please let me know using email webpin at benjiweber.co.uk or find me on freenode (benjiman). or @benjiweber on twitter.