[odb-users] ETA for ODB 2.5.0 (RC or release) packages

Boris Kolpackov boris at codesynthesis.com
Tue Nov 5 09:28:56 EST 2019

Sean Clarke <sean.clarke at sec-consulting.co.uk> writes:

>     is there a timeline for when we can expect some official distro
> packages for ODB 2.5.0?

Uh, I don't think anyone can predict when (or even if) the next release
of ODB (once released) will appear in official distribution package
repositories -- this is done by volunteers and depends on each
distribution's policies/priorities/etc.

As an example, there was bug 1588330[1] in an Ubuntu LTS release
where libodb and the rest of the database runtime libraries were
compiled with different versions of GCC which happened to have
different ABIs (so the fix was to just rebuild all the ODB packages
with the same version of GCC). Guess how long it took to fix? Almost
a year (reported on 2016-06-02, fixed on 2017-02-09).

And during that time there would be an email on odb-users every
week or two complaining about the issue. And I had to keep replying,
and explaining, and telling people there is nothing I can do until
Ubuntu decides this problem is worthy of their attention.

So we started build2 where everything builds exactly the same no
matter the platform (even on Windows) and where we actually have
the ability to fix things when they break.

I am not denying that using build2 is probably less convenient than
using your distribution's package manager, at least initially. But
it's a tradeoff: in return we can fix issues and make them available
to you in a matter of minutes.

> [...] - it seems to have been in development and beta for
> a very long time.

The ODB itself is fairly mature and at this stage of the 2.5.0 cycle
we mostly fix bugs. So the code itself could be released tomorrow,
except that the build system support is not finished yet. Specifically,
we need to finish two major things:

1. Implement the ODB code generation module for build2.

2. With that support, port odb-tests packages to build2.

The good news is in the upcoming release of build2 we have support
for build system modules so we can make progress on (1).

> I have previously battled with build2 and it produced some
> working output, however these could not be readily used on a
> vanilla Debian Buster or Ubuntu platform as build2 pulled in its
> dependencies at different revisions from the distro platforms.

I would be happy to help you with this if you can provide more
details. In particular, you can instruct build2 to use system-
installed libraries for any of the dependencies. The installation
instructions[2] mention this explicitly:

"Note that by default the underlying database libraries (libsqlite3,
libmysqlclient, and libpq) will be built from source packages. If you would
prefer to use the system-installed versions, adjust the corresponding build
commands as follows:"

$ bpkg build libodb-sqlite ?sys:libsqlite3
$ bpkg build libodb-pgsql  ?sys:libpq
$ bpkg build libodb-mysql  ?sys:libmysqlclient

[1] https://bugs.launchpad.net/ubuntu/+source/libodb/+bug/1588330
[2] https://codesynthesis.com/products/odb/doc/install-build2.xhtml

More information about the odb-users mailing list