#1012544 libworkflow1: Broken shared library packaging

#1012544#5
Date:
2022-06-08 22:50:52 UTC
From:
To:
Hi!

This package has several problems:

 - It contains a shared library without a SOVERSION

   ,---
   $ objdump -p /usr/lib/x86_64-linux-gnu/libworkflow.so | grep SONAME
   SONAME               libworkflow.so
   `---

   This means any binary package linked against this shared library
   misses relevant ABI information and can break on any ABI change.
   The SONAME should contain the SOVERSION, in this case I'd assume
   that to be 1, from the binary package name, but given the version
   used in the fully versioned shared library filename, perhaps that
   should have been libworkflow0, and then SONAME should be
   libworkflow.so.0.

 - The shared library object should be the one with the full version,
   say libworkflow.so.0.9.10, the SONAME should be the symlink, so
   say libworkflow.so.0 → libworkflow.so.0.9.10, and the unversioned
   .so symlink for build-time linking should also be a symlink (or in
   some cases a linker script), libworkflow.so → libworkflow.so.0.9.10.

 - The versioned shared library filenames should go into the versioned
   shared library package.

 - The unversioned shared and static library filenames should go into
   the -dev package.

Please refer to debian-policy section §8 for further information. I
think in this case lintian would have flagged these as errors.

Thanks,
Guillem

#1012544#10
Date:
2022-06-16 13:53:02 UTC
From:
To:
Dear Guillem,

Thank you for the bug report and your help so far. I am actively
working on these issues.

Do you have any examples or references of adding an SOVERSION/SONAME?

When I was packaging workflow originally, a DD suggested I add it but
when I asked for help I didn't get a reply. I haven't done this before
but would be happy to do so with some direction.

All of these are doable, provided the SOVERSION/SONAME issue above is fixed.

I assume fixing the above this will also fix the lintian error?
lacks-ldconfig-trigger usr/lib/x86_64-linux-gnu/libworkflow.so

BTW, I have fixed the architectural problems with srpc (Bug #1012004) but
I am also getting the same lintian error (lacks-ldconfig-trigger). I assume
that the same error I am making with workflow applies to srpc as well, so I
want to fix both going forward.

I assume the problem is that the upstream version doesn't use this convention
(SONAME/SOVERSION) but I would be happy to work with them on this once it's fixed
in Debian.

Lance Lin <lqi254@protonmail.com>
GPG Fingerprint:  8CAD 1250 8EE0 3A41 7223  03EC 7096 F91E D75D 028F

#1012544#15
Date:
2022-06-17 13:21:30 UTC
From:
To:
Dear Guillem,

I have fixed SRPC as it was more straight forward being static only.

I believe I have fixed workflow based on your suggestions. Before I
upload, would you be willing to review my work to make sure it is
correct?

Salsa Link: https://salsa.debian.org/debian/workflow

Thank you!

Lance Lin <lqi254@protonmail.com>
GPG Fingerprint:  8CAD 1250 8EE0 3A41 7223  03EC 7096 F91E D75D 028F

#1012544#20
Date:
2022-06-22 19:00:15 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
workflow, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1012544@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Lance Lin <lqi254@protonmail.com> (supplier of updated workflow package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 17 Jun 2022 20:09:07 +0700
Source: workflow
Binary: libworkflow-dev libworkflow0
Architecture: source amd64
Version: 0.10.1-1
Distribution: unstable
Urgency: medium
Maintainer: Lance Lin <lqi254@protonmail.com>
Changed-By: Lance Lin <lqi254@protonmail.com>
Description:
 libworkflow-dev - Parallel computing and asynchronous web server engine
 libworkflow0 - Parallel computing and asynchronous web server engine
Closes: 1012544
Changes:
 workflow (0.10.1-1) unstable; urgency=medium
 .
   * Update to version 0.10.1
   * d/control: Bump standards to 4.6.1
   * d/copyright: Update years to 2022
   * Fixed SONAME/SOVERSION issues. Closes: #1012544
Checksums-Sha1:
 e3f1b67ba3a15781f221da69904f67f419d46699 1769 workflow_0.10.1-1.dsc
 53f981c9adee302af4bc5ab35627d81724377ab5 378725 workflow_0.10.1.orig.tar.gz
 ae462be15f6952ddd0304a067debd864816206e3 4012 workflow_0.10.1-1.debian.tar.xz
 538b1865054600edf4f717422af516ca9e0bbe82 285060 libworkflow-dev_0.10.1-1_amd64.deb
 d46e021641a77e5015d01773ab1a1bb50be6559b 12188 libworkflow0_0.10.1-1_amd64.deb
 53273d57a4b0396ec42aebbebcfda803cc6849fc 6697 workflow_0.10.1-1_amd64.buildinfo
Checksums-Sha256:
 c32d785bc2453717fc862928597a1db3653f66d1b2a4e8ecb7c4551947ba70a1 1769 workflow_0.10.1-1.dsc
 69135be742649160fdf548939b788845e155456a28ebc5466e555bf8a444bccc 378725 workflow_0.10.1.orig.tar.gz
 9b993014c19eac5195a21ea0eb02602134dd4531c9e1775e0b48d9fba35ced98 4012 workflow_0.10.1-1.debian.tar.xz
 0286116b297ae92a6f9f7b3b47216573d23fdff2a725159525ef397aeb05523c 285060 libworkflow-dev_0.10.1-1_amd64.deb
 e41f95b58bed0da7d0c5d8440cb4d600fa782c5221f8a94a177af142a22f5423 12188 libworkflow0_0.10.1-1_amd64.deb
 b70a20b05585425ace49171ded25cd7f44df010547cd9a0eaa332ccb26d9d86a 6697 workflow_0.10.1-1_amd64.buildinfo
Files:
 bfcfde90f0bcd4adcc2bb610cd52cbb9 1769 libs optional workflow_0.10.1-1.dsc
 6e0787e1a23439e154cd51d87d0644cd 378725 libs optional workflow_0.10.1.orig.tar.gz
 830ca21cbdc69b4678174f8c26128d0a 4012 libs optional workflow_0.10.1-1.debian.tar.xz
 6cd3e364d5e53b2b74adb4908b4ba13b 285060 libdevel optional libworkflow-dev_0.10.1-1_amd64.deb
 a26d7fc56d367df1e1a9ad5652a156f9 12188 libs optional libworkflow0_0.10.1-1_amd64.deb
 181cb659f13fa4af412990e59c57f4df 6697 libs optional workflow_0.10.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmKzR+kQHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFCXFDAD09BStkieDso2B4xbDfGUYhyAoxoKYV84x
IRucqexi+S468rC6npGKpwQ11AGDciYtOedTWqNWP6QrHxEcTie9FFsENiJCDW2D
NpPx8ljQc76dOxNXXjEUUi06G9dn7wXdPjFkNFHx+p6flOE7vTyafoBCnol8+coI
EbE86nLeHzdyIjKl90DBX1SzlTxXh/JfchxMDowsmn8ksQc6ZfjMN87HsqOaxu6N
jrV3uaUL1ZAVGTwtX4ZX7f5wt8T02QcSQctyC53aOYMNA4J+frL8enebB6ud7eHF
l20GxcOhO4oTsQ86KP6lGDNjEk/c73kEXisW88TYnCBSXU+xxz8ZlXwS28Yuc9Df
YORl/bndjxY79MR5rhouYibF4YXM/G3Eux0Sx8C0k6mvZbfQbR7gtJwcq9FvcaY3
etE8P8i63IS711ZWUFkrliC/Yp4zzTJMx63WYb4ZJ3t+up/mHehSPzikUjjOySWp
s59/ex3jt2OFuNjmpwblmJVr/xyB+ik=
=Y/ux
-----END PGP SIGNATURE-----