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 1W6cxa-0001Dr-Q4 for ptxdist@pengutronix.de; Fri, 24 Jan 2014 10:21:58 +0100 Received: from mol by ptx.hi.pengutronix.de with local (Exim 4.80) (envelope-from ) id 1W6cxa-0007Tg-OR for ptxdist@pengutronix.de; Fri, 24 Jan 2014 10:21:58 +0100 Date: Fri, 24 Jan 2014 10:21:58 +0100 From: Michael Olbrich Message-ID: <20140124092158.GC7704@pengutronix.de> References: <201401080859.43988.jbe@pengutronix.de> <20140109090334.GI2156@pengutronix.de> <20140109160612.GA7098@pengutronix.de> <20140110153743.GC20358@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [ptxdist] git ptxdist best practices 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 On Fri, Jan 10, 2014 at 08:47:52PM -0500, Jon Ringle wrote: > On Fri, Jan 10, 2014 at 10:37 AM, Michael Olbrich > wrote: > > > On Thu, Jan 09, 2014 at 11:37:15AM -0500, Jon Ringle wrote: > > > Would the following approach work: > > > > > > 1. In ptxdist/rules/post/ptxd_make_world_common.make add to > > world/env/impl: > > > pkg_url_safe="$(call ptx/escape,$($(1)_URL_SAFE))" > > > > > > 2. In ptxdist/scripts/lib/ptxd_make_get.sh function ptxd_make_get > > > change all occurances of: > > > if [ -z "${PTXCONF_SETUP_PTXMIRROR_ONLY}" ]; then > > > with something like: > > > if [ -z "${PTXCONF_SETUP_PTXMIRROR_ONLY}" -o -n "${pkg_url_safe}" ]; > > > then > > > > > > Then in the rule file you can do: > > > FOO_URL_SAFE := y > > > > > > So that you can whitelist a specific URL if PTXCONF_SETUP_PTXMIRROR_ONLY > > is > > > set > > > > Hmmm, this is not so nice. How about making PTXCONF_SETUP_PTXMIRROR a list? > > Then you can add http://opensource/pool/ and your git server to the > > 'whitelist'. > > > > The approach you are proposing has several issue for which I don't have > the necessary bash chops to figure out how to tackle: > > 1. In the 1st while loop in ptxd_make_get(), I don't know how to get the > case to accept multiple array values for ${PTXCONF_SETUP_PTXMIRROR}: > case "${url}" in > ${PTXCONF_SETUP_PTXMIRROR}/*/*) > # keep original URL, for stuff like glibc > argv[${#argv[@]}]="${url}" > mrd=true > ;; > ${PTXCONF_SETUP_PTXMIRROR}/*) > # if mirror is given us to download, add it, but only once > if ! ${mrd}; then > argv[${#argv[@]}]="${url}" > mrd=true > fi > ;; > > Replacing with ${PTXCONF_SETUP_PTXMIRROR[@]} clear won't help as the > various options aren't separate by PIPE character |. > > 2. Where ptxmirror_url gets assigned, it would also need to be an array too > 3. And then also where ${ptxmirror_url} gets added to the argv array > > Quite frankly, I really like my approach much better... and it does not > preclude you from implementing your solution as well. > If I created and tested a patch that allows FOO_URL_SAFE, would you > consider it for inclusion to ptxdist? I've been thinking about this some more. The choice to only download from the mirror comes from the BSP user via 'setup'. I don't think allowing the BSP / ptxdist developer to overwrite that is a good idea. What about an explicit URL whitelist in 'setup'? 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