-
-
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
legacy-support: Keep v1.0.13 on 10.4. #21775
Conversation
Notifying maintainers: |
I do not think 1.1.1 works correctly, at least on PowerPC. However the right solution will be fix the current one – merge the PR what is currently there and, if needed, add a fix for Tiger. Not resurrect some old version, which sort of fails the purpose of the library. UPD. I have just built |
While I realize this change is intended to be a temporary fix, it would be preferable if we could avoid it. And per the discussion/activity for the other ongoing work, it sounds (?) like that might be ready - or close? @cjones051073 and @kencu , your thoughts? |
Unless someone can show that the version of legacy-support-devel from PR 69 is broken on Intel, reproducibly, merging that is arguably a superior solution. |
@ mascguy
What, exactly, is the upside of avoiding it? The effect of this change is:
Even if an updated -devel version were available this instant, it would still need substantial testing with various dependents before turning it into a release. It was inadequate testing that caused this problem in the first place. It also wouldn't be a good idea to release yet another version with the
I don't dispute that a newer version that actually works is eventually a superior solution, but that doesn't exist yet. And I have to fix a bug in my testing setup before verifying that PR 69 actually works properly. As the saying goes, "Don't let the perfect be the enemy of the good".
Due to all the Tiger-specific hackery in the Portfile, any testing on Tiger that isn't done via the port is invalid. It would be better if all that were part of the project's build procedure rather than done in the Portfile, but that's not the way it is now. |
@fhgwright All tests I ran were in fact from the port. It should be evident from my logs. Or if it is not (I copied Terminal output for sake of readability), I can share Macports-produced full log, no issues. As of now, it looks to me that everything (that is, -devel version with @macportsraf fix) works fine on every PowerPC system, including ppc64 and universal. I do not have i386 Tiger, maybe @kencu or @catap can test it. |
@fhgwright Re |
@fhgwright you must increase epoch at your pin version. Also, I not sure that do you mean
(1) is edge case and I have no idea how to support it. (2) isn't an issue, isn't it? And (3) is general issue and it affects everything which includes access to system files which is mounted via network which I've encountered quite often. Can you, please, qualify your claim? |
No, because newer versions never built successfully and therefore were never installed. An epoch bump is only needed when an actual rollback of an installation is needed (such as the
Exactly. This was why
Slewing adjustments by NTP are expected in
If VMs screw around in unexpected ways, then all bets are off. But the goal should be correct behavior in non-VM cases. And fixing VMs to work properly wherever possible. :-) There's a whole whitepaper from VMware on the battles they had with Linux timekeeping.
OK, but you have yet to justify why you replaced a slightly wrong algorithm with a drastically wrong algorithm. The commit message contains no explanation. In general, all clocks are based on some version of the following algorithms: To obtain a current timestamp:
In the periodic update cycle:
Note that the two actions are very similar and can share code, but only the update case modifies persistent variables. For For For The only downside of making From its inception, OSX/macOS has had the In reality, |
@fhgwright idea of legacy support is implementing some missed system calls for very old systems to make modern software works. It always has been a trade off between "not working at all" and "working good enough". Here the good example of such trade off where I traded accuracy of Thus, keep in mind, I really think that soon accurate enough BTW where have you find documentation which states that it works differently? On apple web site it hasn't got any word about it: https://developer.apple.com/documentation/kernel/1420035-clock_get_time/ |
Agreed. And there was plenty of discussion in the original PR, where this was all vetted: |
@mascguy, @fhgwright after reading implementation of |
I already have a commit for that locally, but I haven't tested it widely enough for a PR yet. I have other higher-priority things to attend to, but that can probably happen within the next day or two. |
When you will be the first. |
3052ac8
to
8a0e2b2
Compare
This is way past the maintainer timeout. Avoiding it just because a proper |
Versions 1.1.0 and 1.1.1 fail to build on 10.4. This hack should be removed once there's a release that works on 10.4. TESTED: Tested on 10.4-10.5 ppc, 10.4-10.6 i386, 10.5-10.15 x86_64, and 11.x-14.x arm64. As before, 1.0.13 on 10.4 builds and passes tests in all cases except ppc +universal, which fails to build. On 10.5+, the unchanged 1.1.1 still builds in all cases and fails tests in some.
8a0e2b2
to
30c2c5a
Compare
agreed |
Won't investigate now, so FWIW,
|
That's certainly not the fault of this PR. |
Unfortently v1.1.0 if I recall right contains significant improvement and rework near |
As I stated in the original commit message, neither v1.1.0 nor v1.1.1 is able to build on 10.4 at all. In fact, from the history it appears that v1.1.0 was so awful that it was rolled back literally within minutes of its introduction (without explanation). |
@fhgwright Well, I am not saying to roll back to 1.1.0. What I think is that rather than rolling back to some broken version we need a pending fix merged and have the same legacysupport for all, fixed one. Which, more importantly, fixes legacysupport on 10.5 (and 10.6 for ppc), likely some other systems. |
Look, this is not a "rollback". This is simply a recognition that there is no release version of I have better things to do than to keep arguing about this. |
Versions 1.1.0 and 1.1.1 fail to build on 10.4. This hack should be removed once there's a release that works on 10.4.
TESTED:
Tested on 10.4-10.5 ppc, 10.4-10.6 i386, 10.5-10.15 x86_64, and 11.x-14.x arm64.
As before, 1.0.13 on 10.4 builds and passes tests in all cases except ppc +universal, which fails to build.
On 10.5+, the unchanged 1.1.1 still builds in all cases and fails tests in some.
Description
Type(s)
Tested on
Mac OS X 10.4.11 8S165, PPC, Xcode 2.5 8M2558
Mac OS X 10.4.11 8S2167, i386, Xcode 2.5 8M2558
Mac OS X 10.5.8 9L31a, PPC, Xcode 3.1.4 9M2809
Mac OS X 10.5.8 9L31a, i386, Xcode 3.1.4 9M2809
Mac OS X 10.5.8 9L31a, x86_64, Xcode 3.1.4 9M2809
Mac OS X 10.6.8 10K549, i386, Xcode 3.2.6 10M2518
Mac OS X 10.6.8 10K549, x86_64, Xcode 3.2.6 10M2518
Mac OS X 10.7.5 11G63, x86_64, Xcode 4.6.3 4H1503
OS X 10.8.5 12F2560, x86_64, Xcode 5.1.1 5B1008
OS X 10.9.5 13F1911, x86_64, Xcode 6.2 6C131e
OS X 10.10.5 14F2511, x86_64, Xcode 7.2 7C68
OS X 10.11.6 15G22010, x86_64, Xcode 8.1 8B62
macOS 10.12.6 16G2136, x86_64, Xcode 9.2 9C40b
macOS 10.13.6 17G14042, x86_64, Xcode 10.1 10B61
macOS 10.14.6 18G9323, x86_64, Xcode 11.3.1 11C505
macOS 10.15.7 19H15, x86_64, Xcode 12.4 12D4e
macOS 11.7.10 20G1427, arm64, Xcode 13.2.1 13C100
macOS 12.7.1 21G920, arm64, Xcode 14.2 14C18
macOS 13.6.1 22G313, arm64, Xcode 15.0.1 15A507
macOS 14.1.1 23B81, arm64, Xcode 15.0.1 15A507
Verification
Have you
port lint --nitpick
?sudo port test
?sudo port -vst install
?