Bug 70919

Summary: rpm -V a2ps lists /usr/share/a2ps/afm/fonts.map as changed.
Product: [Fedora] Fedora Reporter: Aleksey Nogin <aleksey>
Component: a2psAssignee: Tim Waugh <twaugh>
Status: CLOSED RAWHIDE QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 9CC: chkr, pertusus, petrosyan
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 4.14-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-14 21:34:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Aleksey Nogin 2002-08-06 21:12:03 UTC
a2ps includes /usr/share/a2ps/afm/fonts.map as a config file. But if fact,
changes made to this file are likely to get overwritten on upgrade as a2ps will
post-install script will regenerate it. Also, this regeneration at install time
will cause the file to always be listed as modified by rpm -V.

Comment 1 Aleksey Nogin 2004-11-29 16:32:50 UTC
Still there in a2ps-4.13b-41

Comment 2 petrosyan 2005-06-20 06:18:30 UTC
Still there in a2ps-4.13b-46

Comment 3 petrosyan 2006-04-08 01:51:08 UTC
This bug is still present in Fedora Core 5
a2ps-4.13b-49

Comment 4 petrosyan 2006-06-24 15:58:25 UTC
this bug is still present in a2ps-4.13b-51

Comment 5 John Thacker 2006-10-31 13:40:19 UTC
Fixed as of 4.13b-55:
"Use better manifest flags for fonts.map."
It's now %config(noreplace) %verify(not md5 size mtime) in the spec file.
Sorry it took so long to fix.

Comment 6 petrosyan 2008-04-11 22:37:13 UTC
this bug is present in a2ps-4.13b-71.fc9

$ rpm -V a2ps
S.5....T    /usr/share/a2ps/afm/fonts.map

Comment 7 Christian Krause 2008-05-03 21:25:41 UTC
I see the problem in current RAWHIDE (upcoming F9) as well.

The problem was once fixed, but it was reverted last year during a review of the
spec file (rpmlint complained that there are %config files in /usr):

cvs diff -r 1.67 -r 1.68 a2ps/devel/a2ps.spec :
....
-%config(noreplace) %verify(not md5 size mtime) %{_datadir}/a2ps/afm/fonts.map
+%{_datadir}/a2ps/afm/fonts.map
....

There were some discussion about this issue in this bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=225235

IMHO rpmlint is right, there should be no volatile %config files in /usr (which
could be probably mounted r/o). But on the other hand, no program should alter
files in this directory during installation either. So the only solution would
be to put this file into /etc or something like that.

Comment 8 Patrice Dumas 2008-05-03 22:08:19 UTC
(In reply to comment #7)
> IMHO rpmlint is right, there should be no volatile %config files in /usr (which
> could be probably mounted r/o). 

The issue is not with volatile files, the point is that there should 
be no config file in /usr. (And no file written to during system operation).

> But on the other hand, no program should alter
> files in this directory during installation either. So the only solution would
> be to put this file into /etc or something like that.

No. During installation the directory cannot be r/o and it is right
to modify files in it. Another examples are
/usr/share/icons/hicolor/icon-theme.cache
/usr/share/t1lib/FontDatabase
/usr/share/t1lib/t1lib.config

/etc/a2ps is for user config files, not for config files from the
vendor (ie upstream a2ps and packager).

Now you may argue that it should better be done in /var/, something
along /var/lib/a2ps, but it wouldn't really be different (I think 
that using /var/lib/a2ps may be better if we used %triggers or
if there was something to have a2ps be aware when packages install
type1 fonts, but this isn't even obvious).

Quoting the FHS:
"Everything that once went into /usr that is written to during system operation
(as opposed to installation and software maintenance) must be in /var."
It is geneated during installation, so it can be in /usr/.

There is a technical way to solve the rpm -V issue, it is to touch
the file in %build, and have in %files
%ghost %verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map


Comment 9 Patrice Dumas 2008-05-12 10:41:48 UTC
Tim what is your opinion about that? Are you ok to have
%ghost %verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map

Comment 10 Tim Waugh 2008-05-14 15:40:10 UTC
Yes, fine with me.