All entries for Saturday 10 March 2007

March 10, 2007

Package search developments

Over the last few months I’ve been providing a page for searching openSUSE packages . This has proven quite useful. However, there are two major problems:

  • It would be nice if Novell/SUSE would be able to provide the hardware/hosting for package search facilities. This has been a problem because Novell/SUSE cannot host a search which indexes repositories containing packages with legal issues, such as the Packman and Guru repositories.
  • It would be nice if the package search facilities could be used to enrich client applications as well as having a web page where users can search for packages. Especially when there are performance and practical issues with encouraging users to add hundreds of repositories to their package manager. (Close to 300 repositories for openSUSE 10.2 now).

To solve these problems I came up with a design whereby search facilities for repositories can be provided by multiple groups, and the search facilities can be easily used within client software.

So now I have 3 components I am working on (functional already):

  • An indexer which dumps data from rpm-md repositories into a database for easy querying.
  • RESTful web service exposing package search resource.
  • Example client implementations. (Web frontend, YaST module, Command line, IRC)

There are some design notes including the web service request format and xml schemas at: http://en.opensuse.org/PKGSearch-design

The source for these components is online if anyone is interested, I’ve not set up an svn repo yet.

Obligatory screenshots of web service clients:

Querying the web service

Web frontend

YaST frontend Qt
YaST frontend ncurses

IRC bot utilising web service

Command line client

It would be interesting to hear any ideas for functionalities the web service could expose, and innovative use cases for the facility on the client side. At present only the following are implemented:

  • Search by name and/or contents.
  • Retrieval of package file list (package checksum is external-id).
  • Retrieval of package summary and description.

Some I’ve thought of adding:

  • Search within descriptions
  • Querying of package statistics (number of packages for specified architecture, etc)
  • Utilising search statistics for ranking results & allow search by popularity, perhaps connect to build service ratings.

March 2007

Mo Tu We Th Fr Sa Su
Feb |  Today  | Apr
         1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31   

Search this blog

Tags

Galleries

Most recent comments

  • Hey skx, how do you do that ? I run into the fu….. problem, that curl terminate with unspec. error… by David on this entry
  • With some minor changes this will also work for updating from 11.0 to 11.1. by skx on this entry
  • You are the man!!! Great work and good documentation! It worked without any problem for me. Thanks a… by Vany on this entry
  • didn't work for me. In fact killed the system. Have to download 11.0 and burn to dvd to fix it. by maybe windows on this entry
  • Will this method work for 11 => 11.1 ? by Erik Jakobsen on this entry

Blog archive

Loading…
Not signed in
Sign in

Powered by BlogBuilder
© MMXX