From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FE5D30DD12 for ; Mon, 29 Dec 2025 11:45:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767008720; cv=none; b=SmRjthk7N96+x2Klj8IOwHE7GktLycILTNyODuhNy4MEDS8TGS4jNzVdnTUBBy0+zVp11gO15rkBd5mn4KzYBCW1LU+lhWx/Mv+SosHrzQ7hSa87TCvC1xYkVXtZhRJrs2t2YUHwq9TZTg5AWPBTPm/imP+bwkVL5bNCQy8F4ZM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767008720; c=relaxed/simple; bh=U17CiipV99tJxb5bl3yvI3ODUrvvhu+idhOO+vgSEdw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L/SB0BcL1A9FPDFWXUbN5IntUzC/2w0HmEVU8U/7kGhF7aVZMFSCaqiIh4O9oGRwbYzmieK4RLqCW83ibDCZxqsYp0V3lNntKFMC6qnSWdqMtqAO/iz7sGNnxNpqNrxacAv9dDX6SlD9zLGhTK3z0GV9OsRlzK1eCZtlFNQfl08= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=PL/4fliV; arc=none smtp.client-ip=209.85.167.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="PL/4fliV" Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-59a10df8027so11607780e87.0 for ; Mon, 29 Dec 2025 03:45:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767008714; x=1767613514; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c+j2RfmhG2P7RkXIgKc8NiLZhEGOPPRK3h8OXTdV5pA=; b=PL/4fliVmjJWYm2mDf51iWFKwz0kgE/AxWizKkAdFiCQi7haGOK4AEzLmzMrzw0Mdm lwHfZIszU8b/AoPRYZWlRQKAHg0fcAoGI7OLhd/NHNTlCEuDdvDi+u02axULEOQwcl+D EqK0hSzSVqPiyafC7a3WonohzK/urW8zhuzDjMv0R745L14O5QA0Gxj4WB+DxGUalEKw Bmc6MKmUu2xDM3Rifs7m1UBupqs26aaBsTJM5aPxj0f5tPayikAQWkKzTOok28sUTmsw fCxfgD1tEHI/bM5T8AFegjN9YvCId+qGtl37KK8xlIfuMXc+1DnbcNn+ZbbQ3n165aly Cj0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767008714; x=1767613514; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=c+j2RfmhG2P7RkXIgKc8NiLZhEGOPPRK3h8OXTdV5pA=; b=mTHv3vBteS3FFJxZEDxxVp7W/3AVe5qvjU+mkLTqVvG0wow/55DL0fa71amfTHnLjb A0OHkVividOU7aBb19e4cYZKuihqiIrqMPtvse2TaU5zU8bDNceGIPigPFl9AnwSv2Cy N2POG/uo1Tzh6K2NzACSNan+zMe9sLl4AlouUgWwxsR+VaWdjFvY9uoh/xBRaIXfs2U6 31E2EGraeOlzQWhCngUGxFxqC404Qn+LS4gXF0s7M82eOqNj4hmzUNfbkp0cA9S2mDX/ etA8mAQyrlVUrL099Reb2k1KK2QiNru1XVO3Mhb8UQGf1ifaQJpSlcEPG+jE84pTDfHk dq0Q== X-Forwarded-Encrypted: i=1; AJvYcCUWCP+ROXzwjOoSktQvbHqqWSqhrDa8yoTeFgvv7mzz5R7Th3pxz/qQkxtLycQikpC3aGFNYGm3WwG9D5I=@vger.kernel.org X-Gm-Message-State: AOJu0YyXdDZLKaQItWSoiJcHMroHHtc62yM8XjnFDieQJLXmqS923bdd LzRM6mRlWgS0uWNS7UQ7hksEtFXyEKPyUlbGn0uwbQsb/hWs4tYmvPXvXfzpjb6NgWU= X-Gm-Gg: AY/fxX69RcQCN7rf94BmQ9/pKOv763dp4IQW2UcXERM5FrTGAYIy09lPGWgfZG0wO25 +rYLHn8aMnML300zCjk+jKz1TTGal+MOklpsj7yvFgHCygM3ZojU0p3FrmlFZwkkeyiuLWCqTd0 dbnHSNQVXik0ZmMGKmHeo+/3HToWcyvfAF2wcGfiv1MaJf7WNZwoOyU7Xomzlr96IpdPHk1MHhD qwoYGmsmRBKPDyI4e7rRF+K5Iuqf7Lm+XBPmIvegx6pe3BZh3gdO2KWrKytfAARd5+07J1zEVpn UA/2RNP7rXjAg39dFLh29JNl4BSwFUa0dhy6Hjs57dSLw5VK5LW7xmzOJSIRTE8HeQpo5RI3ftu zOnM+5hsXiC0VNFhj8CdHbO0sJF9tj873Wqh6L1SAGpZTsWioeaNbAO/D+Md3SEW5gG8ytGnrX6 lxZDLAQA+idvJsG/7cixsk7hYDwmhQzxvHgZ3dt0SL/EQH X-Google-Smtp-Source: AGHT+IF17Yhf8RbxeDAoPczyvZrBsuXq49KKZ+PuMJ+YskyyFNVG7eBi4v7E+ourdAITJ38fOOFtVg== X-Received: by 2002:a05:6512:3191:b0:598:8f92:c340 with SMTP id 2adb3069b0e04-59a17d7768amr10594632e87.52.1767008714356; Mon, 29 Dec 2025 03:45:14 -0800 (PST) Received: from nuoska (87-100-249-247.bb.dnainternet.fi. [87.100.249.247]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59a18618d59sm9239711e87.61.2025.12.29.03.45.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 03:45:14 -0800 (PST) From: Mikko Rapeli To: Nathan Chancellor , Nicolas Schier , Anders Roxell , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mikko Rapeli Subject: [PATCH 3/3] scripts: kconfig: merge_config.sh: warn on duplicate input files Date: Mon, 29 Dec 2025 13:44:47 +0200 Message-ID: <20251229114447.45236-3-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251229114447.45236-1-mikko.rapeli@linaro.org> References: <20251229114447.45236-1-mikko.rapeli@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit External scripts like yocto kernel scc may provide same input config fragment multiple times. This may be a bug since processing same fragments multiple times can be time consuming. Cc: Anders Roxell Signed-off-by: Mikko Rapeli --- scripts/kconfig/merge_config.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh index bc6b5d0a69bc..0996bf118325 100755 --- a/scripts/kconfig/merge_config.sh +++ b/scripts/kconfig/merge_config.sh @@ -128,6 +128,8 @@ trap clean_up EXIT cat $INITFILE > $TMP_FILE +PROCESSED_FILES="" + # Merge files, printing warnings on overridden values for ORIG_MERGE_FILE in $MERGE_LIST ; do echo "Merging $ORIG_MERGE_FILE" @@ -135,6 +137,14 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do echo "The merge file '$ORIG_MERGE_FILE' does not exist. Exit." >&2 exit 1 fi + + # Check for duplicate input files + case " $PROCESSED_FILES " in + *" $ORIG_MERGE_FILE "*) + ${WARNOVERRIDE} "WARNING: Input file provided multiple times: $ORIG_MERGE_FILE" + ;; + esac + # Use awk for single-pass processing instead of per-symbol grep/sed if ! awk -v prefix="$CONFIG_PREFIX" \ -v warnoverride="$WARNOVERRIDE" \ @@ -256,6 +266,7 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do STRICT_MODE_VIOLATED=true fi mv "${TMP_FILE}.new" "$TMP_FILE" + PROCESSED_FILES="$PROCESSED_FILES $ORIG_MERGE_FILE" done if [ "$STRICT_MODE_VIOLATED" = "true" ]; then echo "The fragment redefined a value and strict mode had been passed." -- 2.34.1