From owner-freebsd-questions@FreeBSD.ORG Sun Dec 12 02:50:28 2004 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 0917616A4CE for ; Sun, 12 Dec 2004 02:50:28 +0000 (GMT) Received: from haggis.it.ca (haggis.it.ca [216.126.86.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F58143D55 for ; Sun, 12 Dec 2004 02:50:27 +0000 (GMT) (envelope-from paul@haggis.it.ca) Received: from haggis.it.ca (paul@localhost [127.0.0.1]) by haggis.it.ca (8.12.11/8.12.11) with ESMTP id iBC2oPK6064375; Sat, 11 Dec 2004 21:50:25 -0500 (EST) (envelope-from paul@haggis.it.ca) Received: (from paul@localhost) by haggis.it.ca (8.12.11/8.12.6/Submit) id iBC2oPkK064374; Sat, 11 Dec 2004 21:50:25 -0500 (EST) (envelope-from paul) Date: Sat, 11 Dec 2004 21:50:25 -0500 From: Paul Chvostek To: Brett Glass Message-ID: <20041212025025.GA53070@it.ca> References: <6.2.0.14.2.20041211162451.05b17c98@localhost> <41BB87FB.7090700@mac.com> <6.2.0.14.2.20041211165724.05a6a2d0@localhost> <41BB8D71.6040801@mac.com> <44k6ro5m2u.fsf@be-well.ilk.org> <6.2.0.14.2.20041211185002.05e6f928@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6.2.0.14.2.20041211185002.05e6f928@localhost> User-Agent: Mutt/1.4.2.1i cc: questions@freebsd.org Subject: Re: Un-GNOME-ing a FreeBSD box X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: freebsd-questions@freebsd.org List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Dec 2004 02:50:28 -0000 On Sat, Dec 11, 2004 at 06:54:18PM -0700, Brett Glass wrote: > > Which, by the way, is what the owner of the machine is seeing. He's > listed the ports that were installed by running pkg_info, and is > laboriously visiting each one's directory and trying to do a > "make deinstall". Perhaps you know this already, but you can probably get a good idea of what all was installed during this event by looking of the timestamps of directories inside /var/db/pkg/. A dependency tree is vital in many cases, but not so much in this one -- you basically just want the list, without the ports that were already installed but may still be dependencies of what was installed. Once you have sanity-checked the list, just pkg_delete the whole batch, all on a single command line. If a dependency of something you're deleting is also being deleted, pkg_delete should know not to complain. > a clean, hierarchical tree but rather more of a "web". If there's > a circular dependency, he's stuck. Hence the value of dealing with these en masse rather than dependency by dependency. There should not be any circular dependencies in the ports tree; that would be really awkward. > Again, I really find it hard to believe that there would be no provision > for deleting a port AND the ports on which it depends cleanly. I tend > to use a minimal number of ports and packages, and so didn't realize > that this was such a difficult thing until now. The problem is the age old one of unix assuming that if you do something, it's because you wanted to do it. There are lots of tricks folks will tell you of how to back out, but none of them are guaranteed to be clean, because what your friend did was simply a bad thing to do. Dump compost in your living room, then find the "undo" key. The ports system is designed to allow you to install and upgrade what you need in order to make sure you can do what you want with your system. That kind of activity is *far* more common than cleaning up messes like the one your friend has. If more people dumped compost in their living rooms, I'm sure carpet manufacturers, Dirt Devil, Hoover, etc would come up with tools to help them back out of such a change to their environment. -- Paul Chvostek it.canada http://www.it.ca/