On Monday 29 April 2002 18:50, James P. Bennett wrote:
A problem is that what's "locally installed" is not something that any single vendor controls. If a user grabs the latest version of
Actually, yes it is. The LSB defines /usr/local to be "empty after main installation" (is this fixed in 8.0 I wonder) Further, it says <quote> The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts but not found in /usr Locally installed software must be placed in /usr/local rather than /usr unless it is being installed to replace or upgrade software in /usr </quote> There is a footnote to this that says <quote> Software placed in / or /usr may be overwritten by system upgrades (though we recommend that distributions do not overwrite data in /etc under these circumstances). For this reason, local software must not be placed outside of /usr/local without good reason </quote>
GodzillaEatsSpam.rpm from the web, he or she will usually find it to be non-relocatable, won't (or can't) go beyond installation defaults to take the trouble of moving to /usr/local.
Then I suggest using rpm2cpio and manually installing the software. Or finding an LSB-compliant RPM.
Surely a vendor is not responsible for upgrading what's in /usr/local. I don't suggest that. But neither should installation of a new release require deleting GodzillaEatsSpam if it's in /usr: tarring to tape the fs, then doing clean install, then selectively untarring takes forever.
Am I wrong in thinking that, when the upgrade encounters /usr/bin/GodzillaEatsSpam, it (conceptually) asks:
0. Am I working interactively? y/n 1. Am I instructed to upgrade GodzillaEatsSpam? If yes, continue. If no... 2. ...Is GodzillaEatsSpam in the rpm database? If no, continue. If yes... 3. ...Am I about to annihilate files which GodzillaEatsSpam needs? If no, continue. If yes... 4. If I'm working interactively, warn user about imminent annihilation and ask instructions.
It could do that, but under the LSB it doesn't have to, and you shouldn't rely on such functionality. Anders