Skip site navigation (1)Skip section navigation (2)
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>