Bug 1663331

Summary: cyrus-imapd-utils needs to be re-compiled against new clamav-lib
Product: [Fedora] Fedora Reporter: Christian Krause <chkr>
Component: cyrus-imapdAssignee: Pavel Zhukov <pzhukov>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: bugzilla, code, dan, j, phil, pokorra.mailinglists, pzhukov, vanmeeuwen+fedora, warlord, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cyrus-imapd-3.0.5-9.fc28 cyrus-imapd-3.0.8-3.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-24 03:31:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1663011    
Bug Blocks: 1665739    

Description Christian Krause 2019-01-03 20:46:48 UTC
Description of problem:

Due to an soname change in the latest clamav-lib package libclamav.so.7 -> libclamav.so.9, cyrus-imapd (concrete: cyrus-imapd-utils) need to be re-compiled in Fedora 28. Otherwise, the new clamav-lib package can't be installed:

Version-Release number of selected component (if applicable):
cyrus-imapd-utils-3.0.5-7.fc28.x86_64

How reproducible:
100%

Steps to Reproduce:
1. having both, cyrus-imapd-utils and clamav-lib installed
2. dnf update

Actual results:
 Problem: problem with installed package cyrus-imapd-utils-3.0.5-7.fc28.x86_64
  - package cyrus-imapd-utils-3.0.5-7.fc28.x86_64 requires libclamav.so.7()(64bit), but none of the providers can be installed
  - cannot install both clamav-lib-0.101.0-1.fc28.x86_64 and clamav-lib-0.99.4-3.fc28.x86_64
  - cannot install both clamav-lib-0.99.4-3.fc28.x86_64 and clamav-lib-0.101.0-1.fc28.x86_64
  - cannot install the best update candidate for package clamav-lib-0.99.4-3.fc28.x86_64


Expected results:
- no error ;-)

Comment 1 Jason Tibbitts 2019-01-03 21:23:35 UTC
Well that's terrible; we aren't supposed to be bumping library versions in stable releases.  I'll see what I can do.

Comment 2 Jason Tibbitts 2019-01-03 21:52:32 UTC
And it turns out that it's impossible to build anything against the new libclamav because of https://bugzilla.redhat.com/show_bug.cgi?id=1663011.  So there's not much we can do at the moment.  I can give you a scratch build without clamav support if that would help you out.

This does affect F29 as well, though the portion which needs clamav is split out into a subpackage cyrus-imapd-virusscan so it's not quite as bad there.

Comment 3 Christian Krause 2019-01-07 21:38:54 UTC
Although the mentioned bug report (https://bugzilla.redhat.com/show_bug.cgi?id=1663011) is now closed, it is not possible to compile cyrus-imapd against the new clamav:

I tried a scratch-build: https://koji.fedoraproject.org/koji/taskinfo?taskID=31880622 which failed with the following error:

[...]
make[2]: Entering directory '/builddir/build/BUILD/cyrus-imapd-3.0.8'
gcc -DHAVE_CONFIG_H -I.   -I. -I./lib -I. -I./lib -DLIBEXEC_DIR=\"/usr/libexec/cyrus-imapd\" -DSBIN_DIR=\"/usr/sbin\" -DSYSCONF_DIR=\"/etc\" -DHAVE_CONFIG_H     -I/usr/include -I/usr/include/libxml2        -I/usr/include/mysql -I/usr/include/mysql/mysql  -I/usr/include -fPIC  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o imap/cyr_virusscan.o imap/cyr_virusscan.c
BUILDSTDERR: imap/cyr_virusscan.c: In function 'clamav_scanfile':
BUILDSTDERR: imap/cyr_virusscan.c:197:21: error: 'CL_SCAN_STDOPT' undeclared (first use in this function); did you mean 'CL_DB_STDOPT'?
BUILDSTDERR:                      CL_SCAN_STDOPT);
BUILDSTDERR:                      ^~~~~~~~~~~~~~
BUILDSTDERR:                      CL_DB_STDOPT
BUILDSTDERR: imap/cyr_virusscan.c:197:21: note: each undeclared identifier is reported only once for each function it appears in
BUILDSTDERR: make[2]: *** [Makefile:4816: imap/cyr_virusscan.o] Error 1
[...]

Comment 4 Jason Tibbitts 2019-01-07 21:41:37 UTC
This is because the clamav API has been changed with 0.101, and cyrus-imapd needs changes to adapt.  The upstream report is https://github.com/cyrusimap/cyrus-imapd/issues/2621

I have made progress on a fix but have not yet done sufficient testing to push anything.

Comment 5 Derek Atkins 2019-01-11 03:02:42 UTC
This is particularly annoying when upgrading systems from e.g. F27 -> F28 -> F29 --- I realize F27 is EOLed, but I still need to erase the imapd-utils, upgrade to F29, and then re-install.

Comment 6 Fedora Update System 2019-01-15 18:32:00 UTC
cyrus-imapd-3.0.5-9.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f6ed2d12f8

Comment 7 Fedora Update System 2019-01-15 18:33:28 UTC
cyrus-imapd-3.0.8-3.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-3e519f8d1d

Comment 8 Fedora Update System 2019-01-16 03:31:28 UTC
cyrus-imapd-3.0.8-3.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-3e519f8d1d

Comment 9 Fedora Update System 2019-01-16 03:38:52 UTC
cyrus-imapd-3.0.5-9.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-f6ed2d12f8

Comment 10 Jason Tibbitts 2019-01-18 16:42:27 UTC
It would be nice to have some independent confirmation that these fix the problem.  Please test these updates and give karma.

Comment 11 Christian Krause 2019-01-21 13:55:18 UTC
I just tested the installation of the latest cyrus-imapd + clamav-lib:

clamav-lib-0.101.1-1.fc28.x86_64
cyrus-imapd-3.0.5-9.fc28.x86_64

Both packages could be correctly installed. That should fix the reported issue.

Unfortunately I don't have access to the system with the installed imap server so a real functionality test of the update has to wait until the end of the week.

Comment 12 Fedora Update System 2019-01-24 03:31:53 UTC
cyrus-imapd-3.0.5-9.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2019-01-24 04:30:52 UTC
cyrus-imapd-3.0.8-3.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.