From patchwork Tue Aug 29 01:00:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karsten Sperling X-Patchwork-Id: 1827055 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=ZVS5UnX+; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RZTjg1vdGz1yfX for ; Tue, 29 Aug 2023 11:04:52 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type:List-Help: Reply-To:List-Archive:List-Unsubscribe:List-Subscribe:From:List-Post:List-Id: Message-ID:MIME-Version:To:Date:Subject:Cc:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=lTSvPlasZ63zcHtDV6CwNRrS2U4Mw52YgzY8IIy30PU=; b=ZVS5UnX+2DEddENMSv393ITBo7 NRU1ZBsSQMgDuO9SoyHJJOL2XnNRQRsTHsVwY6Q+0K9FON5iCB6jZ/VkO+k2CNrQDrR5gewNiV62j heL4FIxIKcV9+GtUjUnGuEaqQEwI2MoUWxcoeSFq2Aksw2qP4Vo2KeVsTJ9I9X+bs/cIGqJhKyx9f R/5ptZ2vEQ1iYJFrQeXucYzwsePwyIQlEx5ebPncGcdsjSVcxrduybXq+Jz+LVmW81KkRrhEHg/W8 XUruA4k9x1i83dZDkYpIcZ17ls5Sv5i8JO1AF8wxPL+oUX0YSYXNuLToi2gr83HmS1bWzEJ/ygl4j HtJEjcCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qan6W-00AX6X-2h; Tue, 29 Aug 2023 01:01:12 +0000 Subject: [PATCH] build: propagate errors in scan and feed update Date: Tue, 29 Aug 2023 13:00:37 +1200 To: openwrt-devel@lists.openwrt.org MIME-Version: 1.0 Message-ID: List-Id: OpenWrt Development List List-Post: X-Patchwork-Original-From: Karsten Sperling via openwrt-devel From: Karsten Sperling Precedence: list X-Mailman-Version: 2.1.34 X-BeenThere: openwrt-devel@lists.openwrt.org List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Karsten Sperling List-Help: Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Currently, when an error occurs during scanning of a package Makefile, an error message is logged, but the error is not actually propagated. This makes it easy for build scripts to accidentally proceed based on an incomplete package scan. Propagate errors correctly in scan.mk and update_index in the feeds script. Signed-off-by: Karsten Sperling --- include/scan.mk | 1 + scripts/feeds | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/scan.mk b/include/scan.mk index 33a5832ff5..fa1909caa3 100644 --- a/include/scan.mk +++ b/include/scan.mk @@ -55,6 +55,7 @@ define PackageDir $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) > $(TOPDIR)/logs/$(SCAN_DIR)/$(2)/dump.txt 2>&1; \ $$(call progress,ERROR: please fix $(SCAN_DIR)/$(2)/Makefile - see logs/$(SCAN_DIR)/$(2)/dump.txt for details\n) \ rm -f $$@; \ + exit 2; \ }; \ echo; \ } > $$@.tmp diff --git a/scripts/feeds b/scripts/feeds index aee73e793f..f321649807 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -127,11 +127,11 @@ sub update_index($) -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; - system("$mk -s prepare-mk OPENWRT_BUILD= TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); - system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); - system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"targetinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"target\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" SCAN_MAKEOPTS=\"TARGET_BUILD=1\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); - system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index"); - system("ln -sf $name.tmp/.targetinfo ./feeds/$name.targetindex"); + system("$mk -s prepare-mk OPENWRT_BUILD= TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"") == 0 or return 1; + system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"") == 0 or return 1; + system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"targetinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"target\" SCAN_DEPTH=5 SCAN_EXTRA=\"\" SCAN_MAKEOPTS=\"TARGET_BUILD=1\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"") == 0 or return 1; + system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index") == 0 or return 1; + system("ln -sf $name.tmp/.targetinfo ./feeds/$name.targetindex") == 0 or return 1; return 0; }