[Buildroot] [PATCH v2 00/10] more flutter package improvements

Adam Duskett adam.duskett at amarulasolutions.com
Sat Jan 13 20:20:10 UTC 2024


Changes v1 -> v2:
  - Bump flutter-sdk-bin to 3.16.7
  - Bump flutter-engine to 3.16.7

Most of these are self-explanitory and simple, however the depot-tools version
bump should be explained:

The current depot-tools version is from Jul 13 2023, and there is a bug where
when building with PPD enabled, building a Flutter application on my laptop
running Fedora 39 or even in the Debian 11 container fails due to permission
issues when running rsync such as:

/usr/bin/sed: couldn't open temporary file [...]/output/per-package/flutter-gallery/host/share/flutter/sdk/.vpython-root/0e1e32/lib/python3.8/sed763MrF: Permission denied
make: *** [package/pkg-generic.mk:267: [...]/output/build/flutter-gallery-2.10.2/.stamp_configured] Error 123

After several hours of attempting to find the exact cause of the issue by
parsing git logs of the depot_tools repository and cross-referencing bugs on
https://bugs.chromium.org/p/chromium/issues I am unable to determine the exact
reason why the problem occurs or the exact commit that fixes the issue.

However, updating depot-tools does indeed fix the issue, and looking at the
source code between 4e87f5bf and 8d14454b shows improvements to several bash
scripts, such as gclient, vpython3, and spid. All of which could be culprits
of this bug. As flutter-engine is the only package that uses host-depot-tools,
it is safe to update.

This permission bug is present on PPD and normal builds, but causes a build
to crash only on PPD because of rsyncing. On non-ppd builds, the bug only
causes some minor annoyance when trying to run `make clean` because permission
denials crop up when trying to remove the .vpython-root directory.

I can't remember, but I * think * the autobuilders don't select PPD yet, which
is probably why this bug hasn't caused any autobuild failures yet.


As for everything else:
  - Tested on Fedora 39 and Debian 11.
  - PPD and Non-PPD.
  - Docker and host.

Everything passes and works as expected.

Thanks!


Adam Duskett (10):
  package/ivi-homescreen: add standard_method_codec.h to keyboard
    manager plugin
  package/depot-tools: bump version to
    8d14454ba4a35fd9d2483842b08815a2357ec86f
  package/flutter-engine/Config.in: Drop nptl dependency
  package/flutter-sdk-bin: bump version to 3.16.7
  package/flutter-engine: bump version to 3.16.7
  package/flutter-pi: bump version to
    b816d8cff40e917ed0bc7905ec5f8611c08b5875
  package/flutter-pi/Config.in: propagate flutter-engine dependencies
  package/flutter-gallery: add a configure step
  package/flutter-gallery: fix build options
  package/flutter-gallery: clean up install_target_cmds

 package/depot-tools/depot-tools.hash          |  2 +-
 package/depot-tools/depot-tools.mk            |  2 +-
 package/flutter-engine/Config.in              | 10 +++---
 package/flutter-engine/flutter-engine.mk      |  2 +-
 package/flutter-gallery/flutter-gallery.mk    | 24 ++++++++++----
 package/flutter-pi/Config.in                  | 31 +++++++++++++++++--
 package/flutter-pi/flutter-pi.hash            |  2 +-
 package/flutter-pi/flutter-pi.mk              |  2 +-
 package/flutter-sdk-bin/flutter-sdk-bin.hash  |  2 +-
 package/flutter-sdk-bin/flutter-sdk-bin.mk    |  2 +-
 ...rs-to-the-audio-players-and-keyboar.patch} | 26 ++++++++++++++--
 11 files changed, 81 insertions(+), 24 deletions(-)
 rename package/ivi-homescreen/{0001-add-missing-headers-to-the-audio-players-plugin.patch => 0001-add-missing-headers-to-the-audio-players-and-keyboar.patch} (77%)

-- 
2.43.0




More information about the buildroot mailing list