Upgrading Software Versions Across Packages in FreeBSD

2 Jan2007

Quite often in the FreeBSD ports system, the same application will have several different ports for different branches of development.

One example of this is the Apache web server. There are separate ports for version 1.3, 2.1, 2.2 etc.

I had apache21 installed. I couldn't just use:

Normal portupgrade command to update apache21

because this would update to the latest version on the 2.1.x branch and i needed to upgrade to 2.2.x, however trying to install apache22 straight away from the port stopped with an error that the installation of apache22 conflicted with apache21.

I needed a way to upgrade apache21 to apache22 without first deinstalling apache21, and which would update all other package dependencies automatically.

Luckily, portupgrade came to the rescue (thanks _Steve_ from ##freebsd on freenode for this one):

portupgrade command to migrate between packages

the -o switch to portupgrade means 'set the origin', so the above command upgrades the apache21 port using the apache22 as the source for the upgrade.

This entry was posted on Tuesday, January 2nd, 2007 at 12:00 pm author iain dooley, freebsd, server maintenance, ports, sysadmin, ports management, portmaster, port, sysadmins

blog comments powered by Disqus

Subscribe

Subscribe via RSS

Building software in the real world - the Working Software blog

We write about our experiences, ideas and interests in business, software and the business of software. We also sometimes write about our own products (in order to promote them).