From owner-freebsd-ports@FreeBSD.ORG Sat Aug 11 11:03:31 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8C1E16A41A for ; Sat, 11 Aug 2007 11:03:31 +0000 (UTC) (envelope-from rakheshster@gmail.com) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.190]) by mx1.freebsd.org (Postfix) with ESMTP id 4BFA013C459 for ; Sat, 11 Aug 2007 11:03:31 +0000 (UTC) (envelope-from rakheshster@gmail.com) Received: by mu-out-0910.google.com with SMTP id w9so1083128mue for ; Sat, 11 Aug 2007 04:03:29 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:received:date:x-x-sender:to:cc:subject:in-reply-to:message-id:references:mime-version:content-type:from:sender; b=GwHv8wVhqTXv5ydOJA39IDGohwVEN3FYfxoyR0Os2owrS967LepEcSFpNj2D56nlB68RUuy2QxmhMlhH4cz8DJdnK6gm714VIu8VY3+HG2GQIaouehSEiLFY+2vrsNIz2QgoATT7tK2TYDrjEZuBaiTVDqPoRYgN00LNyT4KTvc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:x-x-sender:to:cc:subject:in-reply-to:message-id:references:mime-version:content-type:from:sender; b=NMyj4PxUIcnCtgaNfMbdHJs1dnyd+jxKHuMGcAnFoeu6yUoDaMIPVdg0fxzP3DDb9dD4cG83H6FvmMWuW/7fLWVBY6Ay8zbiFtdFYcDE9cXH/cYmmY1KZqFVqgV2FjjLTETf+OWZouXMeq5vHwbAzMtJon50Z4BGxQ29pDNvv0g= Received: by 10.78.97.7 with SMTP id u7mr1574105hub.1186830209680; Sat, 11 Aug 2007 04:03:29 -0700 (PDT) Received: from smtp.home.rakhesh.com ( [82.178.137.21]) by mx.google.com with ESMTPS id 40sm1808389hue.2007.08.11.04.03.25 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 11 Aug 2007 04:03:26 -0700 (PDT) Received: from obelix.home.rakhesh.com (obelix.home.rakhesh.com [192.168.17.13]) by smtp.home.rakhesh.com (Postfix) with ESMTP id BDD7B5080A; Sat, 11 Aug 2007 15:02:53 +0400 (GST) Date: Sat, 11 Aug 2007 15:02:53 +0400 (GST) X-X-Sender: rakhesh@obelix.home.rakhesh.com To: Jeremy Chadwick In-Reply-To: <20070811083357.GA34007@eos.sc1.parodius.com> Message-ID: <20070811145314.A47727@obelix.home.rakhesh.com> References: <20070811115642.L34115@obelix.home.rakhesh.com> <20070811083357.GA34007@eos.sc1.parodius.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed From: Rakhesh Sasidharan Sender: Rakhesh Sasidharan Cc: freebsd-ports@freebsd.org Subject: Re: How did upgrading applications happen before portupgrade etc? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Aug 2007 11:03:32 -0000 Jeremy Chadwick wrote: > Along those lines, yes. I'm one of those administrators who does not > want something like portupgrade on his systems; I do not believe in > having two separate databases maintaining dependencies and what's > installed (portupgrade vs. base system pkg_* tools). Lots of people > love portupgrade, and that's great. But the number of times I have seen > reports of database corruption or "database sync mismatches" > (portupgrade thinks A, while pkg_* thinks B) is astounding. Actually, doesn't portupgrade use the same databases as the base tools? It just creates other databases based on these existing ones, for faster lookups etc, but they are expendable in case of problems afaik. Just delete and it will get recreated again ... (I am new to all this, so I could be wrong in some way I don't know; this is my understanding). > There are script-based tools now such as Doug Barton's portmaster which > I haven't used or looked into yet, but the fact that they rely on the > stock base pkg_* tools is fantastic. Those are something I'm open to. Afaik portmaster's beauty is that it doesn't have any dependencies like portuprade does. Doesn't require ruby etc, so upgrades to them don't cause problems like they could with portupgrade. (Again, haven't used portmaster, so I don't know; this is my understanding). > Anyways, opinions aside and to answer your question -- the procedure I > go through is something along these lines: > > 1. Update ports tree (cd /usr/ports && make update) > 2. pkg_version -v and look for stuff that's reported outdated or > "Comparison failed" (likely the port relocated to another section) > 3. Examine the CVS commit log for the port in question. A lot of the > time I'll find that the upgrade simply isn't worth it, so no harm > done in leaving it outdated. > 4. Shut down services/daemons which might be affected by below steps. > 5. pkg_delete port > 6. cd /usr/ports/whatever && make clean > 7. make config, make && make install > 8. Make sure configuration file symlinks didn't get nuked. > 9. Restart services/daemons. > 10. Pay close attention to /var/log/all.log for quite some time. :-) I see. In step 5, "pkg_delete port" wont work if port is required by others right? So you delete those apps too? Could be a lot of stuff to uninstall, right? > Note that we keep all of our configuration files in a directory called > /conf/ME and in /usr/local simply use symlinks. (Matt Dillon might be > grinning over /conf/ME, since it's a Best Internet-ism :) ). I don't > trust that all ports will "play nice" with existing configuration files > in /usr/local, and I have seen much evidence of this in the past (nuking > files without your knowledge, mainly. "Oh crap! It nuked our entire > configuration for the apache/mail/whatever server!!!"). That's a smashing idea! Thanks for mentioning that here. :-) What does the "ME" stand for in /conf/ME btw? Thanks for sharing your traditional steps with here btw. Regards, Rakhesh