[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Announcing Fedora Tracker -- comments?

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

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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]