From: Paul Spooren Date: Fri, 12 Jun 2026 14:49:44 +0000 (+0200) Subject: build: fixup version.date creation for source archives X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F23756%2Fhead;p=thirdparty%2Fopenwrt.git build: fixup version.date creation for source archives Published sources archives may contain a mixture of MTIMEs, so taking the time of the first file found varies based on filesystem order. To fix this, sort all MTIMEs and take the latest. Since piping into a file directly creates that file, we also need to specifically tell `find` to ignore `version.date`. Furthermore, move this prior to the ./src copy step, since for some packages, the OpenWrt build system ships extra ./src files, which would introduce the wrong timestamps again. Fix: e36c2946b7b build: derive PKG_SOURCE_DATE_EPOCH from the unpacked source tree Link: https://github.com/openwrt/openwrt/pull/23756 Signed-off-by: Paul Spooren --- diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 5bb6d1d2f46..43521044d92 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -63,8 +63,9 @@ Build/Patch:=$(Build/Patch/Default) ifneq ($(strip $(PKG_UNPACK)),) define Build/Prepare/Default $(PKG_UNPACK) + -find $(PKG_BUILD_DIR) -mindepth 1 -type f -not -name '.*' -not -name 'version.date' -printf '%T@\n' 2>/dev/null |\ + cut -d. -f1 | sort -n | tail -n1 > $(PKG_BUILD_DIR)/version.date [ ! -d ./src/ ] || $(CP) ./src/. $(PKG_BUILD_DIR) - -find $(PKG_BUILD_DIR) -mindepth 1 -type f -printf '%T@\n' 2>/dev/null | head -n1 | cut -d. -f1 > $(PKG_BUILD_DIR)/version.date $(Build/Patch) endef endif