On Wed, Aug 5, 2009 at 3:59 PM, Stephen Takacs<perl...@gmail.com> wrote: > Luis Useche wrote: >> It seems like an additional information should be added to the package >> database. A bit indicating if the package was installed manually by >> the user (admin?) or not. Then, the package can only be deleted if the >> the user explicitly say so as oppose to "automatic deletion as >> dependency". > > That might be a solution if you're stricly using package/ports. But > consider what happens when you manually build and install other programs > that came in the form of plain old source code tarballs (make && make > install, etc.) Most of these programs will have library dependencies > and some of those libraries will have already been installed as > dependencies of "official" packages. If you remove the whole shebang (a > package and all its unique deps) then your custom-built programs won't > find some of their libs anymore... >
It is really have to solve those twisted cases. I think the 'manually installed' bit can solve most of the 'safe deletion' problems and can be very useful. In your hypothetical case, when you install those libraries to be able to compile your third-party application, the package will be automatically marked as 'manually installed', meaning that it can only be removed if you explicitly say so. One thing I forgot to mention before is that I have used a couple of package managers that support this functionality and it works very well in my experience. It can successfully solve most of the of safely deletion packages with its dependencies. Luis Useche use...@gmail.com