← Back to team overview

dolfin team mailing list archive

Re: Thoughts on release

 

On Mon, Jun 27, 2011 at 12:38 PM, Anders Logg <logg@xxxxxxxxx> wrote:
> I don't know when the Debian import freeze is, so it may have
> implications on the choice we need to make.

It is June 30th, however, it is unproblematic to wait until
FeatureFreeze at August 11th. It might even be possible to wait for
the FinalFreeze in late September in order to get the packages into
the next Ubuntu (see [1] for more info on the Ubuntu release
schedule).

> Another thing to discuss is what should happen after 1.0.0. I think it
> would be good to be much more conservative with interface changes than
> what we have been. With the latest change to VariationalProblem, I
> think we have converged pretty well so I don't foresee any big changes
> will be needed.
>
> This also relates to the policy in Debian for binary compatibility
> with shared libraries which may prevent any big changes to the
> interface.

I don't think it prevents any changes, but it is expected that the
SONAME is bumped on API or ABI changes in a shared library. This is
nothing special for Debian, but more a general expectation in the *nix
world [2]. However, in Debian, the package name which includes a
shared library should depend on the SONAME of that library. In DOLFIN
we currently have "libdolfin.so.${DOLFIN_VERSION_MAJOR}" as SONAME, so
the package name in Debian is thus "libdolfin0". When we move to
DOLFIN_VERSION_MAJOR=1, the Debian Policy requires me to change the
package name to "libdolfin1", that is, if we keep the current SONAME.
However, this is not a good solution since there will be lots of
changes (I guess!) in the interface between 1.0.0 and 2.0.0. A better
option is probably to go for
"libdolfin.so.${DOLFIN_VERSION_MAJOR}.${DOLFIN_VERSION_MINOR}" as the
SONAME. The package in Debian will then become "libdolfin1.0" for
DOLFIN 1.0.0. With this SONAME, we should make sure that at least
DOLFIN_VERSION_MINOR is bumped on interface changes in the shared
library. For other changes, it should be enough to change
DOLFIN_VERSION_MICRO. How does that sound?

[1] https://wiki.ubuntu.com/OneiricReleaseSchedule
[2] http://en.wikipedia.org/wiki/Soname

Johannes


Follow ups

References