Your MacPorts ports need some love: the "cd" command is going away

Ryan Schmidt ryandesign at macports.org
Mon Nov 12 01:37:18 PST 2007


Hi! You're receiving this email because a MacPorts port you maintain  
uses the Tcl command "cd" to change into a directory for some reason.  
The "cd" command has been deemed harmful for MacPorts, so a future  
version of MacPorts will hide it from portfiles [1]. (MacPorts trunk  
already does [2].) Therefore it's necessary to remove this command  
everywhere it occurs in your portfiles, so that your ports continue  
to function in future versions of MacPorts.

To be clear: what's no longer ok is using something like this:

cd ${worksrcdir}

Instances of "cd" inside a "system" invocation, however, are still  
fine and do not need to be changed:

system "cd ${worksrcdir} && whatever"


If you need help figuring out how best to avoid using the Tcl "cd"  
command in your ports, you can post a message to the macports-dev  
mailing list, or just reply to this message. You can also check  
recent commits to the repository for ideas [3] (search the log for  
"cd"); I'm busy fixing this issue in various ports that don't have a  
maintainer.


Note that for some of your ports, tickets may already have been filed  
in Trac, and for some of those tickets, patches may already be  
attached, such that all you have to do is test it and commit it. If  
you do not have commit access yourself, feel free to attach a tested  
patch to a ticket and let me know which ticket, or just send me the  
patch as an attachment in an email, and I'll be happy to commit it  
for you.


To see everywhere in your ports where the "cd" command is currently  
being used, you can use a command like this in the Terminal  
(replacing "EMAIL" with your maintainer email address (to which this  
email was sent)):

port file maintainer:EMAIL \
| xargs grep "[[:space:]]cd[[:space:]]" \
| grep -v "system[[:space:]]"


If for any reason you no longer wish to maintain some or all of your  
ports, please let me know which ports I'll take you off the  
maintainer list.


Thank you.
Ryan Schmidt, for The MacPorts Project


[1] http://trac.macports.org/projects/macports/ticket/12914

[2] http://trac.macports.org/projects/macports/changeset/28796

[3] http://trac.macports.org/projects/macports/log/trunk/dports




More information about the macports-dev mailing list