[87201] trunk/dports/aqua/qlipper/Portfile

Ryan Schmidt ryandesign at macports.org
Tue Nov 15 10:10:49 PST 2011


On Nov 15, 2011, at 01:09, Joshua Root wrote:

> On 2011-11-15 09:10 , Ryan Schmidt wrote:
>> 
>> On Nov 13, 2011, at 23:56, Joshua Root wrote:
>> 
>>> On 2011-11-14 16:38 , Ryan Schmidt wrote:
>>>> 
>>>> I wasn't sure what would happen when you change the case of the port name like that. Will users who had qlipper @1.8.2_0 installed get prompted to upgrade to Qlipper @1.8.2_1? I don't think this is a case we ever deliberately considered, so if it does work, it probably works by coincidence (though I'm not opposed to making this a supported kind of change).
>>> 
>>> It works very much by design. Remember <https://trac.macports.org/ticket/11759>?
>> 
>> I absolutely remember. That ticket was about giving the user the freedom to type port names case-insensitively, and port would recognize what the correct case was and always install and uninstall the port with the right case. Clearly something (subports?) has broken this somewhat in MacPorts 2 as described in <https://trac.macports.org/ticket/31743> . And it was never clear to me that MacPorts knows what "the correct case" is if that differs between the previously installed port and the newly installed port.
> 
> Port names are case insensitive. There is no "correct case".

Ok, by "correct case" I meant "canonical case". The one stated in the Portfile.

> Ensuring
> that the case used in the portfile is always displayed would be nice,
> but only cosmetic.

Two points:

1. Displaying the port name with its canonical case instead of the one the user entered worked correctly in MacPorts 1.9 and is broken in 2.0 so it's a regression. And if this regression happened, I don't know what additional case-sensitivity-related regressions may have also happened as a result.

2. It's not entirely cosmetic. As I showed in #31743, when MacPorts tries to download archives, it uses the case the user entered, instead of the canonical case from the Portfile. Because most web servers, including packages.macports.org, are case-sensitive, MacPorts won't find the binaries unless the user types the port name with the correct case. The example in the ticket (typing "sudo port install ZIP" when the port name is "zip") is contrived, but there are many ports with uppercase letters in their names which are not so contrived: a user might well type "sudo port install graphicsmagick", even though the port name is "GraphicsMagick", and it expect it to work the same, but it doesn't:


$ sudo port clean graphicsmagick && sudo port -b install graphicsmagick
--->  Cleaning graphicsmagick
--->  Computing dependencies for graphicsmagick
--->  Fetching archive for graphicsmagick
--->  Attempting to fetch graphicsmagick-1.3.12_2+q8.darwin_10.x86_64.tbz2 from http://packages.macports.org/graphicsmagick
Error: Target org.macports.archivefetch returned: archivefetch failed for graphicsmagick @1.3.12_2+q8
Log for graphicsmagick is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_graphics_GraphicsMagick/graphicsmagick/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
$ sudo port clean graphicsmagick && sudo port -b install GraphicsMagick
--->  Cleaning graphicsmagick
--->  Computing dependencies for GraphicsMagick
--->  Fetching archive for GraphicsMagick
--->  Attempting to fetch GraphicsMagick-1.3.12_2+q8.darwin_10.x86_64.tbz2 from http://packages.macports.org/GraphicsMagick
--->  Attempting to fetch GraphicsMagick-1.3.12_2+q8.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/GraphicsMagick
--->  Installing GraphicsMagick @1.3.12_2+q8
--->  Activating GraphicsMagick @1.3.12_2+q8
--->  Cleaning GraphicsMagick
$




More information about the macports-dev mailing list