Bug#1027424: transition: libppd

2022-12-31 Thread Sebastian Ramacher
On 2022-12-31 10:29:48 +0100, Paul Gevers wrote:
> Control: tag -1 moreinfo
> 
> Hi Christoph,
> 
> On 31-12-2022 10:06, Christoph Biedl wrote:
> > possible this is not a regular transition, but in exchange I guess it
> > should be pretty smooth and simple ...
> 
> Inside the Debian archive maybe, but ...
> 
> > So src:libppd has been renamed to src:libppd-legacy, and has entered
> > experimental yesterday. While doing so, I've fixed a longstanding
> > mismatch in the soname version, hence the new number libppd-legacy*1*.

We have libppd0 with an incorrect SONAME already in oldoldstable
(maybe also oldoldoldstable). We are not doing transition for such
cases. That's gonna stick until we can properly remove libppd.so.1
from the archive.

> I'm wondering what this means for users of the library that don't have
> packages in the Debian archive. If some downstream (including the non
> publicly published ones) (build) depend on the old library, they suddenly
> get weird failures, right?

That's why we are not doing those kind of transitions.

Technically, the new libppd can start using libppd.so.2, but this sounds
less than optimal. Can't the new one be named something else if it's not
a successor to the old libppd?

Cheers
-- 
Sebastian Ramacher



Bug#1027424: transition: libppd

2022-12-31 Thread Christoph Biedl
Paul Gevers wrote...

> On 31-12-2022 10:06, Christoph Biedl wrote:
>
> > So src:libppd has been renamed to src:libppd-legacy, and has entered
> > experimental yesterday. While doing so, I've fixed a longstanding
> > mismatch in the soname version, hence the new number libppd-legacy*1*.
>
> I'm wondering what this means for users of the library that don't have
> packages in the Debian archive. If some downstream (including the non
> publicly published ones) (build) depend on the old library, they suddenly
> get weird failures, right?

Correct.

Install-dependencies will fail for a missing libppd.so.1.0.1, just like
after any other transition (Till's libppd will use a different
soversion).

Build-dependencies will fail to build as the new libppd is not a drop-in
replacement. Till did some investigation in that direction, result boils
down to "Providing a compatability layer was possible but is some work",
while odds are low anyone will benefit from this, see below.

So, in the case of a failing re-build, users will need to learn about
the reason and how to deal with it. I've asked Till to embed an
according pointer in the packages' descriptions (debian/control) so
they'll have a clue.

However, I would be fairly surprised if that ever happens. This is very
old software and it is mostly unmaintained - last (legacy) libppd
upstream release was in 2005. Therefore I assume any third-party package
switched to something different in the meantime. I am not aware of any,
and a little research didn't show anything in that direction. Looking
for "libppd" usually just points to the new version, provided by
OpenPrinting.

Our alternative would have been to make the new libppd somehow fit
around the old one, stupid work, and with constant risk people will pick
the wrong one - something I consider way more likely to happen than
failing builds of some rather hypothetical third-party packages based
on legacy libppd.

> At the extreme bare minimum, this needs documentation in the release notes,
> but I wonder if we consider this enough.

Release notes will never hurt, thanks for reminding me about those. And
in the particular situation I'm confident this is enough. If you can
think of more safety nets I could provide, let me know.

Regards,

Christoph


signature.asc
Description: PGP signature


Processed: Re: Bug#1027424: transition: libppd

2022-12-31 Thread Debian Bug Tracking System
Processing control commands:

> tag -1 moreinfo
Bug #1027424 [release.debian.org] transition: libppd
Added tag(s) moreinfo.

-- 
1027424: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027424
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1027424: transition: libppd

2022-12-31 Thread Paul Gevers

Control: tag -1 moreinfo

Hi Christoph,

On 31-12-2022 10:06, Christoph Biedl wrote:

possible this is not a regular transition, but in exchange I guess it
should be pretty smooth and simple ...


Inside the Debian archive maybe, but ...


So src:libppd has been renamed to src:libppd-legacy, and has entered
experimental yesterday. While doing so, I've fixed a longstanding
mismatch in the soname version, hence the new number libppd-legacy*1*.


I'm wondering what this means for users of the library that don't have 
packages in the Debian archive. If some downstream (including the non 
publicly published ones) (build) depend on the old library, they 
suddenly get weird failures, right?


At the extreme bare minimum, this needs documentation in the release 
notes, but I wonder if we consider this enough.


Paul


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1027424: transition: libppd

2022-12-31 Thread Christoph Biedl
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: transition
X-Debbugs-Cc: lib...@packages.debian.org, Till Kamppeter 

Control: affects -1 + src:libppd

Greetings,

possible this is not a regular transition, but in exchange I guess it
should be pretty smooth and simple ...

So some background: There are major changes coming in the area of
printing using CUPS, driven by Till Kamppeter (Cc'd), and among other
things this will introduce a library "libppd" to interact with PPD
(PostScript Printer Description) files. That one however will clash with
an existing libppd, maintained by yours truly, and after some discussion
with Till we figured the sane way was to move that old library out of
the way, name-wise.

So src:libppd has been renamed to src:libppd-legacy, and has entered
experimental yesterday. While doing so, I've fixed a longstanding
mismatch in the soname version, hence the new number libppd-legacy*1*.


Now about the formal transition procedure: There is exactly one reverse
build-dependency, src:gpr, I've already filed #1027408 for the
required changes. Taking care of this is on my list.

That should be all - if you need more information, just let me know.

Kind regards,

Christoph

Ben file:

title = "libppd";
is_affected = .depends ~ "libppd0" | .depends ~ "libppd-legacy1";
is_good = .depends ~ "libppd-legacy1";
is_bad = .depends ~ "libppd0";



signature.asc
Description: PGP signature