clamav now requires python?

I noticed that clamav was out of date on my box, so I started to update it. After downloading the clamav file, it started downloading/installing python. I was able to find a reference online to python being required for certain tests. Is python really a requirement for clamav now or did somebody forget to add an option for it? I like to keep my server clean and only install what I need, which is why I'm wondering about this.

(I looked in the makefile and couldn't see anything obvious.) I was unable to find anything on the clam site about python being required, so I'm guessing it's BSD-specific.
 
Code:
[/usr/ports/security/clamav]# make build-depends-list
/usr/ports/devel/gmake
/usr/ports/devel/libcheck
/usr/ports/lang/python26

It's a 'hard' requirement, it seems, but only for building clamav, not for running it. So you could probably ditch Python after the installation.
 
Clam is written in C - why would it need python to compile? I've built the various revisions of clam 0.94 and 0.95 over the past couple years and not ever installed python.

Do you happen know where the requirements for each port are stored? (You probably see where I'm heading... ;) )
 
[cmd=]make run-depends-list[/cmd] and [cmd=]make build-depends-list[/cmd] simply query the relevant /usr/ports/INDEX-* file (it's the 8th field for build dependencies, and the 9th for run dependencies, with field separator="|").

Code:
# grep ^clamav-0.96 INDEX-8 | awk -F\| '{print $8}'
gettext-0.17_1 gmake-3.81_3 libcheck-0.9.8 libiconv-1.13.1_1 python26-2.6.4

# grep ^clamav-0.96 INDEX-8 | awk -F\| '{print $9}'
arc-5.21o_1 arj-3.10.22_3 lha-1.14i_6 unzoo-4.4_2
 
Go to the source, ClamAV website and read through the changes for 0.96. A lot has changed. There's a bunch of LLVM stuff in there now, and some C++ stuff, and so on.

If you don't want all the extra build-dependencies, then stick to using packages.

This is not a BSD issue, nor a ports issue.
 
phoenix said:
This is not a BSD issue, nor a ports issue.

I must respectfully disagree phoenix. This is why:

Based on the info on DDs last post, I tried modifying the INDEX-7 file and rebuilding the database with [cmd=]portsdb -u[/cmd] - python26 was still listed as a requirement. I let out a big sigh and wondered if I'll ever get to the point where stuff works the way it's supposed to without my fighting with it.

I decided to try things the old way. I downloaded the clam source file, untarred it, and did [cmd=]./configure[/cmd] and [cmd=]make[/cmd]. (This gave me flashbacks to when I used Linux, but I'm hoping they'll go away. ;) ) It built successfully and clamscan runs. I did not install because I'd like to stick to the ports if at all possible, even if that means struggling through figuring out why my changing the INDEX file to remove the dependency didn't work.



It's my belief that python26 was incorrectly added as a dependency for clamav in the latest 0.96 version. If it truly is a new dependency, the description for the port should be updated to not have "written entirely in C" in the single-line description.

I've sent a message to the port maintainer asking him for clarification and will update this thread when I hear back from him.
 
https://wiki.clamav.net/Main/UpgradeNotes096 ->

(Optional) to run the tests for the JIT you need Python 2.4+, and GNU make, at build time only

The defaults for the port include:

Code:
[X] LLVM          Enable JIT Bytecode compiler

The port's default config includes an option that pulls in Python. And, as noted, it's a build dependency only, so Python can be deleted after installation (if nothing else needs it as a run dependency).

I don't think it's anything FreeBSD-specific, it's just that that particular option defaults to 'On'.
 
Thanks DD - that did it. I was under the impression that ports updated with additional options had the defaults set to match behavior in versions prior to the option existing? (At least this is what I was told when I submitted a patch to a port maintainer to add an option.)

Related to the OT, but on a tangent, how do you find this stuff? I spent almost two hours today going over the clam site, reading the change log, and googling and never found the upgrade notes page. :(
 
Ruler2112 said:
Related to the OT, but on a tangent, how do you find this stuff? I spent almost two hours today going over the clam site, reading the change log, and googling and never found the upgrade notes page. :(

He's magical. But just like Schrödingers cat, the act of direct observation places him in a definite state, and everyone knows that definite states aren't magical.
 
The release announcement e-mail included the link to the release notes, and to the upgrade notes. But a simple "clamav 0.96 python" search on google shows a lot of hits. :) There's even a couple of Debian bugs asking why Python is now required to install ClamAV.

Like I said, it's not a FreeBSD or ports issue. It's the way things work with the new version of ClamAV. If you don't like the Python dep, complain to the ClamAV devs. :)
 
Ruler2112 said:
Related to the OT, but on a tangent, how do you find this stuff? I spent almost two hours today going over the clam site, reading the change log, and googling and never found the upgrade notes page. :(

It was literally two clicks away ;)

http://www.clamav.net -> Announcing ClamAV 0.96 -> bottom of that page.
 
I feel like an idiot... spent nearly 2 hours reading through BS online, looking at the Makefile, etc and didn't find it until you posted that link DD. :( I do have a suggestion for the ports system, but will start a new thread on it as that's where it should go.

Thanks for your help guys.
 
Back
Top