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 ____________________________________________________
