Help Needed: FC5 Blocker List and Rawhide Install Testing

Mike A. Harris mharris at mharris.ca
Tue Mar 14 23:07:18 UTC 2006


Bill Crawford wrote:
> Ralf Ertzinger wrote:
> 
>> Hi.
>>
>> On Wed, 8 Mar 2006 17:04:09 +0100, Patrice Dumas wrote:
>>
>>  
>>
>>> [dumas at nor75-15-82-67-190-22 include]$ rpm
>>> -qf /usr/X11R6/include/Mrm/MrmAppl.h openmotif-devel-2.3.0-0.1.9.2
>>> [dumas at nor75-15-82-67-190-22 include]$ rpm -qf /usr/X11R6/include/Mrm/
>>> file /usr/X11R6/include/Mrm is not owned by any package
>>>
>>>    
>>>
>>>> If yes, does rpm -ql openmotif show any files in /usr/X11R6?
>>>>       
>>>
>>> No they appear to be in /usr/include [dumas at nor75-15-82-67-190-22 
>>> include]$ rpm -ql openmotif-devel | grep
>>> X11R6
>>>
>>> echoes nothing, and there is:
>>>
>>> [dumas at nor75-15-82-67-190-22 include]$ rpm -ql openmotif-devel | grep
>>> MrmAppl.h /usr/include/Mrm/MrmAppl.h
>>>     
>>
>>
>> I had the same effect while migrating to modular X. Maybe someone more
>> versed in RPM internals can tell why RPM thinks that oponmotif owns
>> files in /usr/X11R6 when rpm -ql show none of those files.

Rawhide developmental growing pains.  Clean OS installs will not have
this problem, and upgrades direct from FC3/FC4 or older to FC5 final
should either not have this problem, or should have very minimal
issues at best.

Any systems which have tracked rawhide from November or so in an ongoing
basis, may have random files in /usr/X11R6 which are not owned by any
rpm packages anymore.

This is due to longstanding (and aparently permanent) limitation in rpm,
which can not replace a directory with a symlink, nor a symlink with
a directory when upgrading packages.  (It also can't replace a dir with
a file I've since discovered with the xkbdata package.)

Since it was mandatorily required that the dir/symlink be replaced in
this case, due to this rpm bug a workaround was required which had these
negative (but temporary) side effects, which only affected rawhide
systems.

The xorg-x11-filesystem package was created as the workaround for this
issue, because it had to be worked around via rpm %post scripts which
were ran during upgrades and guaranteed to occur prior to other packages
getting installed.  The "filesystem" package would have been the first
choice to use, but that package can not have any rpm scripts present in
it, because it is one of the first packages installed on the system.


> The files in the -devel package install to /usr/include/X11 which was 
> (and might still be, if rpm -qf is reporting ownership of those files) 
> symlinked to /usr/X11R6/include/X11

All of the X library -devel subpackages contain:

Requires(pre): xorg-x11-filesystem >= 0.99.2-3

That enforces that xorg-x11-filesystem gets installed first, which fixes
the directory/symlink problem, ensuring that the -devel packages get
installed into the proper location and end up managed by rpm.

All of the modular X packages which install files into a directory which
used to be a symlink previously, now depend on xorg-x11-filesystem being
installed first, using the above hard coded dependency.



-- 
Mike A. Harris  *  Open Source Advocate  *  http://mharris.ca
                       Proud Canadian.




More information about the fedora-devel-list mailing list