From owner-freebsd-hackers@FreeBSD.ORG Fri Sep 26 18:34:48 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19DB21065692 for ; Fri, 26 Sep 2008 18:34:48 +0000 (UTC) (envelope-from mwm-keyword-freebsdhackers2.e313df@mired.org) Received: from mired.org (five.mired.org [66.92.153.75]) by mx1.freebsd.org (Postfix) with ESMTP id BC6FA8FC1F for ; Fri, 26 Sep 2008 18:34:47 +0000 (UTC) (envelope-from mwm-keyword-freebsdhackers2.e313df@mired.org) Received: (qmail 44705 invoked by uid 1001); 26 Sep 2008 14:06:12 -0400 Received: from bhuda.mired.org (bhuda [192.168.195.1]) by bhuda (tmda-ofmipd) with ESMTP; Fri, 26 Sep 2008 14:06:11 -0400 Date: Fri, 26 Sep 2008 14:06:10 -0400 To: freebsd-hackers@freebsd.org Message-ID: <20080926140610.0f6ea7f6@bhuda.mired.org> In-Reply-To: <48DC01DA.9040108@minibofh.org> References: <48DC01DA.9040108@minibofh.org> Organization: Meyer Consulting X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.11; amd64-portbld-freebsd7.0) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAG1BMVEXguIzRkGnhyaz069mXhW0WHRnbrnR9WCQ6LB0CchNMAAACSUlEQVQ4jV2TQW7jMAxFGaPQOgQEdZaGMsgBrAvUA03dCxj1Uu4U2gfwQD7AGNax51NK07RcxXz6/CSl0Ij450vkPG1jzpIZM1UwDCl/xB14TWnNX8A00Qj5a0mnVFVbVUz4MeErea2HikSRqZzY894zwg9p2+/AtO8LzxFED+tNAUFeU29iFOLRxlZAcdo9A8wi8ZBMV4BKPde82Oxrvs6BTkulQIClte0DLFzzsKk9j1MBex8iUaP00Bd78S/muyFScrTXz6zLkEUxJp+SabQfNOs4f4Jpx5qSZ/304PWwlEWP1cOn/mJQR7EOD+uKhjcBLziuL7xoY5Xm+VFAUSw/LwwwsHEHxihpwV4EJH0xXRkbw1PkRw+X4pEuSJwBggqk+HEYKkiL5/74/nQkogigzQsAFrakxZyfw3wMIEEZPv4AWMfxwqE5GNxGaERjmH+PG8AE0L4/w9g0lsp1raLYAN5azQa+AOoO9NwcpFkTrG2VKNMNEL5UKUUAw34tha0z7onUG0oBoNtczE04GwFE3wCHc0ChezAJ6A1WMV81AtY7wDAJSlXwV+4cwBvsOsrQMRawfQEBz0deEZ7WNpV2szckIKo5VpDHDSDvF1GItwqqAlG01Hh50BGtVhuUkjkasg/14bYFGCgWg1fSWHvmOoJck2xdp9ZvZBHzDVTzX23TkrOn7qe5U2COEw5D4Vx3qEQpFY2Z/3QFnJxzp7YCmSMG19nOUoe869zZfOQb5ywQuWu0yCn5+8gxZz+BE7vG3j4/wbf4D/sXN9Wug1s7AAAAAElFTkSuQmCC Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Mike Meyer Subject: Re: Regenerate ports tree from installed ports? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 18:34:48 -0000 On Thu, 25 Sep 2008 23:25:46 +0200 Jordi Espasa Clofent wrote: > Hi all, >=20 > I suppose it's a dumb (and crazy) question, but as post subject says: > =C2=BFIs it possible to regenerate the /usr/ports tree _from_ the install= ed=20 > ports? Possibly. If the installed ports were built from a consistent tree, you can always just use CVS to check out a copy of the ports tree for the date of the last port you installed. However, as was pointed out here, that doesn't mean you can actually build ports from them on an upgraded operating system. > Until that point, it's all right. But everybody knows that you have to=20 > recompile all your installed ports after the kernel and userland=20 > upgrade, to re-link the new libraries and disappeared ones. Um, no, everyone doesn't know you need to do that. In fact, I've almost *never* been able to do that, because I've almost always had proprietary, binary-only software of some sort or another running on my boxes for which the vendor hadn't provided an appropriate update. That's what the compat libraries are for - you can install those, and just keep on running your old binaries. It's been a while, but I'm pretty sure I managed one update by doing the OS update - including compat - and then replacing the ports piecemeal while the old ones ran on the compat libraries. Of course, running on the compat libraries isn't the ideal solution, so you want to rebuild the ports if you can. Of course, the same thing applies to running old versions of the ports - you really want to get new bug fixes, security patches, and such like that may have come out since you installed the original software.=20 > But in my=20 > case, these boxes are used as shared web-hostings, and a lot of=20 > particularities are present. Change the php version, for example, can=20 > means that tens of webs not work fine. The solution in this case is to buy one new box, build the new version on it, including all ports, clone your customers environments to it, and start it as "foobar-new". Tell your customers it's there, let them test things, help them fix what's needed, and after everyone is happy, swap the names. Repeat this process using the just-retired box to build the new one on. If these are inhouse services - so you can have some real down time - then I typically build a new system on a second disk with the same data directories, and test there. When it's all working, put everything on one disk, and then mirror the two disks, so it's there next time I need to do the dual boot upgrade thing. http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org