From mboxrd@z Thu Jan 1 00:00:00 1970 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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9928EC43334 for ; Fri, 1 Jul 2022 20:24:44 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 69BD984492; Fri, 1 Jul 2022 22:24:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="Cbsd63Ms"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CF1A88444D; Fri, 1 Jul 2022 22:24:29 +0200 (CEST) Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1E5CD84484 for ; Fri, 1 Jul 2022 22:24:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=dianders@chromium.org Received: by mail-pg1-x530.google.com with SMTP id 145so3350483pga.12 for ; Fri, 01 Jul 2022 13:24:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B0ULI3233uizRqGOv1wzYJhzI3vKbP/c048HwxnLoLo=; b=Cbsd63MsfQcJPKKSGqZFyfV94s8NHGW3nAyzx0QCVcecQmCV8XRKepzW4JGg4QSBkE ZxOYXibPSjHS0ozXIFdxR+4MBf/Q/t5D8pyxTG6ylY1d8jDInOZZ3Y6V7VGKybZ6QRix OBHl7Rollx7d/efVHEBXEc8IXAJ4O4yMJfdw4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=B0ULI3233uizRqGOv1wzYJhzI3vKbP/c048HwxnLoLo=; b=1f+NbwW0+sW0weQVkbVRPem0ppw7SMgQJ28da/gz1SG/sHH6IkuwSVV3BN7MjW4M0L PfsXSGFvXnTcQ2oC4A3w5uC8hsLe38XacdqZBlj/+WldaTD8M5LmvW5h4OCn/9WmqRMS 4r3/H8/1/QPyyjn20DkVUYJi8e/eiTs9lLBEQSOb4oFTkTszAl3RynespT8rB5OkFH3n I70AKDWw7aLc7hS8d97d6EQGbzT1IlZ/V6vfrrn/8fMsQgcc+t9vEymO+6NYsbzMfN1J rQGhRyAHBbngj4Ngft1h7h0OrpS4NMCxOY3IZUG/LbjUIbGBCS0Jqw2Wip+lBntWXwJQ 6BGA== X-Gm-Message-State: AJIora90iw0GcSne+YtSVHQ+YhVkCH7x6Wj3K66O12uQ3VZ/tgpqWvG1 jLyWv7xk65CGiQAbl281v4EfJg== X-Google-Smtp-Source: AGRyM1sEyob1P6anTC0snHj7kLntf1HR4eYF0vkTxGLXnGo3XuUmu23ek4ervcakrkkjNuTObsjBwA== X-Received: by 2002:a05:6a00:17a8:b0:525:537a:b0df with SMTP id s40-20020a056a0017a800b00525537ab0dfmr22870211pfg.71.1656707065377; Fri, 01 Jul 2022 13:24:25 -0700 (PDT) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:201:7ff8:1e17:ae28:6bf8]) by smtp.gmail.com with ESMTPSA id p3-20020a170902e74300b00168a216f629sm4095484plf.11.2022.07.01.13.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Jul 2022 13:24:25 -0700 (PDT) From: Douglas Anderson To: sjg@chromium.org Cc: briannorris@chromium.org, mka@chromium.org, amstan@chromium.org, Douglas Anderson , u-boot@lists.denx.de Subject: [PATCH v2 1/6] patman: Fix updating argument defaults from settings Date: Fri, 1 Jul 2022 13:23:57 -0700 Message-Id: <20220701132328.v2.1.Ic2c915fb5435e9862da7d42116db55791cb327c7@changeid> X-Mailer: git-send-email 2.37.0.rc0.161.g10f37bed90-goog In-Reply-To: <20220701202402.3551274-1-dianders@chromium.org> References: <20220701202402.3551274-1-dianders@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Ever since commit 4600767d294d ("patman: Refactor how the default subcommand works"), when I use patman on the Linux tree I get grumbles about unknown tags. This is because the Linux default making process_tags be False wasn't working anymore. It appears that the comment claiming that the defaults propagates through all subparsers no longer works for some reason. We're already looking at all the subparsers anyway. Let's just update each one. Fixes: 4600767d294d ("patman: Refactor how the default subcommand works") Signed-off-by: Douglas Anderson Tested-by: Brian Norris Reviewed-by: Brian Norris --- (no changes since v1) tools/patman/settings.py | 41 +++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/tools/patman/settings.py b/tools/patman/settings.py index 7c2b5c196c06..5eefe3d1f55e 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -244,28 +244,31 @@ def _UpdateDefaults(main_parser, config): if isinstance(action, argparse._SubParsersAction) for _, subparser in action.choices.items()] + unknown_settings = set(name for name, val in config.items('settings')) + # Collect the defaults from each parser - defaults = {} for parser in parsers: pdefs = parser.parse_known_args()[0] - defaults.update(vars(pdefs)) - - # Go through the settings and collect defaults - for name, val in config.items('settings'): - if name in defaults: - default_val = defaults[name] - if isinstance(default_val, bool): - val = config.getboolean('settings', name) - elif isinstance(default_val, int): - val = config.getint('settings', name) - elif isinstance(default_val, str): - val = config.get('settings', name) - defaults[name] = val - else: - print("WARNING: Unknown setting %s" % name) - - # Set all the defaults (this propagates through all subparsers) - main_parser.set_defaults(**defaults) + defaults = dict(vars(pdefs)) + + # Go through the settings and collect defaults + for name, val in config.items('settings'): + if name in defaults: + default_val = defaults[name] + if isinstance(default_val, bool): + val = config.getboolean('settings', name) + elif isinstance(default_val, int): + val = config.getint('settings', name) + elif isinstance(default_val, str): + val = config.get('settings', name) + defaults[name] = val + unknown_settings.discard(name) + + # Set all the defaults + parser.set_defaults(**defaults) + + for name in sorted(unknown_settings): + print("WARNING: Unknown setting %s" % name) def _ReadAliasFile(fname): """Read in the U-Boot git alias file if it exists. -- 2.37.0.rc0.161.g10f37bed90-goog