I have a question for all you urpmi experts out there. Normally, I stick to 
urpmi whenever possible. But there are times when a newer package is needed 
than is available in an rpm. Or even the package needs some development work.

I'm in that situation right now with sane. If I want to get my old scanner 
working (a Mustek 1200 III EP), I'm going to have to tweak the sane-mustek_pp 
back-end, because this particular model is not supported. Sounds like an 
interesting project...

So I downloaded the latest stable tarballs to start with, and did the 
usual ./configure; make; su; make install. This put the executables 
in /usr/local/bin, the libraries in /usr/local/lib, and the config files 
in /usr/local/etc/sane.d. Of course, these locations can be overridden by 
passing a PREFIX value.

Now here's the problem: Mandriva (10.1 Official) already has sane installed 
in /usr/bin, /usr/lib and /etc/sane.d. So now I have two versions of sane 
installed, one via rpms, and one via compiled source. But /usr/bin comes 
before /usr/local/bin in the standard path (and I'm sure there's something 
similar for libraries, though I forget exactly what at the moment). So the 
old version still gets invoked.  It would have made more sense to me to 
have /usr/local come before /usr, to allow overrides like this, but it is 
what it is.

So here are the options as I see them:

1. "urpme sane" to get rid of the old version. This was my first thought, but 
unfortunately, a lot of packages have dependencies on sane, and urpme wants 
to remove them too. This includes drakconf, harddrake, open office, and 
mdkonline! I don't think removing things like drakconf and harddrake is a 
good idea, so I aborted.

2.  Force urpme to ignore dependencies (--force, I think?), but I don't know 
how these apps will behave with a newer version of sane than they were built 
with.

3. Recompile with PREFIX=/usr, so that the "make install" overwrites the older 
version of sane. But I think this would leave the rpm database in an 
inconsistent state relative to the file system. I don't think any good could 
come of that.

4. Recompile from source all the packages that get removed by urpme. Sounds 
like a lot of work.

5. Use checkinstall (I think that's what it was called) to build rpms from the 
source, then install those. But the only time I tried to use checkinstall, it 
was a disaster (don't remember the details though, just that it was bad).

None of these options are pretty. Any other options I'm not considering? Is 
there not some way to make urpmi and source compilation cooperate? Some way 
to tell urpmi that "version x of package y really is installed, even though 
you don't think so"?

-- 
Ron
ronhd at users dot sourceforge dot net

Opinions expressed here are all mine.

"As you know, necessity is the mother of invention.
I don't know who the father is. Remorse, I guess." - Red Green

____________________________________________________
Want to buy your Pack or Services from Mandriva? 
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________

Reply via email to