develooper Front page | perl.perl5.porters | Postings from May 2021

binary compatibility between minor releases

Niko Tyni
May 24, 2021 11:53
binary compatibility between minor releases
Message ID:
On Mon, May 24, 2021 at 10:21:37AM +0000, Nicholas Clark wrote:

> It seems that even the work of trying to maintain binary compatibility
> *within* minor versions is mostly wasted. For any given version, OSes seem
> to stick on the exact x.y.z version that they started on, and then
> "backport" patches from our x.y.z+1 (etc) versions to their "x.y.z",
> without changing its "x.y.z", or relying on adding earlier versions to @INC.

FWIW, Debian utilizes binary compatibility between minor versions during
development cycles, where it helps us quite a bit. The yearly rebuilds for
major releases are a big effort (mostly because herding all the packages
into a workable state at approximately the same time is a lot of work;
the actual recompiling itself is of course mechanical). Having to do
that for minor releases as well would increase our load quite a bit.

For example, in our current stable release (Debian buster) with Perl
5.28.1 I see 444 packages built against Perl 5.28.0 and 114 packages
built against Perl 5.28.1. Similarly in our currently frozen next
release, there are 531 packages built against Perl 5.32.0 and 44 built
against 5.32.1.

That said, once we've made a stable Debian release (or frozen for it)
with Perl 5.x.y, we indeed backport patches from y+1 rather than upgrade.
This is mostly because of a traditional requirement for minimal targeted
fixes, but the version bump also carries some risk of "action at distance"
type regressions.

So, thanks for the excellent work in the past maintaining binary
compatibility between stable minor releases. It is appreciated :)
Niko Tyni Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About