[repoman] conversation starter

Paul Mattal paul at mattal.com
Sat Jun 30 13:07:39 EDT 2007


So things have gotten off to a slow start, but they're speeding up.

Have a look at the very first iteration of the repoman homepage:

   http://repoman.mattal.com

I think I'd also like to ask Aaron and/or the others to make a host 
"repoman.archlinux.org" which points to 66.228.85.83. That will be a 
better formal name for our home. Any contributions to the web page 
effort and making ourselves a more legitimate project are welcome!

For now, I want to start a discussion about the actual project. Remember 
to consider the goals as listed on the repoman homepage.

One thing I've been thinking about is whether our system can be entirely 
SCM agnostic, or at least designed in a way so that others could be used.

My idea was that in essence a repository can be completely specified as 
a set of (pkgname, PKGBUILD-dir, revision) triplets where no two package 
names are the same within a single repository. If you define some "UPL" 
or Uniform Package Locator comprised of essentially a name + SCM URL + 
revision, and you allow UPLs to support many different kinds of SCMs, 
you can end up expressing a repository as simply as:

mypackage:svn://foo.bar.baz/mypackage:23785
anotherpackage:cvs://arf.bar.boo/some/directory/anotherpackage:1.1.3
package:hg://some.other.site/one/other/package:<revisionid>
yapkg:git://...

The nice part is that this also alleviates the need for any sort of flag 
in SCM to tell you that a package is "current" or "testing" or whatever. 
The place where such a "tag" really belongs is in the specification for 
the repository, not the package.

What do people think about this?

You can then build a repository from just such a list, or export it to 
such a list. It's tempting to point to a higher level directory and get 
a whole bunch of packages.. but then remember you can't have a separate 
*version* specified for each package.

Of course, you would have devtools and such to do the hard work for you. 
This is just how we would be thinking about things behind the scenes.

- P



More information about the repoman mailing list