[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: making two subpackages with files in exactly the same place



On 30 Jul 2002, Arkadiusz Miskiewicz wrote:

>This is suggestion of feature for rpm 4.1.
>
>I have XFree86.src.rpm which contains whole xfree (including normal ati drivers)
>and separate ati.2 drivers (from gatos project). 
>
>I want to build two subpackages:
>XFree86-driver-ati (original ati drivers from xfree)
>XFree86-driver-ati.2 (new ati drivers from gatos.sf.net)
>
>Now the problem is that in both packages different files
>must be placed in exactly the same place for example:
>/usr/X11R6/lib/modules/drivers/r128_drv.o. Of course
>both packages will Obsolete each other. (I can't
>build ati.2 drivers from separate spec file because xfree
>sources are needed and also I thing that would be overkill).
>
>afaik this is not possible even in rpm 4.1 so I'm suggesting
>support for something like %root(number) or %root(/blah). For
>example original driver is installed at
>$RPM_BUILD_ROOT/usr/X11R6/lib/modules/drivers/r128_drv.o
>while gatos driver at
>$RPM_BUILD_ROOT/gatos/usr/X11R6/lib/modules/drivers/r128_drv.o
>and then in files section:
[SNIP]

I think all of the above is unnecessary complexity.  There is
IMHO much saner approach which can be used to accomplish the same
feat.

Install the GATOS driver to:
$RPM_BUILD_ROOT/usr/X11R6/lib/GATOS/modules/drivers/r128_drv.o

Package it up there too.  Then for runtime X configuration, by 
default the normal ATI driver will be used.  In order to use the 
GATOS driver instead, add the following lines to your XFree86 
config file in the Files section:

ModulePath "/usr/X11R6/lib/GATOS/modules"
ModulePath "/usr/X11R6/lib/modules"

The first path will override the second one.  This is the
technique that I use during XFree86 development.

Another alternative would be to rename both drivers to something 
else, and manage a radeon_drv.o symlink pointing to the right 
one.  However, my method above is superior to that as it doesn't 
require filesystem trickery, many many different driver trees may 
co-reside and not conflict, and also the proper driver path gets 
written to the log file for debugging/troubleshooting.

In addition, it would be trivial to add support to an existing X
config tool to configure ModulePath override directories.

Hope this helps.
Looking for Linux software?   http://freshmeat.net  http://www.rpmfind.net
http://filewatcher.org  http://www.coldstorage.org  http://sourceforge.net





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []