Clamav-data-emtpy conflicts clamav-data

as @flatspin found in

nethserver-squidclamav (which calls ecap-clamav and clamav-data) conflicts with nethserver-antivirus which gets clamav-data-empty as dependency.

since ecap-clamav is built with clamav-devel, probably we cannot do something here, but nethserver-antivirus has a ‘Requires: clamav-data-empty’, so if we ‘obsolete’ it, we could add ‘Requires: clamav-data’.

@dev_team It is a valid bug

I can’t reproduce it, but I think we could safely add clamav-data-empty ad nethserver-squidclamav dependency.

easy to reproduce :slight_smile:

Sorry, but I think I’m missing something … :pensive:

I don’t see any resolution problem in the posted transaction.
I also tried to install both packages together but there was no conflict.

What am I missing?

[root@ns7rc41 ~]# yum install
Loaded plugins: changelog, fastestmirror, nethserver_events
nethserver-clamscan-0.1.2-1.ns7.sdl.noarch.rpm                                                   |  22 kB  00:00:00
Examining /var/tmp/yum-root-PXmCjY/nethserver-clamscan-0.1.2-1.ns7.sdl.noarch.rpm: nethserver-clamscan-0.1.2-1.ns7.sdl.noarch
Marking /var/tmp/yum-root-PXmCjY/nethserver-clamscan-0.1.2-1.ns7.sdl.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package nethserver-clamscan.noarch 0:0.1.2-1.ns7.sdl will be installed
--> Processing Dependency: clamav-scanner-systemd for package: nethserver-clamscan-0.1.2-1.ns7.sdl.noarch
Loading mirror speeds from cached hostfile
 * base:
 * epel:
 * extras:
 * nethforge:
 * nethserver-base:
 * nethserver-updates:
 * updates:
--> Processing Dependency: nethserver-antivirus for package: nethserver-clamscan-0.1.2-1.ns7.sdl.noarch
--> Running transaction check
---> Package clamav-scanner-systemd.noarch 0:0.99.2-1.el7 will be installed
--> Processing Dependency: clamav-server-systemd = 0.99.2-1.el7 for package: clamav-scanner-systemd-0.99.2-1.el7.noarch
--> Processing Dependency: clamav-scanner = 0.99.2-1.el7 for package: clamav-scanner-systemd-0.99.2-1.el7.noarch
---> Package nethserver-antivirus.noarch 0:1.2.0-1.ns7 will be installed
--> Processing Dependency: clamav-unofficial-sigs for package: nethserver-antivirus-1.2.0-1.ns7.noarch
--> Processing Dependency: clamav-server for package: nethserver-antivirus-1.2.0-1.ns7.noarch
--> Processing Dependency: clamav-data-empty for package: nethserver-antivirus-1.2.0-1.ns7.noarch
--> Running transaction check
---> Package clamav-data-empty.noarch 0:0.99.2-1.el7 will be installed
---> Package clamav-scanner.noarch 0:0.99.2-1.el7 will be installed
---> Package clamav-server.x86_64 0:0.99.2-1.el7 will be installed
---> Package clamav-server-systemd.noarch 0:0.99.2-1.el7 will be installed
---> Package clamav-unofficial-sigs.noarch 0:3.7.2-1.el7 will be installed
--> Processing Dependency: clamav-update for package: clamav-unofficial-sigs-3.7.2-1.el7.noarch
--> Processing Dependency: clamav for package: clamav-unofficial-sigs-3.7.2-1.el7.noarch
--> Running transaction check
---> Package clamav.x86_64 0:0.99.2-1.el7 will be installed
---> Package clamav-update.x86_64 0:0.99.2-1.el7 will be installed
--> Processing Conflict: clamav-data-0.99.2-1.el7.noarch conflicts data(clamav) < full
--> Processing Conflict: clamav-data-empty-0.99.2-1.el7.noarch conflicts data(clamav) > empty
--> Finished Dependency Resolution
Error: clamav-data-empty conflicts with clamav-data-0.99.2-1.el7.noarch
Error: clamav-data conflicts with clamav-data-empty-0.99.2-1.el7.noarch
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@ns7rc41 ~]#

This happens if you have installed WebFilter from softwarecenter and you try to install nethserver-clamscan.

1 Like

Thanks, now I see!

I will look into this.

Edit: I just had an idea: @stephdl could you try to add clamav-db-empty as dependcy of nethserver-clamscan and see what happens?

1 Like

Another approach could be requiring the abstract symbol “data(clamav)”, instead of a package name:

rpm -q --provides clamav-data-empty-0.99.2-1.el7.noarch
clamav-data-empty = 0.99.2-1.el7
data(clamav) = empty
1 Like

I don’t think it solves something, i have nethserver-antivirus (which gets clamav-data-empty) as dependency of nethserver-clamscan.

I guess the conflict is in the core side,you provide two conflicted rpm

I think @davidep is right.
clamav-data and clamav-data-empty should conflict because they offer the same files.
Packages should require “data(clamav)”, the sysadmin choose what package suits his needs. NethServer chose clamav-data-empty.

Not really accurate. This will happen if you try to install nethserver-antivirus and if nethserver-squidclamav is already installed.