From owner-freebsd-questions@FreeBSD.ORG Thu Oct 16 14:13:23 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7F0B216A4BF for ; Thu, 16 Oct 2003 14:13:23 -0700 (PDT) Received: from mta6.adelphia.net (mta6.adelphia.net [68.168.78.190]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5D88643FA3 for ; Thu, 16 Oct 2003 14:13:20 -0700 (PDT) (envelope-from parv_fm@mailsent.net) Received: from moo.holy.cow ([68.67.226.247]) by mta6.adelphia.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP id <20031016211322.RYAI21350.mta6.adelphia.net@moo.holy.cow>; Thu, 16 Oct 2003 17:13:22 -0400 Received: by moo.holy.cow (Postfix, from userid 1001) id EEE0EA8F3; Thu, 16 Oct 2003 17:16:52 -0400 (EDT) Date: Thu, 16 Oct 2003 17:16:51 -0400 From: parv To: Michael Lee Message-ID: <20031016211651.GA382@moo.holy.cow> Mail-Followup-To: Michael Lee , freebsd-questions@freebsd.org References: <000901c393da$6a1a06b0$ca00a8c0@michael> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000901c393da$6a1a06b0$ca00a8c0@michael> cc: freebsd-questions@freebsd.org Subject: Re: Uninstalling Port installed applications X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Oct 2003 21:13:23 -0000 in message <000901c393da$6a1a06b0$ca00a8c0@michael>, wrote Michael Lee thusly... > > Say, there are 5 applications -- A, B, C, D, E > > Installing A depends on B,C,D, and E. ... > Supposed that E was also required by another application F which > was already installed in the system, I wonder if I type 'make > deinstall' under /usr/port/xxx/A and try to uninstall A, will the > port system help me uninstall B,C,D but not uninstall E ? I don't think the port system could help by itself, either like portupgrade or "Add/Remove Software" on Windows. If you know the dependencies, just do it yourself one port at a time. There are two ways: pkg_delete(1) (pkg_deinstall(1) comes from portupgrade(1)) & "make deinstall", ports(7). By default, pkg_delete will not remove a dependency (in your case any of B, C, D, E) if the dependent port still exists (A) in the ports database (/var/db/pkg). You can force it though via "-f" option, and recursively delete ports via "-r". See pkg_delete(1) for details. The "deinstall" target (run in the directory of to-be-deinstalled-port) will deinstall the dependency port, B, C, D, or E, regardless of existence of a dependent port, A. If the dependent port exists, a warning message will be generated informing you of the fact. That has been my experience of w/ the ports so far. Back to your case... - Remove A (either by pkg_delete or "make deinstall") - Remove B, C, D. - Done (since you need E, no need to do anything else). PS: You should consider installing portupgrade only if to keep the ports database current, like i do. - Parv --