Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-02-15 Thread Yadd

I closed this issue because:
 - I dropped all bad .h files from install
 - I added ABI flags to build
 - cyrus-dev has no reverse dependencies

If I'm wrong, please reopen this issue

Cheers,
Yadd



Bug#1061341: Fwd: Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-02-06 Thread Yadd

On 2/7/24 06:31, ellie timoney wrote:

Hi Xavier,

On Mon, 29 Jan 2024, at 9:59 AM, ellie timoney wrote:

On Thu, 25 Jan 2024, at 3:53 PM, Yadd wrote:

yes there are other errors because some .h require unavailable .h like
config.h


Ooh interesting, I'll have a look


I'm still working on this, but the more I work on it, the more of it turns out 
to need fixing...

I think for now, it makes sense for you to proceed with the packaging changes 
assuming that 32 bit Cyrus will _not_ be ABI compatible when recompiled with 64 
bit time_t.  From the original email, I think that means you'll need to set up 
strict version dependencies between the cyrus-common, cyrus-admin and 
cyrus-clients packages, so that people can't partially upgrade and wind up with 
conflicts.

Cheers,

ellie


Hi,

dependencies are already strict (= ${binary:Version}).
To be able to render cyrus-dev headers compatible with ABI test, I'll 
have to remove the following (missing config.h,...):


/usr/include/cyrus/bufarray.h
/usr/include/cyrus/charset.h
/usr/include/cyrus/command.h
/usr/include/cyrus/crc32.h
/usr/include/cyrus/cyr_qsort_r.h
/usr/include/cyrus/glob.h
/usr/include/cyrus/imapurl.h
/usr/include/cyrus/mappedfile.h
/usr/include/cyrus/procinfo.h
/usr/include/cyrus/rfc822tok.h
/usr/include/cyrus/sieve/sieve_err.h
/usr/include/cyrus/sieve/sieve_interface.h
/usr/include/cyrus/sqldb.h
/usr/include/cyrus/tok.h
/usr/include/cyrus/vparse.h
/usr/include/cyrus/wildmat.h



Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-02-02 Thread Yadd

On 1/28/24 20:21, Steve Langasek wrote:

On Tue, Jan 23, 2024 at 08:32:18AM +0400, Yadd wrote:

Control: tags -1 + moreinfo



On 1/23/24 00:43, Steve Langasek wrote:

Package: cyrus-common
Version: 3.8.1-1
Severity: serious
User: debian-...@lists.debian.org
Usertags: time-t



Dear maintainers,



Analysis of the archive for the 64-bit time_t transition[0][1] identifies
cyrus-common as an affected package, on the basis that the headers could not
be compiled and analyzed out of the box using abi-compliance-checker[2], so
we have to assume it's affected.



However, cyrus-commons's shlibs file declares a dependency on a library
package name that contains no ABI information:



according to 
https://adrien.dcln.fr/misc/armhf-time_t/2024-01-17/logs/cyrus-dev/base/log.txt
, this issue looks like a false-positive: test failed because of C error,
not bad report



Am I right here ?


We do not *know* that it's a false positive; we only know that we were
unable to analyze the header files under a-c-c to prove that the ABI is not
affected.

Patches to the check-armhf-time_t script at
https://salsa.debian.org/vorlon/armhf-time_t/-/blob/main/check-armhf-time_t?ref_type=heads
to quirk this package and allow its headers to be analyzed, or changes to
the source package to not ship uncompilable headers ("apt-file search
lib/strarray.h" returns no results), would both be welcome.

Thanks,


Hi,

is it possible to build a salsa-ci job to test this on i386 ?

Best regards,
Yadd



Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-01-28 Thread Steve Langasek
On Tue, Jan 23, 2024 at 08:32:18AM +0400, Yadd wrote:
> Control: tags -1 + moreinfo

> On 1/23/24 00:43, Steve Langasek wrote:
> > Package: cyrus-common
> > Version: 3.8.1-1
> > Severity: serious
> > User: debian-...@lists.debian.org
> > Usertags: time-t

> > Dear maintainers,

> > Analysis of the archive for the 64-bit time_t transition[0][1] identifies
> > cyrus-common as an affected package, on the basis that the headers could not
> > be compiled and analyzed out of the box using abi-compliance-checker[2], so
> > we have to assume it's affected.

> > However, cyrus-commons's shlibs file declares a dependency on a library
> > package name that contains no ABI information:

> according to 
> https://adrien.dcln.fr/misc/armhf-time_t/2024-01-17/logs/cyrus-dev/base/log.txt
> , this issue looks like a false-positive: test failed because of C error,
> not bad report

> Am I right here ?

We do not *know* that it's a false positive; we only know that we were
unable to analyze the header files under a-c-c to prove that the ABI is not
affected.

Patches to the check-armhf-time_t script at
https://salsa.debian.org/vorlon/armhf-time_t/-/blob/main/check-armhf-time_t?ref_type=heads
to quirk this package and allow its headers to be analyzed, or changes to
the source package to not ship uncompilable headers ("apt-file search
lib/strarray.h" returns no results), would both be welcome.

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: PGP signature


Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-01-22 Thread Yadd

Control: tags -1 + moreinfo

On 1/23/24 00:43, Steve Langasek wrote:

Package: cyrus-common
Version: 3.8.1-1
Severity: serious
User: debian-...@lists.debian.org
Usertags: time-t

Dear maintainers,

Analysis of the archive for the 64-bit time_t transition[0][1] identifies
cyrus-common as an affected package, on the basis that the headers could not
be compiled and analyzed out of the box using abi-compliance-checker[2], so
we have to assume it's affected.

However, cyrus-commons's shlibs file declares a dependency on a library
package name that contains no ABI information:


Hi,

according to 
https://adrien.dcln.fr/misc/armhf-time_t/2024-01-17/logs/cyrus-dev/base/log.txt 
, this issue looks like a false-positive: test failed because of C 
error, not bad report


Am I right here ?

Best regards,
Xavier



Bug#1061341: cyrus-common: identified for time_t transition but no ABI in shlibs

2024-01-22 Thread Steve Langasek
Package: cyrus-common
Version: 3.8.1-1
Severity: serious
User: debian-...@lists.debian.org
Usertags: time-t

Dear maintainers,

Analysis of the archive for the 64-bit time_t transition[0][1] identifies
cyrus-common as an affected package, on the basis that the headers could not
be compiled and analyzed out of the box using abi-compliance-checker[2], so
we have to assume it's affected.

However, cyrus-commons's shlibs file declares a dependency on a library
package name that contains no ABI information:

$ cat DEBIAN/shlibs
libcyrus 0 cyrus-common (>= 3.8.1)
libcyrus_imap 0 cyrus-common (>= 3.8.1)
libcyrus_min 0 cyrus-common (>= 3.8.1)
libcyrus_sieve 0 cyrus-common (>= 3.8.1)
$

It is therefore not obvious that we should rename the package to
'cyrus-common-t64' as part of this transition.

Looking at the archive, there are packages that depend on these libraries,
cyrus-admin and cyrus-clients.  Despite being built from the same source
package, they do not have a strict versioned dependency on cyrus-common but
instead use the shlibs.

Since there is no self-evident thing to do with the library package name
here, we will not be handling this package as part of the mass NMUs. 
Instead I am filing a serious bug because partial upgrades from bookworm to
trixie on 32-bit architectures (upgrading cyrus-common without also
upgrading cyrus-{admin,clients}) will result in ABI skew and may result in
broken behavior.

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org

[0] https://wiki.debian.org/ReleaseGoals/64bit-time
[1] https://lists.debian.org/debian-devel/2024/01/msg00041.html
[2] 
https://adrien.dcln.fr/misc/armhf-time_t/2024-01-17/logs/cyrus-dev/base/log.txt


signature.asc
Description: PGP signature