#1055237 does not conform to the standards for library packaging

#1055237#5
Date:
2023-11-02 17:10:19 UTC
From:
To:
Dear Maintainer,

Recently catch2/3.4.0-1 was uploaded to Debian, great. Yet the binary packages
do not follow the layout for libraries that is described in Policy Section 8.
For instance I think we should provide a shared library and if there are enough
reasons not to do so (see Policy 8.3), at least the binary package name should
be changed to libcatch2-dev.

Also this is not a header-only library anymore, the description of the package
should be changed.

As a side note, the upload of the major version 3.x came out with many breaking
interface changes giving rise to RC bugs in e.g. genomicsdb, netgen, spdlog,
therion just to name a few, also to failing autopkgtests in many rdeps. I would
have been more comfortable with such a huge version change being advertised and
more prepared, with some kind of a library transition process for instance.

In any case, thanks for your work on catch2,

Best regards,

#1055237#10
Date:
2023-11-08 07:44:58 UTC
From:
To:
Hello,

I agree, binary package could be renamed and descriptions should be
adapted as well. I am not sure about shared library, though.

First, upstream uses full source package version for soversion. This
means a transition for even a patch level upstream release. I maintain a
couple of packages like this and it is tiring.

Second, I do not expect any real binary package depending on catch2
shared library as only test objects are linked with it. But I may be
wrong here.

Right. Such changes should be announced beforehand since catch2 is used
widely in the archive. Transition would have been nice indeed.

Seconded - thanks for maintaining this package.

Best wishes,
Andrius

#1055237#15
Date:
2023-11-08 08:57:39 UTC
From:
To:
Hi,

Thanks Andrius for the advice given here.

On Wed, 8 Nov 2023 09:44:58 +0200 Andrius Merkys <merkys@debian.org> wrote:
 > Hello,
 >
 > On Thu, 02 Nov 2023 18:10:19 +0100 Pierre Gruet <pgt@debian.org> wrote:
 > > Recently catch2/3.4.0-1 was uploaded to Debian, great. Yet the
binary packages
 > > do not follow the layout for libraries that is described in Policy
Section 8.
 > > For instance I think we should provide a shared library and if
there are enough
 > > reasons not to do so (see Policy 8.3), at least the binary package
name should
 > > be changed to libcatch2-dev.
 > >
 > > Also this is not a header-only library anymore, the description of
the package
 > > should be changed.
 >
 > I agree, binary package could be renamed and descriptions should be
 > adapted as well. I am not sure about shared library, though.
 >
 > First, upstream uses full source package version for soversion. This
 > means a transition for even a patch level upstream release. I maintain a
 > couple of packages like this and it is tiring.
 >
 > Second, I do not expect any real binary package depending on catch2
 > shared library as only test objects are linked with it. But I may be
 > wrong here.

This seems like a good reason to keep a static library, at least for the
moment.

If there remains only the renaming of the package and its description to
be changed, then downgrading the severity looks sensible.

 >
 > > As a side note, the upload of the major version 3.x came out with
many breaking
 > > interface changes giving rise to RC bugs in e.g. genomicsdb,
netgen, spdlog,
 > > therion just to name a few, also to failing autopkgtests in many
rdeps. I would
 > > have been more comfortable with such a huge version change being
advertised and
 > > more prepared, with some kind of a library transition process for
instance.
 >
 > Right. Such changes should be announced beforehand since catch2 is used
 > widely in the archive. Transition would have been nice indeed.

If you, Mathieu, have some insight into the best ways to transition
reverse dependencies, I think giving it in the related bug reports would
be very helpful.

 >
 > > In any case, thanks for your work on catch2,
 >
 > Seconded - thanks for maintaining this package.
 >
 > Best wishes,
 > Andrius
 >
 >

Have a great day,

#1055237#22
Date:
2023-11-08 09:41:29 UTC
From:
To:
Hi,

Thanks both of you for the feedback. I'm short on time at the moment
but I'll make the changes you suggested, they makes sense.

And sorry for pushing this version without notice, I didn't realise
other packages were using it and depended on its API.

Cheers.

Mathieu.

#1055237#27
Date:
2023-11-12 20:32:11 UTC
From:
To:
On Wed, 8 Nov 2023 09:57:39 +0100 Pierre Gruet <pgt@debian.org> wrote:

 > Control: severity -1 important
 >

 > This seems like a good reason to keep a static library, at least for the
 > moment.
 >
 > If there remains only the renaming of the package and its description to
 > be changed, then downgrading the severity looks sensible.
 >
 > >
 > > > As a side note, the upload of the major version 3.x came out with
 > many breaking
 > > > interface changes giving rise to RC bugs in e.g. genomicsdb,
 > netgen, spdlog,
 > > > therion just to name a few, also to failing autopkgtests in many
 > rdeps. I would
 > > > have been more comfortable with such a huge version change being
 > advertised and
 > > > more prepared, with some kind of a library transition process for

 > instance.

Should there maybe a new src:catch2 package be provided ? This also
broke tests for trompeloeil-cpp which I maintain.

This seems like a sensible solution for now. according to upstream notes
catch/catch2.hpp is superseded by catch/catch2_all.hpp,

but liking against this header does not work for my package (see
https://github.com/catchorg/Catch2/blob/devel/docs/migrate-v2-to-v3.md).

I'd propose to check which packages work with the newer catch and patch
if necessary; if it's inevitable I'd argue to create a semver catch2
package.

best,

#1055237#32
Date:
2024-01-25 13:12:49 UTC
From:
To:
 > And sorry for pushing this version without notice, I didn't realise
 > other packages were using it and depended on its API.

really? what do you expect when uploading that to the archive?

   reverse-depends -b src:catch2

tells you all it's users.

gringo seems to broken as well: https://bugs.debian.org/1054688

#1055237#37
Date:
2024-10-08 09:00:58 UTC
From:
To:
Hello,

Trying to make an internal build for a user with a possible bugfix, I noted that recent libcatch2-dev
dependency was not built for i386 (and presumably other platforms like s390x), creating an
immediate B-D failure on `apt-get build-dep kodi` on i386. Installing catch2 version 3.4.0 from trixie
lets me build Kodi just fine.