All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Adam Duskett <adam.duskett@amarulasolutions.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH/next v2 5/9] package/flutter-sdk-bin/Config.in.host: add pub-cache location option
Date: Sun, 19 Nov 2023 20:45:35 +0100	[thread overview]
Message-ID: <20231119194534.GN996011@scaer> (raw)
In-Reply-To: <CAHDQB6OGJb-HzXTUBosu4dzb=pnkUiJ0RU=xE3PF0eWCqVa2yg@mail.gmail.com>

Adam, All,

On 2023-11-19 10:47 -0700, Adam Duskett spake thusly:
> This one we should discuss.

This is exactly what a review is for.

> While it's reasonable to set a default to either dl/flutter-pub-cache or dl/pub-cache (your choice obviously!),

I was thinking more like we did for cargo, as I hinted earlier by
pointing to the commit which introduced it (8450b7691870):

    BR_CARGO_HOME = $(DL_DIR)/br-cargo-home

So:

    FLUTTER_SDK_BIN_PUB_CACHE = $(DL_DIR)/br-flutter-pub-cache

(As Thomas pointed out on IRC, DL_DIR is just the internal variable that
gets set from BR2_DL_DIR; in all practical matters, they are the same.)

> we should still have this as a configurable string.
> 1) The work is already done, and most users won't change the default.

"The work is done" is not a valid argument for applying a patch,
otherwise we would just blindly apply all and every patches that are
submitted, on the rationale that "the work is done".

> 2) When developing an application, the pub-cache directory may be somewhere more convenient for the developer.
>      Maybe they want to use ~/.pub-cache, or in my case /home/adam/projects/${company}/${project}/pub-cache
> This allows users to not have to re-download the pub-cache if it already exists on their system. 

If one wants to avoid re-downloading stuff again and again, one has
already set BR2_DL_DIR in their environment and thus storing the flutter
pub-cache there, is indeed exactly what we want to do.

As for sharing the pub-cache with something outside of Buildroot, I
would argue against. Sharing with the ouside world means we no longer
have exclusivity, and thus we risk conflicts on access. We never
account for out-of-Buildroot use of our caches.

Regards,
Yann E. MORIN.

> As Thomas seems interested in Flutter, I'll also bring him in for his thoughts.
> Thanks so much for the quick response!
> Adam Duskett
> 
> Senior Embedded Systems Developer
> 
> [1]adam.duskett@amarulasolutions.com
> 
> __________________________________
> 
> Amarula Solutions BV
> 
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
> 
> T. +31 (0)85 111 9170
> [2]info@amarulasolutions.com
> 
> [3]www.amarulasolutions.com
> 
> On Sun, Nov 19, 2023 at 1:21 AM Yann E. MORIN < [4]yann.morin.1998@free.fr> wrote:
> 
>   On 2023-11-18 15:12 -0700, Adam Duskett spake thusly:
>   > When running the command "flutter pub get," the plugins are stored in the
>   > pub-cache directory along with their sha256sum hashes. The default location
>   > of the pub-cache directory is $(HOST_DIR)/share/flutter/sdk/.pub-cache.
>   > While the above location is a perfectly acceptable choice by default, users
>   > may want to define an alternate location to prevent downloading all of the
>   > plugins on each fresh build of a Flutter application, and they may want to
>   > commit the pub-cache directory to their project.
>   >
>   > Add the new option BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_PUB_CACHE_LOCATION to the
>   > flutter-sdk-bin/Config.in.host file, and set the default to the current
>   > default of $(HOST_DIR)/share/flutter/sdk/.pub-cache.
> 
>   So, this is for caching the downloaded artefacts. It should probably be
>   non-configurable, and should be moved into a sub-directory iof
>   BR2_DL_DIR, like we have for cargo:
> 
>       8450b7691870 package/pkg-cargo: move CARGO_HOME into DL_DIR
> 
>   So I would suggest that we do similar for the flutter download cache.
> 
>   As for wanted to commit that downladed stuff to git: if people want
>   that, then they would also want to commit all ofthe download stuff, so
>   just have them point BR2_DL_DIR to a sub-dir of their outter repository.
> 
>   Regards,
>   Yann E. MORIN.
> 
>   > Signed-off-by: Adam Duskett < [5]adam.duskett@amarulasolutions.com>
>   > ---
>   >  package/flutter-sdk-bin/Config.in.host     | 11 +++++++++++
>   >  package/flutter-sdk-bin/ [6]flutter-sdk-bin.mk |  2 +-
>   >  2 files changed, 12 insertions(+), 1 deletion(-)
>   >
>   > diff --git a/package/flutter-sdk-bin/Config.in.host b/package/flutter-sdk-bin/Config.in.host
>   > index a48714ea7f..0e31a8e0fa 100644
>   > --- a/package/flutter-sdk-bin/Config.in.host
>   > +++ b/package/flutter-sdk-bin/Config.in.host
>   > @@ -14,3 +14,14 @@ config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN
>   >         free and open source.
>   > 
>   >          [7]https://flutter.dev/
>   > +
>   > +if BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
>   > +
>   > +config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_PUB_CACHE_LOCATION
>   > +     string "pub-cache location"
>   > +     default "$(HOST_DIR)/share/flutter/sdk/.pub-cache"
>   > +     help
>   > +       Directory to store cached packages used by Pub with
>   > +       Dart/Flutter.
>   > +
>   > +endif
>   > diff --git a/package/flutter-sdk-bin/ [8]flutter-sdk-bin.mk b/package/flutter-sdk-bin/ [9]flutter-sdk-bin.mk
>   > index 9461148dfb..6471c11d4e 100644
>   > --- a/package/flutter-sdk-bin/ [10]flutter-sdk-bin.mk
>   > +++ b/package/flutter-sdk-bin/ [11]flutter-sdk-bin.mk
>   > @@ -95,4 +95,4 @@ HOST_FLUTTER_SDK_BIN_DART_BIN = \
>   >  $(eval $(host-generic-package))
>   > 
>   >  # For target packages to locate said pub-cache
>   > -FLUTTER_SDK_BIN_PUB_CACHE = $(HOST_FLUTTER_SDK_BIN_SDK)/.pub-cache
>   > +FLUTTER_SDK_BIN_PUB_CACHE = $(call qstrip,$(BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_PUB_CACHE_LOCATION))
>   > --
>   > 2.42.0
>   >
>   > _______________________________________________
>   > buildroot mailing list
>   > [12]buildroot@buildroot.org
>   > [13]https://lists.buildroot.org/mailman/listinfo/buildroot
> 
>   --
>   .-----------------.--------------------.------------------.--------------------.
>   |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
>   | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___           
>      |
>   | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
>   | [14]http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
>   '------------------------------^-------^------------------^--------------------'
> 
> Links:
> 1. mailto:adam.duskett@amarulasolutions.com
> 2. mailto:info@amarulasolutions.com
> 3. http://www.amarulasolutions.com/
> 4. mailto:yann.morin.1998@free.fr
> 5. mailto:adam.duskett@amarulasolutions.com
> 6. http://flutter-sdk-bin.mk
> 7. https://flutter.dev/
> 8. http://flutter-sdk-bin.mk
> 9. http://flutter-sdk-bin.mk
> 10. http://flutter-sdk-bin.mk
> 11. http://flutter-sdk-bin.mk
> 12. mailto:buildroot@buildroot.org
> 13. https://lists.buildroot.org/mailman/listinfo/buildroot
> 14. http://ymorin.is-a-geek.org/

> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-11-19 19:45 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-18 22:11 [Buildroot] [PATCH/next v2 1/9] package/xdg-user-dirs: new package Adam Duskett
2023-11-18 22:11 ` [Buildroot] [PATCH/next v2 2/9] package/flutter-sdk-bin: bump version to 3.16.0 Adam Duskett
2023-11-18 22:11 ` [Buildroot] [PATCH/next v2 3/9] package/flutter-engine: " Adam Duskett
2023-11-18 22:12 ` [Buildroot] [PATCH/next v2 4/9] package/flutter-engine: Add profile runtime mode selection Adam Duskett
2023-11-18 22:12 ` [Buildroot] [PATCH/next v2 5/9] package/flutter-sdk-bin/Config.in.host: add pub-cache location option Adam Duskett
2023-11-19  8:21   ` Yann E. MORIN
2023-11-19 17:47     ` Adam Duskett
2023-11-19 19:45       ` Yann E. MORIN [this message]
2023-11-19 20:41         ` Arnout Vandecappelle via buildroot
2023-11-19 20:43   ` Arnout Vandecappelle via buildroot
2023-11-19 21:08     ` Adam Duskett
2023-11-19 21:53       ` Yann E. MORIN
2023-11-20 16:40         ` Adam Duskett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231119194534.GN996011@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=adam.duskett@amarulasolutions.com \
    --cc=buildroot@buildroot.org \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.