[22998] trunk/dports/lang

Ryan Schmidt ryandesign at macports.org
Sat Mar 24 21:34:06 PDT 2007

On Mar 21, 2007, at 11:44, Randall Wood wrote:

> You may wish to recreate a iovm port along the lines the last  
> revision of the abiword2 port (http://trac.macports.org/projects/ 
> macports/browser/trunk/dports/gnome/abiword2/Portfile?rev=19081)  
> where the port was revised to replace itself when upgraded with the  
> new port. This would allow us to implement a seamless upgrade  
> process to the new port name so that users of the iovm port will  
> get updates to the Io port.

I like that strategy a lot and will probably end up using it myself.  
One of these days I'll get around to renaming the viewcvs port to  
viewvc and updating it to the latest version, at which point I'll  
want the existing viewcvs port to be much like the abiword2 port above.

Maybe MacPorts base should be enhanced to have this kind of thing  
built in? Where you could define a much shorter portfile which would  
just say that the port has been superseded by another port, and  
MacPorts could handle uninstalling the old / installing the new  
automatically? Some notes:

- A user should still be able to find the old port using port search  
(the user may not know the project has changed names)

- The port author should not need to specify a description; MacPorts  
should automatically create one along the lines of "foo has been  
superseded; please install bar instead".

- The port author should not need to specify homepage, download URLs,  
version, description, or any of that; only the name of the port which  
replaces it should be required.

- A user should not be able to install the old port; it should print  
the message that the port has been superseded.

- Anyone who already has the old port installed should be shown that  
an upgrade is available.

- Anyone who tries to upgrade the old port should have the old port  
uninstalled and the new port installed with the same variants.

More information about the macports-dev mailing list