From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from ptx.hi.pengutronix.de ([2001:6f8:1178:2:5054:ff:fec0:8e10] ident=Debian-exim) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1WLcdn-0007E0-6g for ptxdist@pengutronix.de; Thu, 06 Mar 2014 19:03:31 +0100 Received: from mol by ptx.hi.pengutronix.de with local (Exim 4.80) (envelope-from ) id 1WLcdn-0002KQ-5Q for ptxdist@pengutronix.de; Thu, 06 Mar 2014 19:03:31 +0100 Date: Thu, 6 Mar 2014 19:03:31 +0100 From: Michael Olbrich Message-ID: <20140306180330.GQ32080@pengutronix.de> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [ptxdist] tarballs from git URLs: git archive vs. git submodule Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Hi, On Mon, Mar 03, 2014 at 01:13:00PM +0100, Alexander Dahl wrote: > while trying the local_src feature (local_src/${PACKAGE}.{PLATFORM}) > which is actually really cool, I came across a problem with the > automatic tarball creation from Git URLs. ptxd_make_get.sh uses `git > archive` for this purpose which does not support git submodules. There > are several scripts around the web by people who needed this in the past > and although there were feature requests and even patches years ago in > git, it's still not included mainline. :-( > > The possibilities I see are these: > > * waiting probably very long for a new git release with git archive > supporting submodules > * replace the use of submodules in the repositories I want to use with > something else, maybe git subtree > * scripting this and change ptxd_make_get.sh which could be quite > complicated * create a tarball for each repository and extract all in a custom extract stage. Take a look at e.g. host-tz-database on how to handle multiple tarballs. > For the third possibility: I would suggest cloning the repo with the > --mirror option into a --bare repository almost like it's done now. Then > do a `git clone --recursive` to a temporary folder followed by a > checkout to the desired tag. Make a tarball from this clone and remove > the directory right afterwards. The git url support was introduced in > June 2013 by Michael Olbrich and not touch since. Did anyone try to > improve it in any way? Would a change in the proposed direction have > chances to be accepted by the ptxdist developers? It would make the code > more complex I guess. 'git archive' always creates the exact same tarball. It's not that easy to do the same thing manually. I'd like to avoid too much complexity here. But I'd be open for a patch that puts the 'git archive' call in a separate function. Then you only need to overwrite this function locally in your BSP with a special version that handles submodules. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de