Bug#702280: Add alternative (build-)dependency: libmariadbclient-dev

Axel Beckert abe at debian.org
Tue Apr 1 13:27:52 UTC 2014


Hi,

Otto Kekäläinen wrote:
> 2014-04-01 15:14 GMT+03:00 gregor herrmann <gregoa at debian.org>:
> > I might be missing something, but this still seems impossible. In
> > order to build both flavours, we'd need to build-depend on both
> > libmariadbclient-dev and libmysqlclient-dev, but libmariadbclient-dev
> > still seems to have a "Breaks: libmysqlclient-dev" which makes the
> > two packages not co-installable.
> 
> Yes, your right, it isn't possible.

... which is IMHO a pity. But I understand that's it's everything but
trivial, so no offense meant.

> Actually what would be needed is
> to have two separate source packages which are almost identical,
> except for the client library soname. Would you by any chance feel
> like you would like to maintain an extra libdbd-mariadb-perl package?

Not really.

What we (well, I out of curiosity) did, was to upload the same package
again, just being built against mariadb, to Debian experimental. See

  http://packages.qa.debian.org/libd/libdbd-mysql-perl.html

I just didn't find the time to do that again for the current version.

> Both packages should probably co-exist for a long time. They should
> probably break/replace each other. The filenames are the same inside
> the -perl package, so they cannot be co-installable. The libs
> libmysqlclient18 and libmariadbclient18 are co-installable, as the
> filenames are different, but at the moment the equivalent -dev
> packages conflict, as those share same paths and filenames. This is
> actually getting more and more complex as I think about it. Anyway,
> MariaDB is now in Debian side-by-side with MySQL. Feel free to design
> a way to use it, you might have a better take on this challenge than
> what I do, at least for the moment.

I disklike the idea of alternative build-dependencies as the outcome
may be unpredictable. (It will usually take the first one, but that's
IIRC not guaranteed.)

I think the following is more or less impossible, but it would be cool
if we could upload two different versions of the source package into
the same archive, one with each build-dependency, and the user (or
package manager) could choose either version.

Maintaining two different source packages would mean to have the same
upstream tar-ball in the archive twice, which is not nice.

Another idea, which comes to my mind, but surely ignores tons of
policy sections: What would happen if we place an "apt-get purge
libmysqlclient-dev" and "apt-get install libmariadbclient-dev" inside
the build target of debian/rules and then build the second package
against libmariadbclient? Would that work? (And again, yes, I know it
would be a policy violatiuon and sacrilege to upload such a package,
but I still think it's an interesting mind experiment and I may try it
in a pbuilder environment once or so. :-)

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



More information about the pkg-perl-maintainers mailing list