Skipping upgrade ... even though installed variants "+darwin" do not match "".

Ryan Schmidt ryandesign at macports.org
Fri Apr 23 16:23:42 PDT 2010


On Apr 23, 2010, at 18:07, Joshua Root wrote:
> On 2010-4-24 08:55 , Ryan Schmidt wrote:
>> On Apr 23, 2010, at 17:52, Rainer Müller wrote:
>>> Yes. There are no platform variants anymore, the keyword 'platform' is
>>> now a conditional at time of evaluation (an aliased if-statement).
>> 
>> I saw that this was done, but I didn't understand why. What was the reasoning?
> 
> A variant that you cannot select or deselect is not a variant at all.
> All that business with filtering implicit variants shows that variants
> are not the right tool for this job.

It was handy to be able to specify conflicts between variants and a platform, like I did in pdftk. But that really wasn't done that often so it's not a big inconvenience to have to be a little more verbose about that now.

And it is quite nice to be rid of the platform variants in "port variants", "port installed" and so forth. Truth be told, I sometimes avoided using "platform darwin whatever" because I didn't want the user to see it in those places.

>>> Therefore +darwin and similar will not be set anymore, which results in
>>> this warning.
>> 
>> This is unfortunate in a way because when users would report problems on Snow Leopard, we could often tell what was wrong by the presence of "+darwin_9" variants in the set of ports shown in the dependencies in their debug output and we could refer them to the Migration page. Do we have a new way of identifying or handling this situation now?
> 
> All ports where the os.major or os.platform in the registry does not
> match the current value will be considered outdated, and 'port outdated'
> will indicate that this is the reason.

Ok, that ought to do much better.

> 'port -v installed' also shows the platform info.

Yes, I've made use of that too. I was more concerned about how to identify the platform in effect at the time an existing port was installed, but that's now being recorded, and if port outdated is checking it, then that's great.

> I've never been entirely sold on the warning about non-matching variants
> when upgrading, and this might be a good excuse to turn it off.

Yeah... it's good at times, but also bad at times. For example when a port fails to build universal just because that port was never tested with universal, and I then try to turn off its universal variant with "-universal", I get a bunch of warnings that its dependencies were built with +universal. :-/ I'm not sure if we should remove it entirely at this point, but there may be some cases it could know about that it shouldn't warn about, for example not warning about missing platform variants now, since we know most users will have these in at least some of their ports. Spending a little time now to remove warnings that might confuse our users when 1.9.0 is released is probably time well spent.





More information about the macports-dev mailing list