[repoman] first db and tool syntax work
Paul Mattal
paul at mattal.com
Sat Jul 7 23:14:57 EDT 2007
So here's a first shot at the DB model:
https://subzero.elys.com/svn/repoman/trunk/repoman/repos/models.py
And here's my first thoughts on what the syntax of the tool would look like.
https://subzero.elys.com/svn/repoman/trunk/doc/REPOMAN.txt
Of these, the second seems more tentative to me right now. There could
be a neater way to do this. I was thinking about if we should make the
commandline options as pacman-like as possible or not. I have spec'd
this out doing more word operation options, like you encounter in SCMs
commandline tools.
Happy to hear thoughts on these!
Some things I thought about in process:
1) The repoman CLI can act as upload client and as management client. It
would be nice to just have the client authenticate and talk to the DB
directly for making updates. I think most DBs like postgres and mysql
offer a way to do encrypted connections directly to them, and hopefully
these mechanisms of connection are supported through the Django and
Python DB abstraction layers.
2) The commit step gets separated from the upload step so you can do a
bunch of work and then upload all the new packages at once via the most
efficient transport. Thanks to package signatures, when you choose to
put the same binary package into another repo, the server can tell it
already has that package and doesn't require you to re-upload it!
3) There needs to be a custom server component of some sort anyway in
order to handle updating the binary repositories themselves on disk and
rebuilding the db files. So more than ever, I'm resolved to write that
server component properly with SSL connection to the client and have it
handle the file transfer step, too. I'll probably start with the
codebase from the AUR tupkgs server.
4) Repos can depend on other repos. This means that it can only have
dependencies in the same repo or in repos in its dependency tree. So
extra depends on current, and this keeps you from putting packages into
current that depend on packages in extra.
- P
More information about the repoman
mailing list