From: Maxime Petazzoni <maxime.petazzoni@bulix.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/4] Implement basic non-wget download methods
Date: Fri, 16 Jul 2010 12:39:02 +0200 [thread overview]
Message-ID: <20100716103902.GF16232@bulix.org> (raw)
In-Reply-To: <1279108920.7058.123.camel@cabbage.rehill.info>
* Quotient Remainder <quotientvremainder@gmail.com> [2010-07-14 13:02:00]:
> > > > +GIT_CO:=$(call qstrip,$(BR2_GIT_CO)) $(QUIET)
> > > Now I would rename GIT to GIT_CLONE to make the difference clear.
> >
> > I aimed for the least modifications here. But if the consensus is on having
> > GIT_CLONE and GIT_CO, I'll change it.
>
> In a broader sense what are these configuration options for? Is it to
> allow adding switches (e.g. git checkout -f) to the commands or is it to
> allow specifying the path to the executable
> (e.g. /usr/bin/svn, /opt/git4.0-pre/bin/git)?
> If it's the first case, I'd side with GIT_CLONE and GIT_CO. If it's the
> second case, I'd leave it as GIT but get rid of the GIT_CO and just put
> the actual command in Makefile.package.in. Is is likely that they will
> ever differ from "clone" or "checkout" anyway?
I don't really know what they are for. Maybe some "older" Buildroot
developers could give us some details there. Because you're right, git
clone will most likely remain git clone. But having the option to use a
specific path is usefull, in which case I'd leave only GIT="git". But
then the same would apply to SVN_CO/SVN_UP where we should only keep
SVN="svn".
Thoughts?
> I have to agree with Maxime here, $(DL_DIR) seems the right place for
> these directories and the creation of the tarball in $(DL_DIR)
> integrates nicely with the existing infrastructure. I would prefer the
> use of "git archive"/"svn export" instead of plain "tar" here though. I
> feel it's better to use the VCS native facility than relying on the
> installed version of tar to know about the particulars of the VCS
> metainformation.
Makes sense. I'm more used to --exclude-vcs because I don't have to
remember the different syntax of all VCS, especially for the ones I
don't use frequently like Bzr, Mercurial, etc.
I'll change that in my next resend.
> In addition, when tar is not used, the name of the cloned directory need
> not be tied to the version; a prefix can be specified in the archive
> command or exporting done to a temporary directory. $($(PKG)_BASE_NAME)
> can just be $($(PKG)_NAME).$($(PKG)_SITE_METHOD) or similar.
>
> The result is that the working copy can be left in $(DL_DIR) so it's
> available for updating at a later time; I would leave out the "rm" line
> so re-use is possible. It could be regarded as a kind of hook to help
> the possible future feature (discussed in the other thread) of using BR
> as a development environment.
Although this would work fairly well for Git repository, it is not the
case for Subversion repositories, especially if the PGK_SITE changes to
point to a different tag, in which case you need to svn switch
--relocate, etc.
I think it's best for now to go with the current method of checking out,
creating the tarball and removing the working copy, and later work on
how/where to keep the working copies and using them efficiently for
updates. This makes the incremental changes smaller and easier to deal
with. Not necessarily in terms of code, but also in terms of the
discussions around it.
> Another feature not present in this is the guessing of the download
> scheme/protocol from the URI (in Luca's patch). It seems to fit in
> nicely with this patch without significant modification and adds that
> extra bit of flexibility while falling back to sensible defaults, in my
> opinion.
It does indeed fit very nicely with my patch, so I'll go ahead and
integrate it in my next resend.
- Maxime
--
Maxime Petazzoni <http://www.bulix.org>
``One by one, the penguins took away my sanity.''
Linux kernel and software developer at MontaVista Software
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20100716/091183f7/attachment.pgp>
next prev parent reply other threads:[~2010-07-16 10:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-13 9:51 [Buildroot] [PATCH 2/4] Implement basic non-wget download methods Luca Ceresoli
2010-07-13 11:30 ` Maxime Petazzoni
2010-07-14 12:02 ` Quotient Remainder
2010-07-16 10:39 ` Maxime Petazzoni [this message]
2010-07-18 21:22 ` Peter Korsgaard
2010-07-20 5:48 ` Maxime Petazzoni
-- strict thread matches above, loose matches on Subject: below --
2010-07-13 7:15 [Buildroot] [PATCH/RFC] Git/Svn downloaders Maxime Petazzoni
2010-07-13 7:15 ` [Buildroot] [PATCH 2/4] Implement basic non-wget download methods Maxime 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=20100716103902.GF16232@bulix.org \
--to=maxime.petazzoni@bulix.org \
--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