From owner-freebsd-isp@FreeBSD.ORG Mon Jun 9 23:15:57 2003 Return-Path: Delivered-To: freebsd-isp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B03837B401 for ; Mon, 9 Jun 2003 23:15:57 -0700 (PDT) Received: from exhsto1.se.dataphone.com (exhsto1.se.dataphone.com [212.37.6.239]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0181143FE0 for ; Mon, 9 Jun 2003 23:15:56 -0700 (PDT) (envelope-from patrik.forsberg@dataphone.net) content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 10 Jun 2003 08:15:52 +0200 X-MIMEOLE: Produced By Microsoft Exchange V6.0.6249.0 Message-ID: <8F69143C0B1A9F4D95AFC58CF69877E501354AB0@exhsto1.se.dataphone.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Updating Ports on Production Servers Thread-Index: AcMu37qHq+KyRJN7Q/qj+6W0xvrh3AANuA0Q From: "Patrik Forsberg" To: "Support" , "Lewis Watson" cc: freebsd-isp@freebsd.org Subject: RE: Updating Ports on Production Servers X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2003 06:15:57 -0000 > > I am a big fan of the ports collection and use the ports to=20 > build the > > programs I use on our production servers. Now I am wanting=20 > to update some > > ports and have a chicken and egg issue. If I go ahead and=20 > update a port > > (pure-ftpd for example)... > > > > After I run "CVSUP portfile" the old version that's running has no > > graceful way of being removed. If I try to remove it I am=20 > notified that > > the version that is running is not on the machine so then I=20 > guess force > > the uninstall? Either that or just do a make - make install=20 > and overwrite > > the old port binaries with the new binaries ( this does not=20 > seem good > > either). > > > > It appears the only way to cleanly upgrade a port is to=20 > deinstall the > > current port. Run CVSUP portfile... and get the new port=20 > files... do a > > make - make install and get the new version of the port=20 > installed. This > > opens the machine to several minutes of downtime while the=20 > program is > > being made... (not good either) > > > > Please tell me the way that it's being handled on your=20 > servers/ network... What a "make deinstall" aculy does is a pkg_delete, so what you could do is a pkg_delete and then "make install" the new package. You could also install the package called "portupgrade", that can be found under "ports/sysutils", when you've installed this port you can simply do a "portupgrade " and it will take care of deinstalling the old port and installing the new one.=20 The bad part about using portupgrade is that you can't specify any "special" make parameters if you use any - perhaps I haven't dug deap enough into portupgrade to find out how but from what I've seen you can't. So if you use any make params to the port I'd surgest doing a "pkg_delete " and then "make install" it rather then using portupgrade. The good thing about portupgrade tho is that you can do a system-wide upgrade without knowing which packages that need to be upgraded. Regards, Patrik