Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp672167ybh; Tue, 10 Mar 2020 06:14:18 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvA3BupJ9/oNBYSMv5hQFd1zegR2DYji8KLVb13StH87FkMhw4mXYugrRVp5/eB4iiOcaL8 X-Received: by 2002:a05:6830:13c7:: with SMTP id e7mr4275012otq.5.1583846058357; Tue, 10 Mar 2020 06:14:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583846058; cv=none; d=google.com; s=arc-20160816; b=SQOhkQZc9HNFFLRHi/zlo/O8G2NaFMZ7L4LQZC7i7+u+oYo9SkOo/9wUAZ6fvO6vJv 0gGtkATGt/t7cfwDuPBLRYVmqPq0id1DGOuqGtsJkKD5IUq1zQAHf+o4zhONvXD8tJ9u 8Kw0qf2EI9fboOnNhK+HLpirRRpPtJfenW5p89GhKLgkwmaAaT1oPfEZGtP6lvnKLIvN qhpKa/8iBwPdOEH50YvZQR0OpRT34SfUGTvUxWpjquNyH/vIIg5fyXstSYA5h0b7Cj5V HsXMJo1RlSLNBQAiMKzZnG8A8bfSOpE56+AAgHG7lb3eVKTdl4w1eeStD4stitzdvlBw +55Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=uqIcZW9e5BrgBGdm7BU01/6fPyqS9ev6tzIvJXIP5l8=; b=sBkDipz3gy8ZQJA9951PmMSzbXNTEJZMIQH8h4XIQaSNjv2RzB47z2DjVu9foUX/Ql g7x8f+Q7ISQvMHnd0hYxqSPZVL38GGLRMUhmRUUqnBYLU/Q8gzcYGbI9JHweVdAd0q2b eUGzZqmeVr+6gicT4LicoVpg0DfF9uaUy91W1HS6BbaQJb5zxd/cQhYM2H8ev3Gy0C8m 3jvACXX4kuOqc5QAByvoSNuCFlzmeXomJ+FG66ODb7H0lvDFDFH1X+q7HyedljW1ZvBZ NHlVHUCGJePI1UQwYnX28KXXc/gLAypAPK4RzXiHORKJjbuqhywZDNqVIXNIMUxhbUMv h4IA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Kweie7kg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v1si1205653otj.204.2020.03.10.06.14.05; Tue, 10 Mar 2020 06:14:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Kweie7kg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729048AbgCJNMU (ORCPT + 99 others); Tue, 10 Mar 2020 09:12:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:34442 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731552AbgCJNMS (ORCPT ); Tue, 10 Mar 2020 09:12:18 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CC2742467D; Tue, 10 Mar 2020 13:12:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583845937; bh=Z1Ra69l+JL05IrHtlckZmc9Nq7FcPpzWhfMM48d5uK0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Kweie7kgUWXF57OlDuGhDOGfG3iHHOCOYYEnY0ruVPdCIAcAXCHdqGqpVRNUFHfEX HC0l+EWOqojd30pNM8ySiAq+fmTLUw4gOnJlEjR2O1JWwNOmDLqa1gpNc1RMQaz3G9 nwvBwviDdPy6im1uvL8P8OJTXW9/zEKwJBdGNzuQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yauheni Kaliuta , Jiri Benc , Shuah Khan , Sasha Levin Subject: [PATCH 4.19 09/86] selftests: fix too long argument Date: Tue, 10 Mar 2020 13:44:33 +0100 Message-Id: <20200310124531.303129094@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310124530.808338541@linuxfoundation.org> References: <20200310124530.808338541@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jiri Benc [ Upstream commit c363eb48ada5cf732b3f489fab799fc881097842 ] With some shells, the command construed for install of bpf selftests becomes too large due to long list of files: make[1]: execvp: /bin/sh: Argument list too long make[1]: *** [../lib.mk:73: install] Error 127 Currently, each of the file lists is replicated three times in the command: in the shell 'if' condition, in the 'echo' and in the 'rsync'. Reduce that by one instance by using make conditionals and separate the echo and rsync into two shell commands. (One would be inclined to just remove the '@' at the beginning of the rsync command and let 'make' echo it by itself; unfortunately, it appears that the '@' in the front of mkdir silences output also for the following commands.) Also, separate handling of each of the lists to its own shell command. The semantics of the makefile is unchanged before and after the patch. The ability of individual test directories to override INSTALL_RULE is retained. Reported-by: Yauheni Kaliuta Tested-by: Yauheni Kaliuta Signed-off-by: Jiri Benc Signed-off-by: Shuah Khan Signed-off-by: Sasha Levin --- tools/testing/selftests/lib.mk | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk index 8b0f16409ed7e..0ef203ec59fdc 100644 --- a/tools/testing/selftests/lib.mk +++ b/tools/testing/selftests/lib.mk @@ -85,17 +85,20 @@ else $(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_PROGS)) endif +define INSTALL_SINGLE_RULE + $(if $(INSTALL_LIST),@mkdir -p $(INSTALL_PATH)) + $(if $(INSTALL_LIST),@echo rsync -a $(INSTALL_LIST) $(INSTALL_PATH)/) + $(if $(INSTALL_LIST),@rsync -a $(INSTALL_LIST) $(INSTALL_PATH)/) +endef + define INSTALL_RULE - @if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \ - mkdir -p ${INSTALL_PATH}; \ - echo "rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/"; \ - rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/; \ - fi - @if [ "X$(TEST_GEN_PROGS)$(TEST_CUSTOM_PROGS)$(TEST_GEN_PROGS_EXTENDED)$(TEST_GEN_FILES)" != "X" ]; then \ - mkdir -p ${INSTALL_PATH}; \ - echo "rsync -a $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/"; \ - rsync -a $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/; \ - fi + $(eval INSTALL_LIST = $(TEST_PROGS)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_PROGS_EXTENDED)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_FILES)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_GEN_PROGS)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_CUSTOM_PROGS)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_GEN_PROGS_EXTENDED)) $(INSTALL_SINGLE_RULE) + $(eval INSTALL_LIST = $(TEST_GEN_FILES)) $(INSTALL_SINGLE_RULE) endef install: all -- 2.20.1