From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/4] br-reproduce-build: fix URL of gitid
Date: Wed, 18 Feb 2015 21:26:51 +0100 [thread overview]
Message-ID: <20150218202651.GA3896@free.fr> (raw)
In-Reply-To: <CAHkwnC9TvNQCVK4nyvSvD-K2z688nNqWV-rbPrv9=osx=f13NA@mail.gmail.com>
Fabio, All,
On 2015-02-18 21:12 +0100, Fabio Porcedda spake thusly:
> On Sat, Feb 14, 2015 at 10:58 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > On 2015-02-14 22:10 +0100, Thomas Petazzoni spake thusly:
> >> On Sat, 14 Feb 2015 11:52:05 +0100, Yann E. MORIN wrote:
> >> > Reported-by: Fabio Porcedda <fabio.porcedda@gmail.com>
> >> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> >> > ---
> >> > utils/br-reproduce-build | 6 ++++--
> >> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >> >
> >> > diff --git a/utils/br-reproduce-build b/utils/br-reproduce-build
> >> > index c0dc530..9987684 100755
> >> > --- a/utils/br-reproduce-build
> >> > +++ b/utils/br-reproduce-build
> >> > @@ -16,9 +16,11 @@ if [ $# -ne 1 ] ; then
> >> > exit 1 ;
> >> > fi
> >> >
> >> > -BUILD_ID=$1
> >> > +# BUILD_ID must be in the form xxx/xxxyyyyyyyyyy (xxxyyyyy... being the sha1)
> >> > +BUILD_ID="${1#*/}"
> >> > +BUILD_ID="${BUILD_ID%${BUILD_ID#???}}/${BUILD_ID}"
> >> >
> >> > -BUILD_DIR=${OUTPUT_DIR}/${BUILD_ID}
> >> > +BUILD_DIR="${OUTPUT_DIR}/${BUILD_ID#*/}"
> >>
> >> This shell stuff is so complicated that I don't even understand what is
> >> the behavior.
> >
> > Ah, sorry, that's indeed not completely trivial (eveb though I can read
> > it quite clearly! ;-) )
> >
> > What this does is:
> >
> > - BUILD_ID="${1#*/}"
> > get rid of anything before a '/', included
> >
> > - ${BUILD_ID#???}
> > get rid of the first three chars
> >
> > - ${BUILD_ID%foo}
> > get rid of the trailing string 'foo', so:
> >
> > - ${BUILD_ID%${BUILD_ID#???}}
> > get rid of all but the first three chars
> >
> > Thus, what the code above does is:
> >
> > - if the user passes a sha1 xxxyyyyyy transform it to xxx/xxxyyyyy
> > (since that the way results are organised on the website
> >
> > - if the user already passes xxx/xxxyyyyyyy we simply get rid of the
> > leading xxx/ (even though it is the correct form) to keep the
> > xxxyyyyyy form, and we are back to the first case, above.
> >
> >> When you say "BUILD_ID must be in the form
> >> xxx/xxxyyyyyyyyyy", does it mean that the user is supposed to pass as
> >> argument to the script a value in the form "xxx/xxxyyyyyyyyyyy" ? If
> >> so, then it's clearly not the intended behavior: the full hash should
> >> be sufficient.
> >
> > Yes, that's exactly the point of all the above: a sha1 should be enough.
> > However, if the user is smart enough to pass the xxx/xxxyyyyy form, we
> > still accept it.
> >
> >> Maybe a few more comments would be useful to understand the magic.
> >
> > Yes, obviously. Sorry, it seemed clear enough to me (but I'm very well
> > used to using shell tricks that in retrospect are not so obvious).
>
> I think this patch is useful, are you going to send an updated version?
Yes, I will. Quoting Eric_L on IRC just now: "so many things to play
with, so little time to do..."
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-02-18 20:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-14 10:52 [Buildroot] [pull request] buildroot-test: misc enhancenments for br-reproduce-build Yann E. MORIN
2015-02-14 10:52 ` [Buildroot] [PATCH 1/4] br-reproduce-build: accept BASE_GIT and OUTPUT_DIR from the env Yann E. MORIN
2015-02-14 21:08 ` Thomas Petazzoni
2015-02-15 0:30 ` Yann E. MORIN
2015-02-14 10:52 ` [Buildroot] [PATCH 2/4] br-reproduce-build: use current directory as the default for outputs Yann E. MORIN
2015-02-14 21:08 ` Thomas Petazzoni
2015-02-14 10:52 ` [Buildroot] [PATCH 3/4] br-reproduce-build: fix URL of gitid Yann E. MORIN
2015-02-14 21:10 ` Thomas Petazzoni
2015-02-14 21:58 ` Yann E. MORIN
2015-02-18 20:12 ` Fabio Porcedda
2015-02-18 20:26 ` Yann E. MORIN [this message]
2015-02-18 20:37 ` Fabio Porcedda
2015-02-14 10:52 ` [Buildroot] [PATCH 4/4] br-reproduce-build: quote all variables Yann E. MORIN
2015-02-14 21:10 ` Thomas Petazzoni
2015-02-14 22:00 ` 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=20150218202651.GA3896@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