port activate error: can't read "revision": no such variable

Paulo Moura pmoura at di.ubi.pt
Thu May 10 02:36:08 PDT 2007


On 2007/05/10, at 10:02, Ryan Schmidt wrote:

>>> James Berry has committed some changes recently that removes '+'  
>>> from the list of acceptable characters in port names (see top of  
>>> the current ChangeLog [1]).  If that's not it, I'm out of ideas :-)
>>
>> That change seems (from an outsider) quite arbitrary. Certainly is  
>> possible to escape strings containing characters like "+"?  
>> Especially if a name is acceptable as file system name.
>
> Maun Suang, that change should affect port names only, not version  
> numbers. I'm not sure if there's any validation on version numbers.
>
> Paulo, the change is not arbitrary. The + sign has special meaning  
> in MacPorts: it precedes a selected variant. Perhaps there are  
> parts of MacPorts that become confused when the + sign is used in  
> unexpected places. Therefore, the range of legal portnames is  
> restricted. So too should be the range of legal version numbers.

Precedes is the keyword here. The "+" character should only be  
interpreted as a special character when specifying a variant.  
Otherwise, it should be treated as a normal, valid character. A  
command such as:

	sudo port -p uninstall xsb @3.0.1+_0

should work properly as the variant is specified with the "@"  
character. Moreover, when doing a "port install" such as:

	sudo port install xsb +3.0.1+

there is not whitespace preceding the last "+". Therefore, it should  
not confuse MacPorts. Making "+" an illegal character is just the  
wrong way of fixing what seems to be a parsing bug in MacPorts. The  
only illegal characters should be the ones that result in invalid  
file names (as this would lead to problems when creating archives at  
the file system level).

> I'm in favor of getting the + out of your version number.

The "3.0.1+" version number is not something I control as is used by  
the third-party software. This software install on a directory named  
after this version number. Using a different version number in the  
portfile results in a broken installation. Moreover, what is  
important here is to fix the MacPorts parsing bug uncovered by my  
portfile, not finding a workaround for some specific portfile that  
only a few people care about.

All the best,

Paulo


-----------------------------------------------------------------
Paulo Jorge Lopes de Moura
Dep. of Computer Science, University of Beira Interior
6201-001 Covilhã, Portugal

Office 4.3  Ext. 3257
Phone: +351 275319891 Fax: +351 275319899
Email: <mailto:pmoura at di.ubi.pt>

Home page: <http://www.di.ubi.pt/~pmoura>
Research: <http://logtalk.org/>
-----------------------------------------------------------------






More information about the macports-users mailing list