Announcing Fedora Tracker -- comments?

seth vidal skvidal at phy.duke.edu
Thu Mar 25 02:47:52 UTC 2004


On Wed, 2004-03-24 at 18:12 -0500, Brad Smith wrote:

> All, 
> 
> About six months ago, as the result of a conversation on IRC, I began
> playing with the idea of a "tracker" for Fedora: Something to tie
> together the many apt and yum repositories out there into a single,
> simple to use framework. 

That's cool,

Hi Brad,
 I took a look through your code, you should hop over to the
rpm-python-list:
https://lists.dulug.duke.edu/mailman/listinfo/rpm-python-list

There are some problems in the code you put together wrt dealing with
the package information but nothing that's not fixable.

However, I think looking at the code in the createrepo scripts for the
new xml metadata would help out a bit. B/c I did a lot of the same stuff
in there.



> None of the answers to this question that I'd come across were really
> satisfactory. They either required me to already have a comprehensive
> list of third-party repositories (synaptic) or were too general (google,
> rpmfind, etc). So, partly to scratch this itch and partly to teach
> myself Python, I started work on a tool for easily indexing and
> searching Fedora repositories. 
> The url is:
> 
> http://academy.phpwebhosting.com/cgi-bin/tracker/tracker.py

> The app basically consists of two components: The web-based frontend
> allows users to search indexed repositories and submit repos for
> indexing. Another tool called tracker-process.py runs as a cron job and
> pulls down the headers for each queued repo, storing that info in the
> database. 
> 

> - Support for repo-side configuration. I would implement this by having
> tracker-process.py look for a "tracker.conf" file in the headers or base
> directory of a repo. By modifying this file, the administrator of a repo
> could specify a list of mirrors for the repository, alter the repository
> description, indicate when the repo should be re-indexed, etc. 

> - Support for updating a repository that has been indexed (see above)
> 
> - Support for storing a list of mirrors for a repository (see above)
> 
> - Support for the proposed common XML-based metadata format
> (http://linux.duke.edu/projects/metadata/readme.metadata)

This might be a good place to start to make 


> - Ability to display dependencies (for the life of me I cannot figure
> out how to interpret the dependency data in the rpm headers). Any
> reference to documentation would be appreciated.

rpm-python-list is a good place to go - but also the xml-metadata has
that information stored in the primary.xml.gz file - you could just
steal the code that extracts that information and shove it into a db
instead of into the xml. Or read it from the xml and dump it into a db -
probably much easier and faster!


> - Improvements to the user interface. For example, currently if a search
> yields multiple versions of the same package they are all listed. When I
> have some time I'm going to change this so that packages with multiple
> versions/architectures are displayed under one package name and only
> expanded when the package is selected.

You should use the package ID (and md5sum or sha1sum) to unique the
packages that are dupes. Again - you can look at the primary.xml.gz to
do this too.

> - Comment things more thoroughly and convert existing comments to pydoc
> or similar 

just use docstrings in your function defs:

def function():
    """this is my docstring, there are many others like it but this one 
       is mine"""


then you can do pydoc ./myfile

and it will print out the docstring :)

Maybe jumping on over to a quieter list like rpm-python-list would be an
easier discussion forum but I think this could do some very neat things
for generating mirror lists for people

or autogenerating yum.conf or up2date sources files.


-sv






More information about the fedora-devel-list mailing list