Bug 68933
Summary: | rpm -V XFree86-base-fonts-4.2.0-8 has missing files | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Chris Rouch <cro> |
Component: | rpm | Assignee: | Jeff Johnson <jbj> |
Status: | CLOSED RAWHIDE | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.3 | CC: | gczarcinski, jbj, jik |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-07-24 12:53:50 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
Chris Rouch
2002-07-16 07:46:09 UTC
ALL of those files are intentionally missing. They are "ghost" files. This means that the files are not provided by the package that owns them. They are either generated at installation time during %post script handling, or the files are optionally created by the end-user, or by some other software. The intent is that "if this file exists, then this package owns it, but if the file does not exist, that is fine". Why they show up as missing is a mystery. I'm not sure if this should be considered a bug or not, and if it is a bug, if it is a bug in RPM, or if some flag is missing from the XFree86.spec file. I'll investigate it further before resolving. Thanks. I've investigated this, and have emailed jbj to get an idea of how we might resolve these files as showing up as missing since they are not provided in the first place, and it is legal for them to not exist. Generally such files would be flagged %config(missingok) however it is not a config file, and so it isn't ok to flag it as %config, since having versions of the file named .rpmsave or .rpmnew is both ugly, meaningless, and causes problems. If only %verify had a (not exist) flag. I just got this suggestion from Nils: <nils> mharris: make the package not own it and do: <nils> %post if [ "$1" = 0 ]; then rm -f /path/to/file; fi That is another possibility. I'll wait for more feedback first however. *** Bug 69614 has been marked as a duplicate of this bug. *** More and more people are reporting this. I'm not sure what the best approach is to solve the problem. Technically speaking, these "missing" files, are missing on purpose. They are "optional" files that do not exist during installation, but which a user may opt to create, or which may be created by something else during normal system operation, depending on how commands are invoked. fonts.alias files for example are a valid file which *could* exist in any font directory. We do not ship these files in every directory however, if a user creates one, it should IMHO be owned by the package that owns that directory. If it is owned, it can be properly removed upon package removal, etc. The only alternative I can think of, is to remove ownership of these non supplied files from the packaging, and just blatantly delete any such files that might be installed during %postun processing. It is ok to leave fonts.alias files around in many cases, but encodings.dir files can cause some weird problems sometimes. I'm going to leave this issue open a bit longer before making my final decision on it. Note that this also occurs in our current beta release (Limbo) and rawhide as well. Question: if a user changes a package supplied configuration file is it deleted or left when the package is deleted? ... do a releated thing here. Suggestion: remove these files from package ownership and then delete or rename them (*.rpmsave) as appropriate in postun *** Bug 68781 has been marked as a duplicate of this bug. *** Hmmm, I can imbue %ghost with missingok semantics, that will take care of the noise on --verify, at least for rpm-4.1. I'm loathe to add %config semantics to %ghost (i.e. renaming .rpmfoo on erasure and such) as I don't believe that rpm can possibly get it right for a file that, indeed, was not contained in the package, %ghost was originally intended to insure that permissions on log files were correct, nothing more. Off to rpm for a fix OK, rpm patch is trivial. Here's the output that will be displayed by rpm-4.1-0.54: bash$ rpm -Vv XFree86-base-fonts missing g /usr/X11R6/lib/X11/fonts/100dpi/encodings.dir missing g /usr/X11R6/lib/X11/fonts/75dpi/encodings.dir missing g /usr/X11R6/lib/X11/fonts/CID/encodings.dir missing g /usr/X11R6/lib/X11/fonts/Speedo/encodings.dir missing g /usr/X11R6/lib/X11/fonts/Type1/encodings.dir missing g /usr/X11R6/lib/X11/fonts/misc/encodings.dir .M...... c /usr/X11R6/lib/X11/fonts/misc/fonts.alias bash$ rpm -V XFree86-base-fonts .M...... c /usr/X11R6/lib/X11/fonts/misc/fonts.alias And the answer to the next question What's a 'g' file? Is RTFM, "man rpm" ;-) |