Skip to content

Update libimobiledevice and dependencies#181932

Merged
auto-submit[bot] merged 7 commits into
flutter:masterfrom
jmagman:libimobiledevice-update
Apr 21, 2026
Merged

Update libimobiledevice and dependencies#181932
auto-submit[bot] merged 7 commits into
flutter:masterfrom
jmagman:libimobiledevice-update

Conversation

@jmagman

@jmagman jmagman commented Feb 5, 2026

Copy link
Copy Markdown
Member

Updates libimobiledevice and related tools and dependencies. Because of recipe update https://flutter-review.googlesource.com/c/recipes/+/73060, these are "fat" binaries which means they contain architectural slices for both x86_64 and arm. On ARM Apple Silicon Macs, these will run natively without requiring Rosetta.

Actual changes:
libimobiledevice/libplist@cf5897a...b7f09cc
openssl/openssl@22dbb17...c1eeb94 (updates to LTS 3.5.4, see #180694)

The other mirrors had no commit changes, but we pushed empty commits to our mirror to force it to build with the new recipe (#182587)

Update dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart to add a test that ensures binaries are fat.

$ SHARD=verify_binaries_pre_codesigned dart dev/bots/test.dart
...
All expected fat binaries verified.
▌15:45:49▐ Test successful.

Confirmed flutter run works on a physical iPhone, so iproxy and friends work.

Fixes #121178

@jmagman

jmagman commented Feb 11, 2026

Copy link
Copy Markdown
Member Author

libplist/libplist-2.0.4.dylib, openssl/libssl.3.dylib, and openssl/libcrypto.3.dylib are fat but the rest are still x86_64...

@jmagman

jmagman commented Feb 19, 2026

Copy link
Copy Markdown
Member Author

Blocked on #182587 which is blocked on #182585

@jmagman

jmagman commented Mar 27, 2026

Copy link
Copy Markdown
Member Author

/gemini review

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@jmagman jmagman force-pushed the libimobiledevice-update branch from ffd8e17 to e7e2ee7 Compare April 14, 2026 23:32
@jmagman jmagman added the CICD Run CI/CD label Apr 14, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman added the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman force-pushed the libimobiledevice-update branch from e99328d to dd9c6dd Compare April 20, 2026 19:31
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman added the CICD Run CI/CD label Apr 20, 2026
@jmagman

jmagman commented Apr 20, 2026

Copy link
Copy Markdown
Member Author

This worked!

libimobiledevice/idevicesyslog:                         Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
libimobiledevice/idevicescreenshot:                     Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
libimobiledevice/libimobiledevice-1.0.6.dylib:          Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
libimobiledeviceglue/libimobiledevice-glue-1.0.0.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
libplist/libplist-2.0.4.dylib:                          Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
libusbmuxd/libusbmuxd-2.0.7.dylib:                      Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
libusbmuxd/iproxy:                                      Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
openssl/libssl.3.dylib:    Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64]
openssl/libcrypto.3.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64]

@jmagman jmagman force-pushed the libimobiledevice-update branch from dd9c6dd to fb4f868 Compare April 20, 2026 20:42
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman added the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman marked this pull request as ready for review April 20, 2026 21:41
@jmagman jmagman requested a review from jtmcdole as a code owner April 20, 2026 21:41
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@jmagman jmagman requested a review from vashworth April 20, 2026 21:41
@jmagman jmagman marked this pull request as draft April 20, 2026 21:42
@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 20, 2026
@jmagman jmagman added CICD Run CI/CD and removed CICD Run CI/CD labels Apr 20, 2026
@fluttergithubbot

Copy link
Copy Markdown
Contributor

An existing Git SHA, 9258b31f83ea85cb830d23ffc3f454da09de1a82, was detected, and no actions were taken.

To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with --force) that already was pushed before, push a blank commit (git commit --allow-empty -m "Trigger Build") or rebase to continue.

@jmagman jmagman marked this pull request as ready for review April 20, 2026 23:16

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a verification step to ensure that binaries are 'fat' (containing both x86_64 and arm64 architectures) and updates flutter command execution to use absolute paths. Feedback includes a suggestion to isolate the architecture description from the file command output to prevent false positives caused by file paths and a recommendation to explicitly assert that the list of binaries is not empty in tests to ensure the failure condition is properly exercised.

Comment thread dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart
Comment thread dev/bots/test/codesign_test.dart
@vashworth vashworth added CICD Run CI/CD and removed CICD Run CI/CD labels Apr 21, 2026
@fluttergithubbot

Copy link
Copy Markdown
Contributor

An existing Git SHA, 5efad9a1d168b30c2cecc7f1b5fad5a98c4a1e46, was detected, and no actions were taken.

To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with --force) that already was pushed before, push a blank commit (git commit --allow-empty -m "Trigger Build") or rebase to continue.

@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 21, 2026
@vashworth vashworth added the CICD Run CI/CD label Apr 21, 2026
@@ -1 +1 @@
0bf0f9e941c85d06ce4b5909d7a61b3a4f2a6a05
487e6ed10c2ffcb389ff4eec10530e8a9c37e987

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curious - are these commit hashes from the 3rd party repo?

@jmagman jmagman Apr 21, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actual changes: libimobiledevice/libplist@cf5897a...b7f09cc openssl/openssl@22dbb17...c1eeb94 (updates to LTS 3.5.4, see #180694)

The other mirrors had no commit changes, but we pushed empty commits to our mirror to force it to build with the new recipe (#182587)

They are technically SHAs from our mirrors, example:
https://source.corp.google.com/h/flutter/third_party/libimobiledevice/+/refs/heads/flutter:
See go/flutter-thirdparty-fork for details.

@jmagman jmagman added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 21, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Apr 21, 2026
Merged via the queue into flutter:master with commit e166967 Apr 21, 2026
168 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 21, 2026
@jmagman jmagman deleted the libimobiledevice-update branch April 22, 2026 03:44
@jmagman

jmagman commented Apr 22, 2026

Copy link
Copy Markdown
Member Author

Reason for revert: #185384

@jmagman jmagman added the revert Autorevert PR (with "Reason for revert:" comment) label Apr 22, 2026
@auto-submit auto-submit Bot removed the revert Autorevert PR (with "Reason for revert:" comment) label Apr 22, 2026
pull Bot pushed a commit to Klomgor/flutter that referenced this pull request Apr 22, 2026
…lutter#185385)

<!-- start_original_pr_link -->
Reverts: flutter#181932
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: jmagman
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: flutter#185384
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: jmagman
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {vashworth, jtmcdole}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Updates `libimobiledevice` and related tools and dependencies. Because
of recipe update
https://flutter-review.googlesource.com/c/recipes/+/73060, these are
"fat" binaries which means they contain architectural slices for both
x86_64 and arm. On ARM Apple Silicon Macs, these will run natively
without requiring Rosetta.

Actual changes:

libimobiledevice/libplist@cf5897a...b7f09cc

openssl/openssl@22dbb17...c1eeb94
(updates to LTS 3.5.4, see
flutter#180694)

The other mirrors had no commit changes, but we pushed empty commits to
our mirror to force it to build with the new recipe
(flutter#182587)

Update
`dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` to
add a test that ensures binaries are fat.
```
$ SHARD=verify_binaries_pre_codesigned dart dev/bots/test.dart
...
All expected fat binaries verified.
▌15:45:49▐ Test successful.
```

Confirmed `flutter run` works on a physical iPhone, so `iproxy` and
friends work.

Fixes flutter#121178
<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Apr 23, 2026
flutter/flutter@3d0e822...5e4f169

2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from f12c89580766 to 11640d1cbc5c (3 revisions) (flutter/flutter#185418)
2026-04-22 engine-flutter-autoroll@skia.org Roll Packages from 7c8e13e to 4a2091d (2 revisions) (flutter/flutter#185417)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from f765937d0639 to f12c89580766 (1 revision) (flutter/flutter#185410)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 635b78342e75 to f765937d0639 (1 revision) (flutter/flutter#185406)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from cda2af3f5c2e to 635b78342e75 (3 revisions) (flutter/flutter#185393)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 632a41e2baba to cda2af3f5c2e (3 revisions) (flutter/flutter#185390)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 019de7776cfa to 632a41e2baba (3 revisions) (flutter/flutter#185383)
2026-04-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Update libimobiledevice and dependencies (#181932)" (flutter/flutter#185385)
2026-04-22 rmolivares@renzo-olivares.dev Fix SelectableRegion crash when the selection starts in a scrollable child but does not select anything initially (flutter/flutter#184420)
2026-04-21 34871572+gmackall@users.noreply.github.com Fix timeout when `hybrid_android_views` fails `MotionEvent recomposition` (flutter/flutter#185003)
2026-04-21 srawlins@google.com [flutter] Remove dead check on null being in a set of non-nullables (flutter/flutter#184100)
2026-04-21 737941+loic-sharma@users.noreply.github.com Update the text input triage process to route to platform teams (flutter/flutter#185225)
2026-04-21 scheglov@google.com Compatibility bridge for analyzer 12 and 13. (flutter/flutter#185360)
2026-04-21 magder@google.com new_gallery_macos_impeller__transition_perf out of bringup (flutter/flutter#185355)
2026-04-21 engine-flutter-autoroll@skia.org Roll Skia from 21789d5e2fee to 019de7776cfa (9 revisions) (flutter/flutter#185365)
2026-04-21 magder@google.com Update libimobiledevice and dependencies (flutter/flutter#181932)
2026-04-21 magder@google.com platform_view_macos_impeller__start_up out of bringup (flutter/flutter#185354)
2026-04-21 magder@google.com complex_layout_scroll_perf_macos_impeller__timeline_summary out of bringup (flutter/flutter#185356)
2026-04-21 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from LPa7NLiXEZP2A7IwZ... to UdpQnaP5eSaDZd3-i... (flutter/flutter#185359)
2026-04-21 engine-flutter-autoroll@skia.org Roll Packages from 01c505f to 7c8e13e (4 revisions) (flutter/flutter#185361)
2026-04-21 737941+loic-sharma@users.noreply.github.com Improve the error if the tool cannot find the locally built engine (flutter/flutter#184546)
2026-04-21 engine-flutter-autoroll@skia.org Roll Skia from a234f0ed7245 to 21789d5e2fee (1 revision) (flutter/flutter#185349)
2026-04-21 victorsanniay@gmail.com Replace IndexedStack visibility children with _VisibilityScope + ExcludeFocus (flutter/flutter#184884)
2026-04-21 dacoharkes@google.com [data_assets] Try fix #184505 (flutter/flutter#185330)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…r#11565)

flutter/flutter@3d0e822...5e4f169

2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from f12c89580766 to 11640d1cbc5c (3 revisions) (flutter/flutter#185418)
2026-04-22 engine-flutter-autoroll@skia.org Roll Packages from 7c8e13e to 4a2091d (2 revisions) (flutter/flutter#185417)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from f765937d0639 to f12c89580766 (1 revision) (flutter/flutter#185410)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 635b78342e75 to f765937d0639 (1 revision) (flutter/flutter#185406)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from cda2af3f5c2e to 635b78342e75 (3 revisions) (flutter/flutter#185393)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 632a41e2baba to cda2af3f5c2e (3 revisions) (flutter/flutter#185390)
2026-04-22 engine-flutter-autoroll@skia.org Roll Skia from 019de7776cfa to 632a41e2baba (3 revisions) (flutter/flutter#185383)
2026-04-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Update libimobiledevice and dependencies (#181932)" (flutter/flutter#185385)
2026-04-22 rmolivares@renzo-olivares.dev Fix SelectableRegion crash when the selection starts in a scrollable child but does not select anything initially (flutter/flutter#184420)
2026-04-21 34871572+gmackall@users.noreply.github.com Fix timeout when `hybrid_android_views` fails `MotionEvent recomposition` (flutter/flutter#185003)
2026-04-21 srawlins@google.com [flutter] Remove dead check on null being in a set of non-nullables (flutter/flutter#184100)
2026-04-21 737941+loic-sharma@users.noreply.github.com Update the text input triage process to route to platform teams (flutter/flutter#185225)
2026-04-21 scheglov@google.com Compatibility bridge for analyzer 12 and 13. (flutter/flutter#185360)
2026-04-21 magder@google.com new_gallery_macos_impeller__transition_perf out of bringup (flutter/flutter#185355)
2026-04-21 engine-flutter-autoroll@skia.org Roll Skia from 21789d5e2fee to 019de7776cfa (9 revisions) (flutter/flutter#185365)
2026-04-21 magder@google.com Update libimobiledevice and dependencies (flutter/flutter#181932)
2026-04-21 magder@google.com platform_view_macos_impeller__start_up out of bringup (flutter/flutter#185354)
2026-04-21 magder@google.com complex_layout_scroll_perf_macos_impeller__timeline_summary out of bringup (flutter/flutter#185356)
2026-04-21 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from LPa7NLiXEZP2A7IwZ... to UdpQnaP5eSaDZd3-i... (flutter/flutter#185359)
2026-04-21 engine-flutter-autoroll@skia.org Roll Packages from 01c505f to 7c8e13e (4 revisions) (flutter/flutter#185361)
2026-04-21 737941+loic-sharma@users.noreply.github.com Improve the error if the tool cannot find the locally built engine (flutter/flutter#184546)
2026-04-21 engine-flutter-autoroll@skia.org Roll Skia from a234f0ed7245 to 21789d5e2fee (1 revision) (flutter/flutter#185349)
2026-04-21 victorsanniay@gmail.com Replace IndexedStack visibility children with _VisibilityScope + ExcludeFocus (flutter/flutter#184884)
2026-04-21 dacoharkes@google.com [data_assets] Try fix #184505 (flutter/flutter#185330)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build idevicesyslog, idevicescreenshot, and iproxy binaries and all dependent libraries with macOS arm64 and x86_64 architectures

5 participants