From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCHv2 11/21] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro
Date: Wed, 15 Apr 2015 00:25:45 +0200 [thread overview]
Message-ID: <20150414222545.GD4053@free.fr> (raw)
In-Reply-To: <552D732C.3060907@mind.be>
Arnout, All,
On 2015-04-14 22:06 +0200, Arnout Vandecappelle spake thusly:
> On 13/04/15 23:00, Yann E. MORIN wrote:
> > Thomas, All,
> >
> > On 2015-04-12 18:37 +0200, Thomas Petazzoni spake thusly:
> >> As part of moving to a package infrastructure based source-check
> >> implementation, we are going to move away from the global DL_MODE
> >> variable to select the behavior of the DOWNLOAD_INNER macro.
> >>
> >> As a preparation to this, this commit makes the DOWNLOAD_INNER macro
> >> take a third argument, which is the action to be done: either DOWNLOAD
> >> or SOURCE_CHECK. For now, the DOWNLOAD macro passes $(DL_MODE) as this
> >> third argument, in order to keep the existing behavior.
> >>
> >> In addition, a SOURCE_CHECK macro is added, which calls DOWNLOAD_INNER
> >> with the appropriate action. This macro will be used in the upcoming
> >> package infra based implementation of source-check.
>
> It seems a bit weird to do that in this commit, more logical to do it in the
> next one or as a separate commit. But that's no major issue, so
>
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
> >>
> >> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> >
> > Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > [tested by doing a "make source" on a randpackageconfig]
>
> You should have tested make source-check.
Well, I did run source-check and source; just forgot to state it.
However, I did not notice a failure, because buildroot will fallback to
our mirror when it does not find something. Because source-check takes
quite some time to run, I just ran it and went off doing smething else;
when I came back, there was no error of a failing package, because
every missing pieces were retrieved from the mirror. And in the default
config, there is a mirror (our).
And then, it means we can't reliably run sourcce-check to check that
upstream is still available, just becasue some upstream do not allow us
to do so (HEAD not being supported).
An alternative would be to use a GET instead of a HEAD, and just ask for
zero byte (or probably just a few bytes in case some servers would
refuse to serve zero byte). But there's no way to do so with wget. curl
is a little bit more flexible and it is possible ask for a range, but
not all server will abide to that range.
So, I can see a few blockign points baring source-check from being
completely useful:
- no or limited VCS support: git does not always support remote-listing
a sha1 so we only check the remote exists, our bzr, cvs and hg checks
are no better, svn is OK though;
- scp only works if the user has a shell (which is not mandatory, scp
can work even if the user can't get a shell);
- some HTTP upstreams do not accept a HEAD request;
- as far as I could see all out FTP-hosted packages are on behaving
servers.
Bizarelly enough, what works best are the legacy (or oldish) methods:
svn and FTP. Yeah for grumpy old guys... :-(
In the ned, does source-check really makes sense?
Let me rephrase...
What's the purpose of source-check?
As far as I can see, there are two use-cases:
- for us Buildroot devs: check that an upstream still provides a
resource;
- for a standard user to check if he can get the source of his set of
packages.
But is that really necessary?
For a user, what can he do if the package can't be downloaded (i.e. not
in upstream and not on our mirror)? Nothing...
For us, all we need to know is that something can't be downloaded so we
can bump the package (or point it to our mirror). We have autobuilders
to catch download failures.
So, does it make sense to keep source-check at all?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2015-04-14 22:25 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-12 16:37 [Buildroot] [PATCHv2 00/21] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 01/21] pkg-kconfig: declare phony targets as such Thomas Petazzoni
2015-04-13 19:32 ` Yann E. MORIN
2015-04-12 16:37 ` [Buildroot] [PATCHv2 02/21] fs: " Thomas Petazzoni
2015-04-13 19:37 ` Yann E. MORIN
2015-04-14 8:13 ` Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 03/21] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
2015-04-13 19:44 ` Yann E. MORIN
2015-04-14 8:17 ` Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 04/21] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
2015-04-13 20:01 ` Yann E. MORIN
2015-04-14 8:18 ` Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 05/21] fs: add rootfs dependencies " Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 06/21] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
2015-04-13 20:14 ` Yann E. MORIN
2015-04-12 16:37 ` [Buildroot] [PATCHv2 07/21] Makefile: simplify show-targets Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 08/21] Makefile: use the package infra based external-deps Thomas Petazzoni
2015-04-14 0:10 ` Arnout Vandecappelle
2015-04-14 7:52 ` Thomas Petazzoni
2015-04-14 11:22 ` Arnout Vandecappelle
2015-04-14 12:05 ` Thomas Petazzoni
2015-04-14 19:14 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 09/21] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE Thomas Petazzoni
2015-04-13 20:31 ` Yann E. MORIN
2015-04-13 20:33 ` Thomas Petazzoni
2015-04-13 20:40 ` Yann E. MORIN
2015-04-13 22:29 ` Arnout Vandecappelle
2015-04-13 20:38 ` Yann E. MORIN
2015-04-14 19:34 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 10/21] Makefile: move source-check outside of noconfig_targets Thomas Petazzoni
2015-04-13 20:49 ` Yann E. MORIN
2015-04-13 21:06 ` Thomas Petazzoni
2015-04-13 21:58 ` Yann E. MORIN
2015-04-13 22:18 ` Ryan Barnett
2015-04-14 19:42 ` Arnout Vandecappelle
2015-04-14 21:38 ` Yann E. MORIN
2015-04-17 15:49 ` Thomas Petazzoni
2015-04-12 16:37 ` [Buildroot] [PATCHv2 11/21] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro Thomas Petazzoni
2015-04-13 21:00 ` Yann E. MORIN
2015-04-14 20:06 ` Arnout Vandecappelle
2015-04-14 22:25 ` Yann E. MORIN [this message]
2015-04-14 22:41 ` Arnout Vandecappelle
2015-04-17 10:38 ` Nicolas Cavallari
2015-04-17 14:00 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 12/21] pkg-generic: implement source-check targets Thomas Petazzoni
2015-04-13 21:05 ` Yann E. MORIN
2015-04-13 21:25 ` Yann E. MORIN
2015-04-13 21:36 ` Yann E. MORIN
2015-04-14 20:22 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 13/21] Makefile: implement a package based source-check target Thomas Petazzoni
2015-04-13 21:07 ` Yann E. MORIN
2015-04-14 20:30 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 14/21] pkg-generic: remove the .stamp_rsync_sourced fake stamp file Thomas Petazzoni
2015-04-14 20:55 ` Arnout Vandecappelle
2015-04-12 16:37 ` [Buildroot] [PATCHv2 15/21] pkg-generic: don't use DL_MODE in .stamp_downloaded Thomas Petazzoni
2015-04-14 21:36 ` Arnout Vandecappelle
2015-04-12 16:38 ` [Buildroot] [PATCHv2 16/21] pkg-download: get rid of DL_MODE Thomas Petazzoni
2015-04-14 21:46 ` Arnout Vandecappelle
2015-04-12 16:38 ` [Buildroot] [PATCHv2 17/21] pkg-download: fix indentation for SOURCE_CHECK_* macros Thomas Petazzoni
2015-04-14 21:41 ` Arnout Vandecappelle
2015-04-12 16:38 ` [Buildroot] [PATCHv2 18/21] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package Thomas Petazzoni
2015-04-14 21:50 ` Arnout Vandecappelle
2015-04-17 15:27 ` Thomas Petazzoni
2015-04-12 16:38 ` [Buildroot] [PATCHv2 19/21] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code Thomas Petazzoni
2015-04-14 22:27 ` Arnout Vandecappelle
2015-04-12 16:38 ` [Buildroot] [PATCHv2 20/21] Makefile: implement the 'source' target using the package infrastructure Thomas Petazzoni
2015-04-14 22:31 ` Arnout Vandecappelle
2015-04-12 16:38 ` [Buildroot] [PATCHv2 21/21] Makefile: remove unneeded variables Thomas Petazzoni
2015-04-14 22:31 ` Arnout Vandecappelle
2015-04-12 17:16 ` [Buildroot] [PATCHv2 00/21] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
2015-04-13 21:46 ` Yann E. MORIN
2015-04-14 8:20 ` Thomas Petazzoni
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=20150414222545.GD4053@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/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