incr revision / portindex

Ryan Schmidt ryandesign at
Fri Nov 5 07:42:24 UTC 2021

On Oct 29, 2021, at 01:06, Joshua Root wrote:

> On 2021-10-29 10:03 , Daniel J. Luke wrote:
>> Hi macports-dev,
>> Looks like the change in 10aaad9b10e7350e76676ebdb5acfc950b800273 caused behavior I didn't expect on my Monterey system. Since I'm using a git checkout for my portfiles on that host and I was running darwin 20 when I did `port sync` after that change hit, my portindex had, for example 1.5.0_1 for zstd. After upgrading to Monterey, that means 'port outdated' thinks zstd is outdated, but trying to install it installs 1.5.0_0. (so `port outdated` still thinks it's outdated).
> This was also reported as <>.
>> Easy fix for me is to blow out my PortIndex and create a new one - but this is the first time I think I've ever had to do that when upgrading macOS.
>> I'd suggest that we should avoid having platform (or variant) blocks change any of epoc,version,revision even in a case like this (when presumably that was done to avoid unnecessary rebuilds for some people).
> I would generally agree. In cases where different platforms need different versions, the approach used by ld64 with separate (sub)ports per version is preferable.

Either we allow portindexes that differ by OS version and arch (and we currently do), or we do not. 

Since we do, there is nothing wrong with the commit in which I increased revisions conditionally only on Big Sur.

The bug is that MacPorts base does not recognize that a portindex was built on a different OS version than the one that is currently running; that should be fixed.

Any number of other port differences can be OS version or arch specific. For example, some ports may offer different port versions on different OS versions or different OS archs as needed. Such ports would also be affected by this problem.

More information about the macports-dev mailing list