Updating Ports on Production Servers

Scot W. Hetzel hetzels at westbend.net
Fri Jun 6 16:45:16 PDT 2003


From: "Lewis Watson" <lists at visionsix.com>
> I am a big fan of the ports collection and use the ports to build the
> programs I use on our production servers. Now I am wanting to update some
> ports and have a chicken and egg issue. If I go ahead and 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 notified that
> the version that is running is not on the machine so then I guess force
> the uninstall? Either that or just do a make - make install and overwrite
> the old port binaries with the new binaries ( this does not seem good
> either).
>
> It appears the only way to cleanly upgrade a port is to deinstall the
> current port. Run CVSUP portfile... and get the new port files... do a
> make - make install and get the new version of the port installed. This
> opens the machine to several minutes of downtime while the program is
> being made... (not good either)
>
> Please tell me the way that it's being handled on your servers/ network...

First you need to CVSUP your ports collection to update it,  then you  have
two ways to upgrade the port:

    1. Use the old upgrade method:
        a. cd /usr/ports/<category>/<port-name>
        b. make build
        c. pkg_delete <port-name>-<old-version>
        d. make install

        Disadvantage:
            - Doesn't update the dependencies of the port.
            - Requires you to remove and reinstall all ports that depend on
the port your installing.
or

    2. Use sysutils/portupgrade

        Advantage:
           - Upgrades dependencies for the port your installing.
           - Upgrades all ports that depend on the port your installing (and
any port that had their dependencies updated)

Scot




More information about the freebsd-isp mailing list