Upgrade to Leopard mostly smooth, but has small glitch

Ryan Schmidt ryandesign at macports.org
Sat Mar 8 00:06:51 PST 2008


On Mar 8, 2008, at 01:35, paul beard wrote:

> On Fri, Mar 7, 2008 at 7:11 PM, Ryan Schmidt wrote:
>
>>  On Mar 7, 2008, at 14:31, Bill Hernandez wrote:
>>
>>> I just installed Leopard on iMacG5 and everything went off very  
>>> well.
>>>
>>> However when I restarted and looked at all the usual preferences, I
>>> launched the terminal and tried :
>>
>>  Did I understand correctly that you had Tiger, installed MacPorts  
>> and
>>  several ports, and now upgraded to Leopard and are trying to  
>> continue
>>  using the ports that were already installed? If so, I can't  
>> recommend
>>  that. I suggest reinstalling MacPorts and your ports from scratch.
>>  Ports may need to build differently on each version of Mac OS X.
>
> That seems really cumbersome. If it is necessary, any way that the
> MacPorts team could whip up a script to migrate ports to a new OS
> release?
>
> or will a simple for loop (for i in `port installed`; do . . . ) do  
> it?

I feel it's necessary. Consider all the ports you currently have  
installed that have a "+darwin_8" variant. If you upgrade to Leopard,  
your OS is now Darwin 9, but you still have +darwin_8 variants. If  
you upgrade those ports, they'll still keep the +darwin_8 variants as  
long as those ports still define those variants. Also, if those ports  
define a +darwin_9 variant, during upgrade, you'll acquire that as  
well, so now your port will be installed with "+darwin_8+darwin_9"  
which is not correct and could cause unexpected behavior.

Consider also the case of the php5 port. The +apache variant, as it  
is currently written, uses the Apache 1.3 server Apple has in Mac OS  
X 10.4 and earlier. If you upgrade to Leopard, in which Apple's  
Apache is now version 2, php5 won't work anymore, because Apache  
modules need to be recompiled to work with a different Apache  
version. To generalize, there may be variants that can only be used  
on certain OS versions, or that work differently on different OS  
versions, so ports should be recompiled when you upgrade to a new  
major OS release.

MacPorts itself may behave differently. For example, there was talk  
about using new facilities in Leopard for modifying the user's PATH.  
That specific example won't apply since it was ultimately decided not  
to use those facilities. But consider the case of upgrading from  
Panther to Tiger. If you had any ports installed that need  
startupitems, you should rebuild those ports so they'll be turned  
into launchd plists instead.

One could probably script such a reinstall, but I'm not going to  
right now. The steps would be: get the name and variants of each  
installed port, and whether or not it's active. Uninstall each port  
(optional?). Move aside all directories where MacPorts has installed  
things (/opt/local, /Library/Tcl/macports1.0, /Applications/ 
MacPorts). Install MacPorts from the appropriate disk image for your  
new OS. Install each of your previous ports with the right variants,  
deactivating those ports that were originally inactive.


> and as a hint, if you install BBedit's command line tools, you can
> simply type "edit <filename>" instead of all that other stuff. Or use
> TextWrangler, for those who are short of coin. It has the same
> facility.


BBEdit's command line tools are called "bbedit" and "bbdiff".

TextWrangler's equivalent command line tools are called "edit" and  
"twdiff".



More information about the macports-users mailing list