From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/6] pkg-infra: move git download helper to a script
Date: Tue, 14 Jan 2014 23:49:23 +0100 [thread overview]
Message-ID: <20140114224923.GI3328@free.fr> (raw)
In-Reply-To: <52D5A070.5040800@mind.be>
Arnout, All,
On 2014-01-14 21:39 +0100, Arnout Vandecappelle spake thusly:
> On 13/01/14 00:44, Yann E. MORIN wrote:
> >From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> >
> >The git download helper is getting a bit more complex, and does not
> >raise an error when a PKG_VERSION is a sha1 that does not exist in
> >the repository. Instead, it generates an empty archive.
> >
> >Fixing it in the Makefile proves to be challenging, to say the least.
> >
> >Move it into a shell script in support/download/git, which will make
> >it much easier to read, maintain, fix an enhance in the future.
>
> This patch contains a few more changes than just moving it to a script.
> These should ideally be done in separate patches.
Doh. You're right. I already fixed some, but I missed quite a few.
Sigh...
> [snip]
> >diff --git a/support/download/git b/support/download/git
> >new file mode 100755
> >index 0000000..99ea1b2
> >--- /dev/null
> >+++ b/support/download/git
[--SNIP--]
> >+pushd "${BUILD_DIR}" >/dev/null
>
> This used to be DL_DIR.
I do not like to treat DL_DIR as a scratch area, hence the use of
BUIL_DIR isntead.
> Note that I agree that BUILD_DIR is more appropriate.
I'll do the change in a spearate patch.
> Although the original indeed does a pushd, this is quite redundant when
> it's done in a script. So I'd directly make it a simple cd (without
> redirection).
I'll simplify this.
> >+rm -rf .git-tmp-repo # In case a previous attempt was interrupted
> >+
> >+if [ -n "$(${GIT} ls-remote "${repo}" "${cset}" 2>&1)" ]; then
> >+ printf "Doing shallow clone\n"
> >+ ${GIT} clone --depth 1 -b "${cset}" --bare "${repo}" .git-tmp-repo
>
> It used to be extracted into $($(PKG)_BASE_NAME). That has the advantage
> that it is unique, which makes it possible to do multiple downloads in
> parallel (which I sometimes do BTW, by manually starting downloads in
> separate shells).
No problem, since we're now using BUILD_DIR, not DL_DIR. ;-)
> But even better would be $($(PKG)_BASE_NAME).git-tmp-repo :-)
OK.
> >+else
> >+ printf "Doing full clone\n"
> >+ ${GIT} clone --bare "${repo}" .git-tmp-repo
> >+fi
> >+
> >+pushd .git-tmp-repo >/dev/null
> >+${GIT} archive --prefix="${prefix}" --format=tar "${cset}" \
> >+|gzip -c >"${output}"
>
> We have about 20 instances of the | at the end of the line (as was the
> original), and only 4 at the beginning of the line (and two of these were
> done by you...).
Yes, that's my own coding style. I plead guilty! ;-)
Will fix.
> In the original, the / at the end of the prefix is added explicitly here in
> the call to git archive. I think that makes more sense than adding the / in
> the call itself.
OK, will fix.
Thank you! :-)
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:[~2014-01-14 22:49 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-12 23:44 [Buildroot] [PATCH 0/6] [RFC] some download-related changes Yann E. MORIN
2014-01-12 23:44 ` [Buildroot] [PATCH 1/6] Makefile: rename USER_HOOKS_EXTRA_ENV to EXTRA_ENV Yann E. MORIN
2014-01-14 20:44 ` Arnout Vandecappelle
2014-01-12 23:44 ` [Buildroot] [PATCH 2/6] pkg-infra: move git download helper to a script Yann E. MORIN
2014-01-13 14:18 ` Luca Ceresoli
2014-01-13 17:51 ` Yann E. MORIN
2014-01-14 20:39 ` Arnout Vandecappelle
2014-01-14 22:49 ` Yann E. MORIN [this message]
2014-01-12 23:44 ` [Buildroot] [PATCH 3/6] pkg-infra: git helper creates an empty archive if PKG_VERSION is a missing hash Yann E. MORIN
2014-01-13 14:22 ` Luca Ceresoli
2014-01-13 17:50 ` Yann E. MORIN
2014-01-14 20:43 ` Arnout Vandecappelle
2014-01-14 23:21 ` Yann E. MORIN
2014-01-15 8:17 ` Arnout Vandecappelle
2014-01-17 22:35 ` Yann E. MORIN
2014-01-12 23:44 ` [Buildroot] [PATCH 4/6] package infra: DOWNLOAD is never called with two arguments Yann E. MORIN
2014-01-14 20:51 ` Arnout Vandecappelle
2014-01-12 23:44 ` [Buildroot] [PATCH 5/6] pkg-infra: add possiblity to check downloaded files against known hashes Yann E. MORIN
2014-01-13 4:53 ` Baruch Siach
2014-01-13 17:52 ` Yann E. MORIN
2014-01-14 21:37 ` Arnout Vandecappelle
2014-01-14 23:34 ` Yann E. MORIN
2014-01-15 8:22 ` Arnout Vandecappelle
2014-01-15 13:22 ` Gustavo Zacarias
2014-01-17 23:02 ` Yann E. MORIN
2014-01-18 0:33 ` Gustavo Zacarias
2014-01-17 22:41 ` Yann E. MORIN
2014-01-18 15:53 ` Luca Ceresoli
2014-01-15 0:08 ` Gustavo Zacarias
2014-01-12 23:44 ` [Buildroot] [PATCH 6/6] package/ca-certificates: add tarball's hash Yann E. MORIN
2014-01-14 21:39 ` [Buildroot] [PATCH 0/6] [RFC] some download-related changes Arnout Vandecappelle
2014-01-14 23:39 ` Yann E. MORIN
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=20140114224923.GI3328@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 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.