From patchwork Wed Oct 27 17:02:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Jackson X-Patchwork-Id: 12587625 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4C11C433F5 for ; Wed, 27 Oct 2021 17:03:47 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9F95860FBF for ; Wed, 27 Oct 2021 17:03:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9F95860FBF Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=xenproject.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.217118.376980 (Exim 4.92) (envelope-from ) id 1mfmKd-0004YO-8S; Wed, 27 Oct 2021 17:03:19 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 217118.376980; Wed, 27 Oct 2021 17:03:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKd-0004XK-1B; Wed, 27 Oct 2021 17:03:19 +0000 Received: by outflank-mailman (input) for mailman id 217118; Wed, 27 Oct 2021 17:03:17 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKb-0004Tv-Fd for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKb-00007K-Eq for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from iwj (helo=mariner.uk.xensource.com) by xenbits.xenproject.org with local-bsmtp (Exim 4.92) (envelope-from ) id 1mfmKb-00008d-DO for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk) by mariner.uk.xensource.com with esmtp (Exim 4.89) (envelope-from ) id 1mfmKP-0007y4-MO; Wed, 27 Oct 2021 18:03:05 +0100 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xenproject.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=aV0xoRJrzvDBM4vBQY4k8X980Lt0ARIHFyS24ypIT/o=; b=gbtSh3DWra8q9KhmBva49ms8mw UcCVBcn717j3sVsIheBdSAaUDC00u9qtBU1RIOyGtPq4EzJZI92XOvBITlaZAekvkCZ/5IC57gx09 eRDP7R3Dtyd8JZzcHymytuAaBHWPWwcSpKpmb/1j/2mGFtMzJW7UWFHWaJtZLNugGljc=; From: Ian Jackson To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Juergen Gross Subject: [OSSTEST PATCH 1/2] ts-xen-build: Refactor enable/disable configure options Date: Wed, 27 Oct 2021 18:02:55 +0100 Message-Id: <20211027170256.18223-2-iwj@xenproject.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211027170256.18223-1-iwj@xenproject.org> References: <20211027170256.18223-1-iwj@xenproject.org> MIME-Version: 1.0 Replace the repeated pattern with a function to generate that code. No significant functional change. Signed-off-by: Ian Jackson CC: Juergen Gross --- ts-xen-build | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/ts-xen-build b/ts-xen-build index ccb2aba23..d6f6bfacb 100755 --- a/ts-xen-build +++ b/ts-xen-build @@ -142,9 +142,21 @@ END } sub build () { - my $xend_opt= $r{enable_xend} =~ m/true/ ? "--enable-xend" : "--disable-xend"; - my $ovmf_opt= $r{enable_ovmf} =~ m/true/ ? "--enable-ovmf" : "--disable-ovmf"; - my $qemutrad_opt = $r{arch} =~ m/amd64|i386/ ? "--enable-qemu-traditional" : "--disable-qemu-traditional"; + my $enable_opts = ''; # shell script to set "enable_opts" shell var + my $enable_disable = sub { + my ($subdir, $feat, $enable) = @_; + my $opt = "--".($enable ? 'enable' : 'disable')."-$feat"; + $enable_opts .= <("tools/", "xend", $r{enable_xend} =~ m/true/); + $enable_disable->("tools/", "ovmf", $r{enable_ovmf} =~ m/true/); + $enable_disable->("tools/", "qemu-traditional", $r{arch} =~ m/amd64|i386/); my $configure_prefix = $r{cmdprefix_configure} // ''; my $configure_suffix = $r{cmdsuffix_configure} // ''; @@ -152,17 +164,9 @@ sub build () { buildcmd_stamped_logged(600, 'xen', 'configure', < X-Patchwork-Id: 12587627 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5160C433EF for ; Wed, 27 Oct 2021 17:03:47 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 84C2F60F6F for ; Wed, 27 Oct 2021 17:03:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 84C2F60F6F Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=xenproject.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.217120.376984 (Exim 4.92) (envelope-from ) id 1mfmKd-0004e8-Hn; Wed, 27 Oct 2021 17:03:19 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 217120.376984; Wed, 27 Oct 2021 17:03:19 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKd-0004cK-Al; Wed, 27 Oct 2021 17:03:19 +0000 Received: by outflank-mailman (input) for mailman id 217120; Wed, 27 Oct 2021 17:03:17 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKb-0004U9-Pz for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mfmKb-00007P-P9 for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from iwj (helo=mariner.uk.xensource.com) by xenbits.xenproject.org with local-bsmtp (Exim 4.92) (envelope-from ) id 1mfmKb-00008z-OU for xen-devel@lists.xenproject.org; Wed, 27 Oct 2021 17:03:17 +0000 Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk) by mariner.uk.xensource.com with esmtp (Exim 4.89) (envelope-from ) id 1mfmKQ-0007y4-1y; Wed, 27 Oct 2021 18:03:06 +0100 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xenproject.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=CmW5peRN50Em71b3k175/7jXqoQ/j3qYsI/MZ7encfA=; b=Hw7bbjgBaL5JaLH2jWoVtU43fJ zzkGW9yChBzMMC8S3zNosyOqb47qLK5srXP73qL9bhQ0ExLdhTwdp87iE7/BBn7VB9HACZhEIU0/W UJ+bezMvuxmegwm2IIPkqkNNUsL5f+IHIra8SUE9MinGjeboGeyF7jQWIKaR7yfYxchY=; From: Ian Jackson To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Juergen Gross Subject: [OSSTEST PATCH 2/2] ts-xen-build: Pass --enable if --disable found in usage, and v.v. Date: Wed, 27 Oct 2021 18:02:56 +0100 Message-Id: <20211027170256.18223-3-iwj@xenproject.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211027170256.18223-1-iwj@xenproject.org> References: <20211027170256.18223-1-iwj@xenproject.org> MIME-Version: 1.0 The existing code works in practice if the usage message always lists the non-default, since the unlisted-in-usage options that would be supported, but are elided, are in any case the default. But configure might *compute* its defaults. In which case it will list only one of them in the usage message. If the computed default is not the same as the usual default (the one implied by listing the opposite in the usage message) we would wrongly not pass the option. So grep for both enable and disable. Signed-off-by: Ian Jackson CC: Juergen Gross --- ts-xen-build | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ts-xen-build b/ts-xen-build index d6f6bfacb..c294a51ea 100755 --- a/ts-xen-build +++ b/ts-xen-build @@ -142,12 +142,20 @@ END } sub build () { + # We want to explicitly enable and disable some things. But not + # all versions of Xen support all configuration options. We + # detect presence of an option by grepping configure. That finds + # them in the usage message. The usage message has only one of + # the two, depending on the usual default. (Presence of --enable + # in the usage output means --disable is supported, and vice + # versa.) So we search for both enable and disable, and if either + # is found, we use the one we want. my $enable_opts = ''; # shell script to set "enable_opts" shell var my $enable_disable = sub { my ($subdir, $feat, $enable) = @_; my $opt = "--".($enable ? 'enable' : 'disable')."-$feat"; $enable_opts .= <