-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
macOS 15 alf support
#8428
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
macOS 15 alf support
#8428
Conversation
|
The approach lgtm. Let's add a test and merge it! |
|
@zwass Sanity test added. |
| pt::ptree tree; | ||
| auto s = genALFTreeFromFilesystem(tree); | ||
| if (!s.ok()) { | ||
| const auto& qd = SQL::selectAllFrom("os_version"); |
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.
My memory is that there's some effort to avoid calling SQL select from within tables -- it's part of some long range issue around test size, and include files. But since I know we do it a bunch, and I don't offhand know the alternative, I'm not blocking over it
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.
The better alternative is to export the common logic needed from the tables in utility functions, instead of using SQL and the tables.
In some cases it's a matter of performance, in other it's a matter of unnecessary (or even problematic) dependencies among tables or other parts of codes.
The worse offender is the core depending on tables. It's a dependency loop and affects that necessity we have to include all symbols from archive files when linking, even if actually unused, which in turn causes test binaries to be unnecessarily big, slowing down compilation and hitting disk limits.
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.
Sounds like some overall effort is needed to refactor all of them. Otherwise people like me will keep mimicking existing code :)
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.
Yeah it's a process that I started multiple times, arriving also at seeing the improvements in size (3x reduction was the minimum), but time is an issue when doing it all together.
That being said, converting tables one by one can still be done, and then a policy to avoid getting more.
It's mostly a matter on the reviewers being on the same page on what's the direction.
Fixes #8395, with three columns marked as not supported (details documented in
genALFFromSystemProfiler):Tables
alf_exceptionsandalf_explicit_authsare also not returning results on macOS 15+ (because they read from the same plist that doesn't exist anymore). I wanted to keep this PR as small as possible because the mainalftable is probably the most important setting to support. Issues:alf_exceptionsreturns no results on macOS 15 #8432alf_explicit_authsreturns no results on macOS 15 #8433