From patchwork Sat Mar 5 20:54:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Angelo Daros de Luca X-Patchwork-Id: 592459 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (caladan.dune.hu [78.24.191.180]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8A3C21402A8 for ; Sun, 6 Mar 2016 07:57:36 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=n+HTjIB+; dkim-atps=neutral Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 4E553B9170C; Sat, 5 Mar 2016 21:56:12 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP; Sat, 5 Mar 2016 21:56:12 +0100 (CET) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 99DBDB91653 for ; Sat, 5 Mar 2016 21:55:11 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .gmail. - helo: .mail-qg0-f43.google. - helo-domain: .google.) FROM/MX_MATCHES_HELO(DOMAIN)=-2; rate: -7 Received: from mail-qg0-f43.google.com (mail-qg0-f43.google.com [209.85.192.43]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Sat, 5 Mar 2016 21:55:10 +0100 (CET) Received: by mail-qg0-f43.google.com with SMTP id y89so69687045qge.2 for ; Sat, 05 Mar 2016 12:55:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=pVEAFCPVOfss6weGzZ6TblA1ZZBtrfhVe19CfPG8AGo=; b=n+HTjIB+tznfpncdE5dHdA1R3gTHmgHBMpBNFz4cDt5F5BNWS/vYUg56UEKtmfPTDx iT+w2X2mMoQm4qME62yWZLKCEkleHfRW5J+UnGZuFHTIu7IHwgHyo+CuxvNOe0WAKU2f 8wSRkB4G3KT+1RGC0d7DOBQQQlxoWIJG5L4QTqfXmsQSO5xeEmC/UHbE9rHpYYVDgFAr QitMvrL0rm5AzH2tf9wOLbRJJHly3gpScZxGgsEFmSHw6fzpxSY995HDYl6v2pnBNC1k T/Gl7grLx5LkClARyHjsUE0geWdAwap8hKlMVUxI/cLVmcs6IZbGfvOy8BxR+K5Wle67 X3lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=pVEAFCPVOfss6weGzZ6TblA1ZZBtrfhVe19CfPG8AGo=; b=EXCQCyVEsbtKvYbuOPmCunoe/NxzvmeGWJU03inQ6L4uWL2PbGQISm6XM7pQTclw90 k3K1q10XlQ+7h8/FaqJC/J4Fg/O7mcoesRR5aGaV5GLmODqSSfJ94zakzcPMx5Qi9TPp z0m03Vgz8BIV9DpdIfvaA1Gu+ZrlaKAYLfOgrcf/JyWq9w/TkREcBS7pLTrcKRySK/ZF rJ/HfrLXFdAGkumPNn+ZGirMCn0asTgOuQpNCD+zgLX9DR/uZaqYsaG8paDrv2MsCjx4 cZIZMCC8z1bZxvHk1Ul5SYOy93302J/bwICate/UHWojGyI0C51M+V/yv/EhAkszh+Ve pmwA== X-Gm-Message-State: AD7BkJKXDRIZlMqoKrthINblYfFZN+6HKBCLVvHrWdzyR4DU+zzDUkJoQFY+2EWyN4WXqg== X-Received: by 10.140.181.9 with SMTP id c9mr12935500qha.34.1457211309525; Sat, 05 Mar 2016 12:55:09 -0800 (PST) Received: from zipper.lan3 ([189.101.201.239]) by smtp.gmail.com with ESMTPSA id s104sm4593997qgs.22.2016.03.05.12.55.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 05 Mar 2016 12:55:08 -0800 (PST) From: Luiz Angelo Daros de Luca To: openwrt-devel@lists.openwrt.org Date: Sat, 5 Mar 2016 17:54:54 -0300 Message-Id: <1457211294-26740-1-git-send-email-luizluca@gmail.com> X-Mailer: git-send-email 2.5.0 Subject: [OpenWrt-Devel] [PATCH] prereq: fixes checks that prefix env vars (ex:git) X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" If a prereq-build command check defines a command env var (ex: MANPAGER=cat git ...) prereq SetupHostCommand breaks. This is because it looks for the binary using which on the first space-separated item (which might be the env var definition) This patch replaces bash substitution by a sed regex that removes both env parameters and command args. --- include/prereq.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/prereq.mk b/include/prereq.mk index 6cb590e..839b663 100644 --- a/include/prereq.mk +++ b/include/prereq.mk @@ -92,8 +92,11 @@ define SetupHostCommand $(call QuoteHostCommand,$(7)) $(call QuoteHostCommand,$(8)) \ $(call QuoteHostCommand,$(9)); do \ if [ -n "$$$$$$$$cmd" ]; then \ + regex_rm_vars='s/^(\w+=(\['\'\"]']|'\''[^'\'']*'\''|"[^"]*"|[^ ]*(\\ )?)* )*//'; \ + regex_rm_args='s/[[:space:]].*//'; \ + regex_clean_cmd="$$$$$$$$regex_rm_vars;$$$$$$$$regex_rm_args"; \ bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \ - which "$$$$$$$${cmd%% *}")"; \ + which "$$$$$$$$(echo $$$$$$$$cmd | sed -re "$$$$$$$$regex_clean_cmd")")"; \ if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \ mkdir -p "$(STAGING_DIR_HOST)/bin"; \ ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \