On 2/26/07, Travis Willard <travisw@wmpub.ca> wrote:
No need to make them run a script - the difference in DB format is obvious enough for pacman3, on first run, to detect the 'old' format based on the db structure, output a message like
==> pacman has detected an older version of the database, and must update it. This will happen only once, please wait...
and do the conversion automatically on first run.
Yeah, but that adds complexity in the fact that pacman must have code to read the old format, and the new... and how long do we maintain this format? It'd have to be there until all repos switch the format (and they'd have to be converted each -Sy operation until then) AND a new iso with pacman3 is created. It's totally doable, but, like I said, it needs to be thought out in advance. brain0 brought up a configurable backend at one point. i.e. pacman.conf:DbBackend = files I would actually prefer some sort of method like this if we go through and actually change the DB. It'd be rather simple to do something like "echo files >> /var/lib/pacman/local/.dbformat" and simply maintain read/write routines for each backend (be_files.c already has a setup very close to what would be needed, though adding more than one into the library would require some extra code). This way, we could do something like this: read config, see "backend = sqlite", check .dbformat, see "files", do a conversion. If no .dbformat is specified, assume "files"... etc etc Rather straightforward, and it allows the end user a choice as to what DB format they use... The REAL question here is, should the pacman 3.0 release be delayed for something like this, or should we hold of until 3.1?