Upgrade Tool

Chris Maness chris at chrismaness.com
Sat Apr 29 22:01:32 UTC 2006


Kris Kennaway wrote:
> On Sat, Apr 29, 2006 at 08:58:58AM -0700, Chris Maness wrote:
>   
>> Currently, I download the tarballs for each specific application by 
>> hand, delete the old folder, then untar the new directory in the ports 
>> tree.  Is there an app that does this without having to do this by 
>> hand.  I know about cvs syncing the whole ports tree, but I prefer to 
>> upgrade the specific applications that have issues not the whole tree.
>>     
>
> This is much harder than you might think; often applications depend on
> other applications and infrastructure elements in complex and
> unintuitive ways, so you will easily get your system into an
> inconsistent, unbuildable state following this method.
>
> The only foolproof way to do it is to update the entire tree; tools
> like portsnap and cvsup make this *really easy*, so why add extra
> effort and risks?
>
> Kris
>   
I do this because it is not necessary to build every third party 
application just because I have a problem with one.  I have ran into 
this UNIX version of DLL hell, but it was easy to fix after I synced the 
whole tree and ran portupgrade -a.  That just rebuilt everything 
installed, and made everything current.  I have been upgrading single 
apps by hand with no ill results for a while.  The only time igot into 
trouble was after I synced the whole tree and tried only upgrading some 
of the apps.  It just seems like re-compiling every application every 
time portaudit finds a security hole is a waste of processor time.

p.s. another thing I found that works well is doing a portupgrade -r.  
This causes everything that depends on that package to be upgraded as 
well.  At least that is better than recompiling EVERYTHING on the whole 
box, and if you have open office that app takes 9 GB of disk space and 
24hrs on a 3 GHz processor by itself.

Thanks
Chris Maness


More information about the freebsd-ports mailing list