-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mc: remove build workaround for macOS 10.13 (High Sierra) #24224
Conversation
It doesn't look like the way |
Ha-ha, the comment sounds very inspiring:
If I understand it correctly now, nothing has really changed at the OS X side, So you are right, the plot thickens, I have found the following in our code:
I cannot yet reconstruct what exactly has changed in our tree since the workaround of disabling So I stand by my PR :) but I will have to read the POSIX standard though to understand what's the right way to use |
Yes, I agree with removing the workaround, I just don't think it will necessarily break any older systems. |
@@ -37,10 +37,6 @@ patchfiles patch-src_subshell_common.c.diff | |||
|
|||
configure.args --without-x --enable-vfs-sftp=no | |||
|
|||
if {[vercmp ${macos_version} 10.13] >= 0} { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're removing this workaround, I think we will still need to increment revision
for affected systems in order rebuild without and update the port archive:
if {[vercmp ${macos_version} 10.13] >= 0} {
revision [expr ${revision}+1]
}
@jmroot can confirm if this is needed.
In the next release, we'll hopefully support all |
Description
This is the port of Homebrew/homebrew-core#173306 to MacPorts. I now know thanks to Homebrew CI that it at least works on all still supported macOS versions. Original description follows.
We introduced support for nanosecond timestamps with
utimensat
years ago and only enabled it if OS supported it.This "worked" fine util macOS 10.13 High Sierra, when Apple introduced
utimensat
in a half-assed POSIX-incompatible way (apparently the name of the thest
structure members were likest_atimespec
instead ofst_atim
etc.). So the function was there, but our code couldn't use it and builds failed.We neither had macOS, nor the kernel was published, so we couldn't fix it and the workaround here was to disable
utimensat
by force even if it was available.I have now checked the builds on the latest version of macOS and they work, and also the nanosecond timestamps work, because apparently Apple fixed the POSIX compatibility somewhen along the way.
The current workaround is now causing data loss (file timestamps are always truncated to microseconds) for the users.
The problem is, I don't know when Apple fixed this. If the formula builds on Monterey and Ventura, then it will also work, but I don't have these systems. High Sierra is not supported for years.
Can we just remove this workaround?
Type(s)
Tested on
macOS 12 / 13 / 14