Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Adam Duskett <adam.duskett@amarulasolutions.com>,
	Michael Trimarchi <michael@amarulasolutions.com>,
	buildroot@buildroot.org, Asaf Kahlon <asafka7@gmail.com>,
	Angelo Compagnucci <angelo@amarulasolutions.com>
Subject: Re: [Buildroot] [PATCH/next vRFCv2 3/3] package/flutter-engine: new package
Date: Wed, 9 Aug 2023 22:22:04 +0200	[thread overview]
Message-ID: <20230809202204.GD421096@scaer> (raw)
In-Reply-To: <20230808195621.1c5d4242@windsurf>

Thomas, All,

On 2023-08-08 19:56 +0200, Thomas Petazzoni via buildroot spake thusly:
> On Mon,  7 Aug 2023 18:35:27 -0600
> Adam Duskett <adam.duskett@amarulasolutions.com> wrote:
> > index 0000000000..572c055bea
> > --- /dev/null
> > +++ b/package/flutter-engine/gen-tarball
> > @@ -0,0 +1,108 @@
> > +#!/usr/bin/env bash
> > +# Call gclient and generate a flutter-engine source tarball if one does not
> > +# already exist.
> > +#
> > +# Author: Adam Duskett <adam.duskett@amarulasolutions.com>

Authorship is not needed: it's tracked in git.

Also, it is going to be wrong the moment someone else changes that file.
Using the authorship from git will always be correct, though.

[--SNIP--]
> > +main() {
> > +  parse_opts "${@}"
> > +  if [ ! -e "${TARBALL}" ]; then
> 
> I'm not sure about this condition. Why is there? If the tarball is
> already there, I would expect this tool to re-generate it and overwrite
> it, rather than "do nothing".

Well, we do not redownload an archive if it is already downloaded. This
is what this test does: skip the download if the archive is already
present lcally.

We have the same test package/pkg-gemneric.mk line 190:

    if test ! -e $($(PKG)_DL_DIR)/`basename $$p` ; then

and in the download wrapper, line 67-onward:

   67     # If the output file already exists and:
   68     # - there's no .hash file: do not download it again and exit promptly
   69     # - matches all its hashes: do not download it again and exit promptly
   70     # - fails at least one of its hashes: force a re-download
   71     # - there's no hash (but a .hash file): consider it a hard error
   72     if [ -e "${output}" ]; then
   73         if support/download/check-hash ${quiet} "${hfile}" "${output}" "${output##*/}"; then
   74             exit 0

So this test does exactly the same thing.

Regards,
Yann E. MORIN.

> Thanks for this work. Seriously, it looks quite good, and close to a
> state where it can be merged. I think it no longer needs to be in the
> "RFC" state.

Yes, this is a very good work overall, for such a complex stack.

We've been discussing this series on IRC, too, and it looks like there
are missing pieces. Adam will correct me where I'm wrong, but here's
what I understood from our discussion:

 1. flutter-engine is a set of libraries that implement the runtime,
    this is what this package will provide, and flutter apps will have
    to select it and have it in their _DEPENDENCIES;

 2. there is a package, flutter-sdk-bin, that provides a compiler to
    compiler flutter apps into Dart code; we'll need to have it packaged
    as host-flutter-sdk-bin; flutter apps will need to have that in
    their _DEPENDENCIES;

 3. there is another package (which one?) that provide 'flutter', an
    executable that is in charge of starting flutter apps on the target.
    It looks like flutter-pi is such a package, but there might be
    others.

So, if I understood everything (far from granted!), the sequence is
about to look like this:

    flutter app source code
        |
        v
    flutter-sdk-bin to compile
        |
        v
    Dart code
        |
        v
    Target in /usr/share/flutter/app-name

    flutter-pi or other
        |
        v
    Target in /usr/bin/flutter

Then at runtime on the target:

    $ /usr/bin/flutter app-name

So, there are a lot more details to sort out, but it looks like the full
stack is about this shape. More or less... Maybe less than more... Who
knows?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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-08-09 20:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-08  0:35 [Buildroot] [PATCH/next vRFCv2 0/3] Initial flutter packages Adam Duskett
2023-08-08  0:35 ` [Buildroot] [PATCH/next vRFCv2 1/3] package/python-httplib2: add host variant Adam Duskett
2023-08-08  0:35 ` [Buildroot] [PATCH/next vRFCv2 2/3] package/depot-tools: new package Adam Duskett
2023-08-08 17:33   ` Thomas Petazzoni via buildroot
2023-08-08  0:35 ` [Buildroot] [PATCH/next vRFCv2 3/3] package/flutter-engine: " Adam Duskett
2023-08-08 17:56   ` Thomas Petazzoni via buildroot
2023-08-09 20:22     ` Yann E. MORIN [this message]
2023-08-09 20:55       ` Thomas Petazzoni via buildroot
2023-08-08 19:37 ` [Buildroot] [PATCH/next vRFCv2 0/3] Initial flutter packages Thomas Petazzoni via buildroot

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=20230809202204.GD421096@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=adam.duskett@amarulasolutions.com \
    --cc=angelo@amarulasolutions.com \
    --cc=asafka7@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=michael@amarulasolutions.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox