Bug 181450 - Review Request: clamav-exim - Clam AV support files for Exim
Summary: Review Request: clamav-exim - Clam AV support files for Exim
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On: 190492
Blocks: FE-DEADREVIEW
TreeView+ depends on / blocked
 
Reported: 2006-02-14 09:35 UTC by Tim Jackson
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-12 18:14:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tim Jackson 2006-02-14 09:35:47 UTC
Spec Name or Url: http://www.timj.co.uk/linux/specs/clamav-exim.spec
SRPM Name or Url: http://www.timj.co.uk/linux/srpms/clamav-exim-1.0-1.src.rpm
Description:
clamav-exim contains the support files for clamav-server that allow it to be used easily with Exim.

This is a direct fork of the clamav-exim changes that were committed by dwmw2 to the main clamav package at CVS rev 1.28 but later reverted by the clamav maintainer with the note that they should be split into a separate package. See CVS log:

http://cvs.fedora.redhat.com/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&file=clamav.spec&branch=&root=/cvs/extras&subdir=/rpms/clamav/devel&command=DIFF_FRAMESET&rev1=1.27&rev2=1.28

Comment 1 Orion Poplawski 2006-02-15 19:40:04 UTC
- rpmlint checks return:

W: clamav-exim no-url-tag
W: clamav-exim no-documentation
E: clamav-exim incoherent-logrotate-file /etc/logrotate.d/clamd.exim
E: clamav-exim non-standard-uid /var/run/clamd.exim clamexim
E: clamav-exim non-standard-gid /var/run/clamd.exim exim
E: clamav-exim non-standard-dir-perm /var/run/clamd.exim 0750
E: clamav-exim non-standard-gid /var/log/clamd.exim exim
E: clamav-exim non-root-group-log-file /var/log/clamd.exim exim
W: clamav-exim dangerous-command-in-%post chmod
^ If you really need a log file, perhaps create in %install?

E: clamav-exim init-script-name-with-dot /etc/rc.d/init.d/clamd.exim
E: clamav-exim no-status-entry /etc/rc.d/init.d/clamd.exim
W: clamav-exim no-reload-entry /etc/rc.d/init.d/clamd.exim
E: clamav-exim subsys-not-used /etc/rc.d/init.d/clamd.exim
W: clamav-exim incoherent-init-script-name clamd.exim


- license (GPL) OK, need text in %doc.

?
- No upstream, is this okay?
- macro use not consistent between %var and %{var}

Good:

- package meets naming guidelines
- package meets packaging guidelines
- spec file legible, in am. english
- package compiles on devel (x86)
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- owns all directories that it creates
- no duplicate files
- %clean ok
- code, not content
- no need for -docs
- nothing in %doc affects runtime
- no need for .desktop file


Comment 2 Tim Jackson 2006-02-15 22:10:08 UTC
Thanks very much for the review.  I should have mentioned that I knew rpmlint
barfed lots, mostly due to this being a very weird package.

> W: clamav-exim no-url-tag

There isn't a relevant URL.

> W: clamav-exim no-documentation

There are no docs, though maybe I should write a short README.

> E: clamav-exim incoherent-logrotate-file /etc/logrotate.d/clamd.exim

Is this the filename (i.e. clamd.exim) that it's complaining about? If so, I
know it's not the same as the package but the convention wasn't invented by me
but does make sense.

> E: clamav-exim non-standard-uid /var/run/clamd.exim clamexim
> E: clamav-exim non-standard-gid /var/run/clamd.exim exim
> E: clamav-exim non-standard-dir-perm /var/run/clamd.exim 0750
> E: clamav-exim non-standard-gid /var/log/clamd.exim exim

I don't really understand these; the uid/gid/perms are intended and correct.

> E: clamav-exim non-root-group-log-file /var/log/clamd.exim exim

So, clamexim.root then? Howveer, users in the "exim" group might conceivably
want read-access to the logs.

> W: clamav-exim dangerous-command-in-%post chmod
> ^ If you really need a log file, perhaps create in %install?

I could do. However, this stuff all came from the original spec fragments that
were checked into the clamav package by David Woodhouse (dwmw2@redhat). Given
that David is more experienced than me I was deferring to his judgement. Any
other thoughts from others would be welcome.

> E: clamav-exim init-script-name-with-dot /etc/rc.d/init.d/clamd.exim

See above discussion about the clamd.exim convention.

> E: clamav-exim no-status-entry /etc/rc.d/init.d/clamd.exim
> W: clamav-exim no-reload-entry /etc/rc.d/init.d/clamd.exim
> E: clamav-exim subsys-not-used /etc/rc.d/init.d/clamd.exim

These are all bogus considering that the init script is essentially just a
pointer to the main clamav one.

> W: clamav-exim incoherent-init-script-name clamd.exim

See above discusion about the clamd.exim convention.

> license (GPL) OK, need text in %doc.

Well, there is no text "upstream" (because there isn't an upstream) so this
isn't essential.

> No upstream, is this okay?

Well, there's no upstream to have, this package is really not much more than
metadata for packaging consistency

> macro use not consistent between %var and %{var}

I'll review, though I didn't think there was a problem with %x and %{x} where
used for clarity.

Thanks again.

Comment 3 Orion Poplawski 2006-02-15 22:23:10 UTC
(In reply to comment #2)
> Thanks very much for the review.  I should have mentioned that I knew rpmlint
> barfed lots, mostly due to this being a very weird package.

Yeah, we'll have to muddle through... :-)

> > W: clamav-exim no-documentation
> 
> There are no docs, though maybe I should write a short README.

I think that would be good - explicitly stating the license as well as a copy of
the GPL.
 
> > E: clamav-exim incoherent-logrotate-file /etc/logrotate.d/clamd.exim
> 
> Is this the filename (i.e. clamd.exim) that it's complaining about? If so, I
> know it's not the same as the package but the convention wasn't invented by me
> but does make sense.

I think you need to use clamd-exim here and elsewhere (init.d).  "." usually
implies a meaningful suffix.

> > E: clamav-exim non-standard-uid /var/run/clamd.exim clamexim
> > E: clamav-exim non-standard-gid /var/run/clamd.exim exim
> > E: clamav-exim non-standard-dir-perm /var/run/clamd.exim 0750
> > E: clamav-exim non-standard-gid /var/log/clamd.exim exim
> 
> I don't really understand these; the uid/gid/perms are intended and correct.
> 

Yeah, looks like this is what clamav does.

> > E: clamav-exim non-root-group-log-file /var/log/clamd.exim exim
> 
> So, clamexim.root then? Howveer, users in the "exim" group might conceivably
> want read-access to the logs.
 
Well, others seem to do this too, and seems sensible.

> > W: clamav-exim dangerous-command-in-%post chmod
> > ^ If you really need a log file, perhaps create in %install?
> 
> I could do. However, this stuff all came from the original spec fragments that
> were checked into the clamav package by David Woodhouse (dwmw2@redhat). Given
> that David is more experienced than me I was deferring to his judgement. Any
> other thoughts from others would be welcome.

Okay, looks like this is what clamav spec does too.
 
> > E: clamav-exim init-script-name-with-dot /etc/rc.d/init.d/clamd.exim
> 
> See above discussion about the clamd.exim convention.

Yeah, should be clamd-exim  

> > E: clamav-exim no-status-entry /etc/rc.d/init.d/clamd.exim
> > W: clamav-exim no-reload-entry /etc/rc.d/init.d/clamd.exim
> > E: clamav-exim subsys-not-used /etc/rc.d/init.d/clamd.exim
> 
> These are all bogus considering that the init script is essentially just a
> pointer to the main clamav one.
> 
> > W: clamav-exim incoherent-init-script-name clamd.exim
> 
> See above discusion about the clamd.exim convention.
> 
> > license (GPL) OK, need text in %doc.
> 
> Well, there is no text "upstream" (because there isn't an upstream) so this
> isn't essential.
> 
> > No upstream, is this okay?
> 
> Well, there's no upstream to have, this package is really not much more than
> metadata for packaging consistency

I'll ask some questions on the list.

Comment 4 Tim Jackson 2006-04-27 22:44:15 UTC
OK, I've looked into this. The /usr/share/clamav/clamd-wrapper script, provided
by clamav-server, hardcodes "clamd.XXX" as the service name in several places.
So either we stick with clamd.exim as the service name or have to file a bug
with Enrico and get him to patch the main ClamAV package.

I presume there was some reason why clamd.XXX was chosen.

Also, this package should possibly be renamed clamav-server-exim.

Comment 5 Orion Poplawski 2006-05-02 21:07:11 UTC
I think you should bail on using clamd-wrapper.  Use it as a base for a new
clamav-exim (or clamav-server-exim) script, but change it so you can use the
expected naming conventions for the init and logrotate scripts.

Comment 6 Tim Jackson 2006-05-18 11:01:01 UTC
If "clamd.SERVICE" truly is wrong, I think it should be fixed "upstream" in
clamd-wrapper rather than just ignoring clamd-wrapper. I've emailed the Enrico
offline to solicit his comments.

Comment 7 Orion Poplawski 2006-05-18 16:45:01 UTC
(In reply to comment #6)
> If "clamd.SERVICE" truly is wrong, I think it should be fixed "upstream" in
> clamd-wrapper rather than just ignoring clamd-wrapper. I've emailed the Enrico
> offline to solicit his comments.

See also bug 190492

Comment 8 David Woodhouse 2006-09-12 16:17:59 UTC
I've actually already added this support in a subpackage of exim: exim-clamav.


Comment 9 Jason Tibbitts 2006-09-12 18:14:00 UTC
I'll go ahead and close this out.


Note You need to log in before you can comment on or make changes to this bug.