From owner-freebsd-ports@FreeBSD.ORG Sat Aug 11 20:33:23 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 44B6416A418 for ; Sat, 11 Aug 2007 20:33:23 +0000 (UTC) (envelope-from jdc@parodius.com) Received: from mx01.sc1.parodius.com (mx01.sc1.parodius.com [72.20.106.3]) by mx1.freebsd.org (Postfix) with ESMTP id 2449613C428 for ; Sat, 11 Aug 2007 20:33:23 +0000 (UTC) (envelope-from jdc@parodius.com) Received: by mx01.sc1.parodius.com (Postfix, from userid 1000) id 040201CC02B; Sat, 11 Aug 2007 13:33:23 -0700 (PDT) Date: Sat, 11 Aug 2007 13:33:22 -0700 From: Jeremy Chadwick To: Rakhesh Sasidharan Message-ID: <20070811203322.GA78245@eos.sc1.parodius.com> Mail-Followup-To: Rakhesh Sasidharan , freebsd-ports@freebsd.org References: <20070811115642.L34115@obelix.home.rakhesh.com> <20070811083357.GA34007@eos.sc1.parodius.com> <20070811145314.A47727@obelix.home.rakhesh.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070811145314.A47727@obelix.home.rakhesh.com> User-Agent: Mutt/1.5.16 (2007-06-09) 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 20:33:23 -0000 On Sat, Aug 11, 2007 at 03:02:53PM +0400, Rakhesh Sasidharan wrote: >> 5. pkg_delete port > > 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? Absolutely correct. That might seem like a nightmare to most people, but to me it's not. I suppose this is also why I avoid ports that have too many dependencies (mail/p5-Mail-SpamAssassin, for example, is starting to make me consider using dspam instead). >> 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? "ME" stands for me, e.g. "myself". I guess it'd help if I explained how it worked: The /conf directory on all machines contained the configuration files for itself as well as every other machine on the network. So for shell01.whatever.com you'd find this in /conf: /conf/ME --> /conf/shell01.whatever.com /conf/mail01.whatever.com/ /conf/shell01.whatever.com/ /conf/shell02.whatever.com/ /conf/sql01.whatever.com/ /conf/test.whatever.com/ Each directory contained configuration files specific to that system. During system install, either done automatically or manually (I forget), the /conf directory on a machine is populated, and the ME symlink is made. Then the script would populate /usr/local with symlinks, and I believe also did a mkdir -p on directories. For example, if /conf/ME contained: etc/Muttrc etc/apache22/httpd.conf etc/mail/spamassassin/local.cf etc/pine.conf etc/sudoers You'd find this in /usr/local: etc/Muttrc --> /conf/ME/etc/Muttrc etc/apache22/httpd.conf --> /conf/ME/etc/apache22/httpd.conf etc/mail/spamassassin/local.cf --> /conf/ME/etc/mail/spamassassin/local.cf etc/pine.conf --> /conf/ME/etc/pine.conf etc/sudoers --> /conf/ME/etc/sudoers I believe the reason each machine had a copy of all the other machines' configs was in case one got munged on the repository server (or if you needed to "roll back" and didn't make a backup of your changes, oops), and/or if you wanted to change the "role" of a machine on the fly. All of the packages/ports installed on all the machines were 100% identical; that is, every machine, regardless of role, had the same packages/ports installed. > Thanks for sharing your traditional steps with here btw. No problem. :-) You asked a good question, so hopefully you'll get some good answers back. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |