Date: Tue, 10 Jun 2003 08:15:52 +0200 From: "Patrik Forsberg" <patrik.forsberg@dataphone.net> To: "Support" <support@netmint.com>, "Lewis Watson" <lists@visionsix.com> Cc: freebsd-isp@freebsd.org Subject: RE: Updating Ports on Production Servers Message-ID: <8F69143C0B1A9F4D95AFC58CF69877E501354AB0@exhsto1.se.dataphone.com>
next in thread | raw e-mail | index | archive | help
> > 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 <old-package-name> 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 <port-name>" 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 <port-name>" 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8F69143C0B1A9F4D95AFC58CF69877E501354AB0>