From patchwork Thu Aug 27 09:04:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Spooren X-Patchwork-Id: 1352410 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=aparcar.org 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=KSSf1BvI; 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 4BccL70RXrz9sT6 for ; Thu, 27 Aug 2020 19:06:55 +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:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=jDqeLa32X0433ZUNZxNO9gpa0ydQSccP/HK1kCaGo00=; b=KSSf1BvIJp1efldaWTHoWlRord lifrQ5C+IzX7/vrXPWEmDMCHuZRdCq7S+mciGe6nKbyV586nohXBLTrO14+WQ9PrL4crCy/pcSbtB JOMyJC2xWRNknMX5o5pcsAIFW7gEoZwxwhMQOz02+ZQbwds7jUg8f8wd2qcbU0ZYvXS+10w2CTMcO lEHnM4s+j1zK36BH/lXRbjKE9n26mxkZnhRG6ViVte673iyv2ZTMSX5tl7tDLnE5z/Vu3GfccWPQj i8323YbWPeDU4cpIcnXw1cfDFKK8Z5VdCDugSxYZALnl3CUzNQmyN7SWQykiGCBgZ1t62c0E01kDe cscEsAsQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBDq9-0002ye-U6; Thu, 27 Aug 2020 09:05:01 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBDq5-0002x4-1R for openwrt-devel@lists.openwrt.org; Thu, 27 Aug 2020 09:04:58 +0000 X-Originating-IP: 72.234.141.215 Received: from dawn.lan (udp224251uds.hawaiiantel.net [72.234.141.215]) (Authenticated sender: mail@aparcar.org) by relay7-d.mail.gandi.net (Postfix) with ESMTPA id E69822000E; Thu, 27 Aug 2020 09:04:51 +0000 (UTC) From: Paul Spooren To: openwrt-devel@lists.openwrt.org Subject: [PATCH 1/2] imagebuilder: rename PKG_BUILD_DIR to IB_BUILD_DIR Date: Wed, 26 Aug 2020 23:04:41 -1000 Message-Id: <20200827090442.251759-1-mail@aparcar.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200827_050457_307172_A951AB86 X-CRM114-Status: UNSURE ( 9.57 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [217.70.183.200 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 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: , Cc: Paul Spooren Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org This follow the SDK naming schema is and is more clear as no package is build. Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 66 ++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index ad19ab2b53..873e1b44e0 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -13,19 +13,19 @@ include $(INCLUDE_DIR)/feeds.mk override MAKEFLAGS= IB_NAME:=$(VERSION_DIST_SANITIZED)-imagebuilder-$(if $(CONFIG_VERSION_FILENAMES),$(VERSION_NUMBER)-)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)).$(HOST_OS)-$(HOST_ARCH) -PKG_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME) -IB_KDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(KERNEL_BUILD_DIR)) -IB_LDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR)) -IB_DTSDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR))/arch/$(LINUX_KARCH)/boot/dts/ -IB_IDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(STAGING_DIR_IMAGE)) +IB_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME) +IB_KDIR:=$(patsubst $(TOPDIR)/%,$(IB_BUILD_DIR)/%,$(KERNEL_BUILD_DIR)) +IB_LDIR:=$(patsubst $(TOPDIR)/%,$(IB_BUILD_DIR)/%,$(LINUX_DIR)) +IB_DTSDIR:=$(patsubst $(TOPDIR)/%,$(IB_BUILD_DIR)/%,$(LINUX_DIR))/arch/$(LINUX_KARCH)/boot/dts/ +IB_IDIR:=$(patsubst $(TOPDIR)/%,$(IB_BUILD_DIR)/%,$(STAGING_DIR_IMAGE)) all: compile $(BIN_DIR)/$(IB_NAME).tar.xz: clean - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(IB_KDIR) $(IB_LDIR) $(PKG_BUILD_DIR)/staging_dir/host/lib \ - $(PKG_BUILD_DIR)/target $(PKG_BUILD_DIR)/scripts $(IB_DTSDIR) - -cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config + rm -rf $(IB_BUILD_DIR) + mkdir -p $(IB_KDIR) $(IB_LDIR) $(IB_BUILD_DIR)/staging_dir/host/lib \ + $(IB_BUILD_DIR)/target $(IB_BUILD_DIR)/scripts $(IB_DTSDIR) + -cp $(TOPDIR)/.config $(IB_BUILD_DIR)/.config $(CP) -L \ $(INCLUDE_DIR) $(SCRIPT_DIR) \ $(TOPDIR)/rules.mk \ @@ -33,38 +33,38 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean ./files/repositories.conf \ $(TMP_DIR)/.targetinfo \ $(TMP_DIR)/.packageinfo \ - $(PKG_BUILD_DIR)/ + $(IB_BUILD_DIR)/ ifeq ($(CONFIG_IB_STANDALONE),) - echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf - $(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf) + echo '## Remote package repositories' >> $(IB_BUILD_DIR)/repositories.conf + $(call FeedSourcesAppend,$(IB_BUILD_DIR)/repositories.conf) endif - echo '' >> $(PKG_BUILD_DIR)/repositories.conf - echo '## This is the local package repository, do not remove!' >> $(PKG_BUILD_DIR)/repositories.conf - echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf + echo '' >> $(IB_BUILD_DIR)/repositories.conf + echo '## This is the local package repository, do not remove!' >> $(IB_BUILD_DIR)/repositories.conf + echo 'src imagebuilder file:packages' >> $(IB_BUILD_DIR)/repositories.conf - $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf + $(VERSION_SED_SCRIPT) $(IB_BUILD_DIR)/repositories.conf ifeq ($(CONFIG_IB_STANDALONE),) (cd $(call FeedPackageDir,libc); $(FIND) -type f -name 'libc_*.ipk' -or -name 'kernel_*.ipk' -or -name 'kmod-*.ipk') | \ while read path; do \ - mkdir -p "$(PKG_BUILD_DIR)/packages/$${path%/*}"; \ - cp "$(call FeedPackageDir,libc)/$$path" "$(PKG_BUILD_DIR)/packages/$$path"; \ + mkdir -p "$(IB_BUILD_DIR)/packages/$${path%/*}"; \ + cp "$(call FeedPackageDir,libc)/$$path" "$(IB_BUILD_DIR)/packages/$$path"; \ done else - $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages - find $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.ipk' -exec $(CP) {} $(PKG_BUILD_DIR)/packages/ \; + $(INSTALL_DIR) $(IB_BUILD_DIR)/packages + find $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.ipk' -exec $(CP) {} $(IB_BUILD_DIR)/packages/ \; endif - $(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/ + $(CP) $(TOPDIR)/target/linux $(IB_BUILD_DIR)/target/ if [ -d $(TOPDIR)/staging_dir/host/lib/grub ]; then \ - $(CP) $(TOPDIR)/staging_dir/host/lib/grub/ $(PKG_BUILD_DIR)/staging_dir/host/lib; \ + $(CP) $(TOPDIR)/staging_dir/host/lib/grub/ $(IB_BUILD_DIR)/staging_dir/host/lib; \ fi rm -rf \ - $(PKG_BUILD_DIR)/target/linux/*/files{,-*} \ - $(PKG_BUILD_DIR)/target/linux/*/patches{,-*} \ - $(PKG_BUILD_DIR)/target/linux/generic/{pending,backport,hack}{,-*} + $(IB_BUILD_DIR)/target/linux/*/files{,-*} \ + $(IB_BUILD_DIR)/target/linux/*/patches{,-*} \ + $(IB_BUILD_DIR)/target/linux/generic/{pending,backport,hack}{,-*} -cp $(KERNEL_BUILD_DIR)/* $(IB_KDIR)/ # don't copy subdirectories here -cp $(LINUX_DIR)/.config $(IB_LDIR)/ rm -f $(IB_KDIR)/root.* @@ -76,16 +76,16 @@ endif if [ -d $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts ]; then \ $(CP) -L $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/* $(IB_DTSDIR); \ fi - $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(PKG_BUILD_DIR)/include/version.mk - find $(PKG_BUILD_DIR) -name CVS -o -name .git -o -name .svn \ + $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(IB_BUILD_DIR)/include/version.mk + find $(IB_BUILD_DIR) -name CVS -o -name .git -o -name .svn \ | $(XARGS) rm -rf $(INSTALL_DIR) $(IB_IDIR) -$(CP) $(STAGING_DIR_IMAGE)/* $(IB_IDIR)/ - $(INSTALL_DIR) $(PKG_BUILD_DIR)/staging_dir/host/bin - $(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/ - (cd $(PKG_BUILD_DIR); find staging_dir/host/bin/ $(IB_LDIR)/scripts/dtc/ -type f | \ - $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host) - STRIP=sstrip $(SCRIPT_DIR)/rstrip.sh $(PKG_BUILD_DIR)/staging_dir/host/bin/ + $(INSTALL_DIR) $(IB_BUILD_DIR)/staging_dir/host/bin + $(CP) $(STAGING_DIR_HOST)/bin/* $(IB_BUILD_DIR)/staging_dir/host/bin/ + (cd $(IB_BUILD_DIR); find staging_dir/host/bin/ $(IB_LDIR)/scripts/dtc/ -type f | \ + $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(IB_BUILD_DIR)/staging_dir/host) + STRIP=sstrip $(SCRIPT_DIR)/rstrip.sh $(IB_BUILD_DIR)/staging_dir/host/bin/ (cd $(BUILD_DIR); \ tar -I '$(STAGING_DIR_HOST)/bin/xz -7e -T$(if $(filter 1,$(NPROC)),2,0)' -cf $@ $(IB_NAME) \ --mtime="$(shell date --date=@$(SOURCE_DATE_EPOCH))"; \ @@ -97,4 +97,4 @@ compile: $(BIN_DIR)/$(IB_NAME).tar.xz install: compile clean: FORCE - rm -rf $(PKG_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.xz + rm -rf $(IB_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.xz From patchwork Thu Aug 27 09:04:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Spooren X-Patchwork-Id: 1352409 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=aparcar.org 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=t+NYOwcy; 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 4BccL63WpVz9sRK for ; Thu, 27 Aug 2020 19:06: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:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=whAvRyLi2bXfnZzOCtdjK+LyUdNYtmVtLD2G2Vx+83o=; b=t+NYOwcyeyPk89CyhtNJYDt2s VJSuA0Zx20ESySyQVh7r28tJ/ZHTdp/fHYJzvORltBOvtDFyjBwllUNWWoxOyFmhFV8O5VBuGbNmW VmrslVzYduEvx2GbLNPb0udlK8c9NANCic2thedNwqmLBXyRTJ+ji6+Af8dmB5jLcFBqdEilCOfbi CS+5qD3fuqVrvLGa+2sPmpeyjeFY4Q9lTJH62/zn0ljPzV68pZIHNJEYAoMhC/QQvZn8Z6mGWlscz +7mADuRzrtWfRhuBMPhGPESkmDNlQoRPCDEp6mEMbZRcZd7VGviF4J16sW9sbylAkIRe0C844COyV LbHGi1QkQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBDq8-0002yL-Jn; Thu, 27 Aug 2020 09:05:00 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kBDq5-0002xB-1R for openwrt-devel@lists.openwrt.org; Thu, 27 Aug 2020 09:04:58 +0000 X-Originating-IP: 72.234.141.215 Received: from dawn.lan (udp224251uds.hawaiiantel.net [72.234.141.215]) (Authenticated sender: mail@aparcar.org) by relay7-d.mail.gandi.net (Postfix) with ESMTPA id 0F00620012; Thu, 27 Aug 2020 09:04:53 +0000 (UTC) From: Paul Spooren To: openwrt-devel@lists.openwrt.org Subject: [PATCH 2/2] imagebuilder: improve reproducibility Date: Wed, 26 Aug 2020 23:04:42 -1000 Message-Id: <20200827090442.251759-2-mail@aparcar.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200827090442.251759-1-mail@aparcar.org> References: <20200827090442.251759-1-mail@aparcar.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200827_050457_191949_22AFD5AF X-CRM114-Status: GOOD ( 10.68 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [217.70.183.200 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 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: , Cc: Paul Spooren Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org The SOURCE_DATE_EPOCH is used to unify the mtime within created images, make it the same as the build system used during creation of the IB. The LINUX_VERMAGIC is used to create a reproducible IMG_PART_SIGNATURE, therefore make it available to the IB as well. Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index 873e1b44e0..175c30282e 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -77,6 +77,8 @@ endif $(CP) -L $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/* $(IB_DTSDIR); \ fi $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(IB_BUILD_DIR)/include/version.mk + $(SED) 's,^# SOURCE_DATE_EPOCH:=.*,SOURCE_DATE_EPOCH:=$(SOURCE_DATE_EPOCH),g' $(IB_BUILD_DIR)/include/version.mk + $(SED) '/LINUX_VERMAGIC:=/ { s,unknown,$(LINUX_VERMAGIC),g }' $(IB_BUILD_DIR)/include/kernel.mk find $(IB_BUILD_DIR) -name CVS -o -name .git -o -name .svn \ | $(XARGS) rm -rf $(INSTALL_DIR) $(IB_IDIR)