Originally Posted by jailbait
I recommend that you use checkinstall to compile your FireFox 1.5 source into a rpm package. Then install the FireFox 1.5 rpm package using rpm and then turn right around and uninstall the Firefox 1.5 rpm package. The result will be that there will be no trace of FireFox 1.5 anywhere in your system including the rpm data base. I have used checkinstall like this several times.
Then install FireFox 2.0 from the 2.0 rpm package.
Yea but if he compiled firefox from source, chances are that the install prefix is /usr/local unless he explicitly set --prefix= to something.
An RPM will install and uninstall to and from /usr by default once you make it.
I'd rerun make install on 1.5 and redirect the output into a file
make install > firefoxinstall.log
At the end of firefoxinstall.log you'll see all the file copies make did. It will copy a large block of freshly compiled stuff to a destination location usually with wildcards.
You can do an ls -1 [wildcard] with the same wildcard used in the make file in the source directory to get your file list and feed that to rm:
cd [to location in make output where files got copied]
ls -1 [srcdirectory]/[wildcard used in make] | xargs rm -f
and walk through this list. Start at the end of the list and work your way backwards through the log.
What this does is feed the list of files in srcdirectory to rm -f in the current directory, producing a list of filenames in the source directory you need to delete in the current one.
This will surgically remove everything the make script put there from that source directory, using the same directory of files and wildcard make did when it put them there.
Afterwards run ldconfig again. This sounds like a lot of work but it's not. There's usually only around 6-7 file copy commands you need to worry about.
Compiling your network apps and servers from source is not a mistake and don't let anyone tell you it is 8)Sometimes it's the only way possible to get the feature set you want. When 0day comes for one of your services, and you can't use them until someone gets a package released, you will understand.