From patchwork Wed Sep 9 10:29:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Kemper X-Patchwork-Id: 1360568 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=XNTeKeuM; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=W63gNCVZ; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BmddK4zmHz9sTN for ; Wed, 9 Sep 2020 20:32:53 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe :List-Id:MIME-Version:Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=XVcF641RcTxMJPuPOMze7pODLT5HLBHPVj9j2YCObts=; b=XNTeKeuMZ/FFEwfehitJ4Vv4W1 LT2pMGDEFrg3Z+12yZIXLZc3PkLjT+yS/nZavKjl8jRRaO5/zgjPT9lSJxHNoL7SMJTDnJkUHP8pB LwTFRYpfGI0thgqfC6HzzgFO0azE4TdqPM7cpwsjJ11ZPauVkMXckaf3/9CcKKF252UhCMl3Jsegf xZwQsfL2zPxkESJa7MM6on+VzN8xd1D57ppHPdRJbwox0FdIJqwptbEPBQLVgJ7qt+7Ul+CsCLnFu FlSaxYPGv2CNri9aVz739IODIYQn/7So/rOnrD5JRYxSJ5IJlT8vDPf/BTcsTu7sbMeuK29z48vNh L+3QsWCg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFxMZ-00085y-Mn; Wed, 09 Sep 2020 10:30:03 +0000 Received: from mout.gmx.net ([212.227.17.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFxMW-00084G-7O for openwrt-devel@lists.openwrt.org; Wed, 09 Sep 2020 10:30:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599647392; bh=WbmoXT0ziXPy1GN/HjXW9Ek1oeKYRQaaqlK5QQZoV60=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject; b=W63gNCVZ3IA40UU12sPVEfOktKRQsvWMPy7aG8/l2miYP2Gb4qogYVKwx7UlunZiz m1HXzqnylnonz7QD8LCIu80pFpTI0UXDQBoYy1bk6lDL0bDo8i4HMhqvarham5RYrG 4Vc4bVpuxCtwY5pGM5quBWZsN83jY2uMOYeHnv3I= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from darth.lan ([62.14.66.209]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1McpJq-1kpZ1m0V4E-00ZxGk; Wed, 09 Sep 2020 12:29:52 +0200 Date: Wed, 9 Sep 2020 12:29:50 +0200 From: Sebastian Kemper To: openwrt-devel@lists.openwrt.org Subject: [PATCH] build: allow file modes per binary package Message-ID: <20200909102950.GA12953@darth.lan> Mail-Followup-To: openwrt-devel@lists.openwrt.org, Paul Spooren MIME-Version: 1.0 Content-Disposition: inline X-Provags-ID: V03:K1:ANQlmvjM6z4Iv7778GA6LnB4kBE8rDrjtpw3HrXL/3HsNswA5d3 IfzcvZxxiCt6h9ff8HRssMdjboa5edNn1f4PhsDOciRmrHlyPw9/F9N/4fBUvGA3K6tiDiz vnvX99lJFSKHcUT8HPe0q6zupW2Uk/AWHIz5NaS/y/1q6TBDs86bI+yVmJZbEgHO8PPeA5n FB84B58YKUZJzeI/2LdIg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:TzCowftsVfI=:0phZSOJzWWSiEF9rPhS16M +fgxlstoKztIPjsHz8+j2wsKZ8VLMIT4f/kWLSIm7tCsPFeoK94b5mlFHy/aFj13TakYYDno8 VdDcIErFG8HaY3HXnaUVQXXExOhPVs8oE34ntdjXgN0Pq845HtcNrW9WFK+EXms/KWe2ZBWhp 5jxrsDMrCnJOEpGDyYyMrNJFX6AFHBYMv0Yg+EN9unAGtHgIJ6YUc9hap0516viru4PPbkQ6n 08Fs2UutFGre2tMGNJQU+cJuvVsxmgfnFpkHBX+Fbs7FMN/Qx5avFLXsnnxSWs/ekBlbHIah+ coFLGoU3OrJt8pjn+BuOiud+QiJf5jhEeSbu8lQbLAPT1QYuphGdIBTcbmVdEVDpYd+3vEUvi Ap0HPB6EQBODyvgHNigfyMctKikvJlftSEM4A6W3TetMLH/Nh/6eurqoZDAj/JugwLtEOT3a2 /cGdwwZ0jNcGXWsTB3hRFV3CfTyqtL9tXgiAT4bpMROXm+x5UXQS7c2Znt+LXUxkFCdbj/Ahg jJ7kQW67lr2ZzX46WyjyOsh3CNcR75fjRxT1+8WtmRlLff4ERHXfLqRsc+NRjxWwTsXfv5Ogs U0nhBq/6nvi2xMQc1IhESa33sH8dgyW+aDJhJMN8heVYrCx5Tgk11FldpIl//5x1DWiC1X8ho VExvcMEWc+72AHeLvr3pLfWakkMJso1nFsv0Uvquz1RRa31KhLNUuFAhYWnRqgp/84E8zbFHG 0ObSW+1PSjtrmI5ipxCbiKNcgI+HyrzgCdVzvoAO36jBgkBoYszGFzchLriTCvyp5ptdLvgOE wcpXLJUY9roR457a/dWui9WWDQUDzORJCEHcP8yRiUpw68GAceKRYhz+8te+exGXouitua1eI 9k2cADETqnvG5aEj9seJB/F/5S/KG5YJf2aFj97EZbAN59id+IzlP6obZKGeCSNUDlAyxU473 FiCSMeJLVHfscecTVhn3ZR6o+LoRrU0aJq+IlnNPw3nAPezy1J2x5C3YZxeGo9V9yJow3M66e IfI0i2XH716UeEvVgGVF3ihNKCQduXIT5wAgyQUX+jw++XrMu9TZimAfBVIzcKuZZl5k5WfO3 DydICjRZtg507OBuBWPkDqHTtKtUYkUt3F3+kLaaZpJBjzVfv1f9bRWEtZ1pG6u6crswzsODd dqeHAba30yPBdKQDDjmYSF4+OCnllcYVUjqY6X3lND64V7FixTFjHBg0xkEOQ7YYA5E6fcF3s q7I3BAPpgYIY++VgqV6+tIGCYmyPP+I7QErxdJw== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200909_063000_470394_CA0E99A7 X-CRM114-Status: GOOD ( 13.71 ) X-Spam-Score: -0.9 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.21 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [sebastian_ml[at]gmx.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.17.21 listed in wl.mailspike.net] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Currently the global variable PKG_FILE_MODES is used for all ipkg creations. This works for Makefiles which output a single package, or variants of a single package. But if a Makefile outputs multiple packages that each contain different files, setting PKG_FILE_MODES causes build failure when any of the files in the variable do not exist in the folder that is currently being packaged. Example: /openwrt/staging_dir/host/bin/fakeroot -l /openwrt/staging_dir/host/lib/libfakeroot.so -f /openwrt/staging_dir/host/bin/faked /openwrt/scripts/ipkg-build -m "/usr/lib/mariadb/plugin/auth_pam_tool_dir:root:376:0750" /openwrt/build_dir/target-mips_24kc_musl/mariadb-10.4.13/ipkg-mips_24kc/mariadb-server-plugin-disks /openwrt/bin/packages/mips_24kc/packages +chown: cannot access '/openwrt/build_dir/target-mips_24kc_musl/mariadb-10.4.13/ipkg-mips_24kc/mariadb-server-plugin-disks//usr/lib/mariadb/plugin/auth_pam_tool_dir': No such file or directory This commit changes the file mode handling a bit. The file mode can now be set either globally via PKG_FILE_MODES (no behavior change) or on a per-package basis via FILE_MODES. This way specific file modes can be used for any particular package. This behavior is already used for other OpenWrt variables, hence it is familiar: PKG_MAINTAINER vs MAINTAINER PKG_SOURCE_SUBDIR vs SUBDIR PKG_LICENSE vs LICENSE ... Signed-off-by: Sebastian Kemper --- include/package-defaults.mk | 1 + include/package-ipkg.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- 2.26.2 diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 2fed72b1a4..2a04bc17e9 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -59,6 +59,7 @@ define Package/Default ALTERNATIVES:= LICENSE:=$(PKG_LICENSE) LICENSE_FILES:=$(PKG_LICENSE_FILES) + FILE_MODES:=$(PKG_FILE_MODES) endef Build/Patch:=$(Build/Patch/Default) diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 62cda5b936..0bca8ae84d 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -260,7 +260,7 @@ $(_endef) endif $(INSTALL_DIR) $$(PDIR_$(1)) - $(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(PKG_FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) + $(FAKEROOT) $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) @[ -f $$(IPKG_$(1)) ] $(1)-clean: