fc4 ghost md5sums: a tale of woe

Matthew Miller mattdm at mattdm.org
Fri Mar 31 16:22:37 UTC 2006


On Fri, Mar 31, 2006 at 06:48:08AM -0600, Rex Dieter wrote:
> >  %ghost %attr(0644,root,root) %verify(not md5 size mtime) /var/log/lastlog
> >in both files.
> >Okay, fine, that should work. And the packages in the FC4 updates area
> >indeed both install without conflict.
> In my experience, that does *not* work.  Sharing of files (whether their 
> %ghost'd or not) *only* works if the original contents are *exactly* the 
> same (timestamp, ownership, permissions, contents, md5sum, etc...).


You got util-linux and setup installed on your system? It's working. :)
Timestamps can be different, but yeah, everything else should be the same.

In the case of the problem described, the files _are_ the same -- they're
zero length files. But, as far as I can tell, FC4's RPM stores the md5sum of
ghosted files differently from whatever version of RPM Red Hat is using to
actually build the FC4 packages they release.

In an RPM built on FC3 and above, the package contains _nothing_ for the
md5sum. In packages built on FC2, and to my surprise, the FC4 packages in
the updates repository, the ghosted files have their "correct" checksum --
that of an empty file.

That's fine as long as you don't try to rebuild any of those packages
locally, but if you do, you'll run into this issue.

I assume the change was made so that ghosted files _don't_ have to start
identically, which makes sense, but it causes weirdness when the official
packages aren't built that way.

-- 
Matthew Miller           mattdm at mattdm.org          <http://mattdm.org/>
Boston University Linux      ------>              <http://linux.bu.edu/>




More information about the fedora-devel-list mailing list