On Fri, Jun 30, 2006 at 06:05:15PM +0200, Tomasz Zielinski wrote: > Hello > > How can I remove package and all its dependencies recursively? In > FreeBSD there is such tool: portupgrade/pkg_deinstall (pkg_deinstall > -R). Any replacement in OpenBSD?
This shouldn't be too difficult to script - you can get the information from ports(7), print-run-depends (and, if you are building from source, print-build-depends). Or from pkg_info(8), -S. However, this does not solve the problem of what programs can be safely removed. For instance, amavisd-new now depends on gnupg; deleting gnupg might not be my intention when removing amavisd-new, while removing all the Perl dependencies - say, p5-Archive-Tar - does sound like something you'd want to do. All in all, one would have to be able to mark packages as either 'installed' or 'installed as a prerequisite'. I have a vague recollection that I'd heard Marc Espie say something to the effect that this was a desired feature that might be implemented at some point, but this is not currently possible. BTW, ISTR that Debian has some heuristics based on the existence of any non-library, non-documentation files in a package (i.e., if this is the case, some script prints and optionally removes them). Does anybody know how well that works? Joachim