Re: multiple database support with dbconfig-common : metapackages ?
On 28/09/2009 23:05, Boyd Stephen Smith Jr. wrote:
On Monday 28 September 2009 15:09:15 Jérémy Lal wrote:
Instead of depending on :
sqlite3 | postgresql-client | mysql-client,
libdbd-sqlite3-ruby | libdbd-pg-ruby | libdbd-mysql-ruby
as bugzilla, drupal, and others do, which i think is
confusing the user; is it desirable to do as roundcube package, i.e.
providing three metapackages ? Each package providing the correct
dependencies for each db type.
Then it would give :
redmine depends on redmine-mysql | redmine-pgsql | redmine-sqlite
As a user, I think you are on the right track here. The first set of
dependencies would be "satisfied" by sqlite3 and libdbd-pg-ruby, which might
leave redmine installed but completely non-functional. AFAIK, there's no way
to express (pkg1& pkg2) | (pkg3& pkg4) without the intervening meta-
The only other way i found to not end up with a non-functional package was
to put the three libdbd packages as dependencies, which is not very good
However, I am a bit surprised that you need to depend on both libdbd-pg-ruby
and postgresql-client. Shouldn't libpq5 (desciprion: PostgrSQL client
libraries), brought in as a dependency of libdbd-pg-ruby be enough of a
client? postgresql-client is only the front-end binaries.
I wasn't clear. The package uses dbconfig-common to create database, and dbconfig
uses one of those db client packages (sqlite3 | postgresql-client | mysql-client)
at config time. The runtime only uses libdbd-(pg|mysql|sqlite3)-ruby.