openwrt-pf/scripts
Paul Spooren e36c2946b7 build: derive PKG_SOURCE_DATE_EPOCH from the unpacked source tree
Previously PKG_SOURCE_DATE_EPOCH came from a git log on the OpenWrt
package directory. That fails in shallow feed clones and in the SDK
(no .git), collapsing to the script's mtime and breaking .apk
reproducibility across SDK rebuilds and between buildbot and SDK.

With this comment, PKG_UNPACK generates a version.date file, later used to
determine a reproducible SOURCE_DATE_EPOCH. Since unpack happens after
download, the evaluation of SOURCE_DATE_EPOCH is now lazy, invoking the
`get_source_date_epoch.sh` script on every use.

While at it, drop export of PKG_SOURCE_DATE_EPOCH and clean it from the
ipkg-build script.

Link: https://github.com/openwrt/openwrt/issues/21579
Link: https://github.com/openwrt/openwrt/pull/21587

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/23576
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-06-02 11:51:00 +02:00
..
config treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
flashing scripts/jungo-image: Fix up whitespace 2025-12-10 19:11:13 +01:00
belkin-header.py realtek: scripts: fix error in belkin-header 2024-10-11 23:37:09 +02:00
brcmImage.pl
bundle-libraries.sh
cameo-imghdr.py scripts: add cameo image header generator 2022-06-28 22:20:09 +02:00
cameo-tag.py scripts: fix CAMEO tag generator 2022-07-05 10:18:06 +02:00
cfe-bin-header.py
cfe-partition-tag.py scripts: format to black 2022-04-16 14:53:17 +02:00
cfe-wfi-tag.py scripts: format to black 2022-04-16 14:53:17 +02:00
check-toolchain-clean.sh check-toolchain-clean.sh: workaround stray rebuilds 2022-02-28 15:17:11 +01:00
checkpatch.pl scripts: fix various typos 2021-10-31 21:24:47 +01:00
clean-package.sh
cleanfile
cleanpatch
combined-ext-image.sh
combined-image.sh
command_all.sh treewide: drop use of which 2022-01-17 09:14:26 +01:00
config.guess scripts: config.guess: update to 2024-07-27 2024-09-28 22:48:47 +02:00
config.rpath
config.sub scripts: config.guess: update to 2024-07-27 2024-09-28 22:48:47 +02:00
const_structs.checkpatch
deptest.sh
diffconfig.sh scripts/diffconfig.sh: ensure config/conf is built 2022-02-26 13:36:30 +01:00
dl_cleanup.py scripts: add .tar.zst to dl_cleanup extensions 2024-04-06 17:07:32 +03:00
dl_github_archive.py scripts/dl_github_archive: use tar -I for ZSTD 2024-04-09 18:39:36 +02:00
download-check-artifact.sh scripts: download-check-artifact.sh: fix shellcheck and improve 2024-11-13 20:26:46 +00:00
download.pl download: use reasonable timeout and retry parameters 2025-11-15 15:47:23 +01:00
dump-target-info.pl scripts/dump-target-info.pl: add new function to DUMP devices 2023-11-15 10:59:23 +01:00
env scripts/env: fix env for git conf init.defaultBranch not set to "master" 2021-11-13 10:29:41 -10:00
ext-toolchain.sh ext-toolchain: fix wrapper for gcc-ar, gcc-nm, gcc-ranlib 2026-02-06 17:32:06 +01:00
ext-tools.sh scripts/ext-tools.sh: set all prebuilt tool files to same timestamp 2026-04-12 16:55:37 +02:00
feeds scripts: feeds: Don’t hardcode IS_TTY 2025-11-12 12:05:53 +01:00
fixup-makefile.pl
functions.sh
gen-dependencies.sh
gen_image_generic.sh scripts: gen_image_generic: allow the partition types to be set 2023-06-02 11:36:13 +02:00
gen_netgear_rootfs_node.sh filogic: add support for Netgear EAX17 2025-11-24 00:57:19 +01:00
get_source_date_epoch.sh build: add explicit --no-show-signature for git 2024-02-20 20:57:53 +01:00
getver.sh build: parsing "git log" breaks with gpg signature verification 2025-09-23 21:49:54 +02:00
ipkg-build build: derive PKG_SOURCE_DATE_EPOCH from the unpacked source tree 2026-06-02 11:51:00 +02:00
ipkg-make-index.sh Revert "scripts: run ipkg-make-index through shellcheck" 2023-05-09 21:32:26 +02:00
ipkg-remove build: fix ipkg-remove: add support for removing apk files 2025-07-15 20:48:45 +02:00
json_add_image_info.py build: include size-limits to device-metadata 2025-04-18 14:00:39 +02:00
json_overview_image_info.py scripts: add git_commit to profiles.json 2026-04-21 19:47:58 +08:00
kconfig-reorder.sh scripts: Add script to reorder kernel config-* files 2024-10-22 21:13:26 +02:00
kconfig.pl
kernel_bump.sh scripts/kernel_bump: adjust commit messages 2025-12-09 00:06:07 +01:00
linksys-image.sh scripts: linksys-image: add NAND devices 2024-10-22 10:10:17 +02:00
make-index-json.py scripts/make-index-json: ensure that manifest output is in opkg format 2025-11-01 19:42:20 +01:00
make-ipkg-dir.sh
make-sbom.py build: add CycloneDX SBOM processing to apk 2026-05-17 12:21:09 +02:00
md5sum
metadata.pm build: add support for virtual provides 2025-12-31 18:16:48 +01:00
mkhash.c mkhash: fix build errors on FreeBSD 13.0 2022-03-05 18:01:04 +01:00
mkits-qsdk-ipq-image.sh qualcommax: ipq50xx: add support for GL.iNET GL-B3000 2025-04-20 16:11:29 +02:00
mkits-zyxel-fit-filogic.sh mediatek: add support for ZyXEL NWA50AX Pro 2023-07-21 20:28:13 +02:00
mkits-zyxel-fit.sh ramips: add support for ZyXEL NWA50AX / NWA55AXE 2022-07-20 21:52:06 +02:00
mkits.sh scripts/mkits.sh: move out .pagesync generation for RootFS blob 2025-10-23 18:14:01 +02:00
moxa-encode-fw.py ath79: Add support for MOXA AWK-1137C 2023-06-25 12:59:26 +02:00
nand-fwupgradecfg-gen.sh ramips: add support for Plasma Cloud PAX1800-Lite 2025-10-04 20:30:36 +02:00
netgear-encrypted-factory.py image: add additional fields to Netgear encrypted image 2023-07-01 14:42:11 +02:00
noop.sh build: replace true with a custom noop script 2023-11-03 23:06:07 +01:00
om-fwupgradecfg-gen.sh
package-metadata.pl build: auto-generate CONFLICTS for package variants sharing PROVIDES 2026-01-22 10:20:17 +00:00
pad_image scripts: fix various typos 2021-10-31 21:24:47 +01:00
patch-kernel.sh scripts/patch-kernel.sh: do not try to check files after patch 2025-09-29 13:33:07 +02:00
patch-specs.sh
portable_date.sh
projectsmirrors.json projectsmirrors: switch to HTTPS 2026-01-10 19:52:23 +01:00
qemustart scripts: add --user-network to qemustart 2026-05-21 16:06:25 +02:00
redboot-script.pl
relink-lib.sh
remote-gdb
rstrip.sh scripts/rstrip.sh: ignore /lib/firmware 2024-01-22 13:01:31 +01:00
sercomm-crypto.py
sercomm-kernel-header.py scripts: sercomm-kernel-header.py: improve compatibility 2023-06-11 13:36:38 +08:00
sercomm-partition-tag.py
sercomm-payload.py scripts: sercomm-payload: add PID file support 2023-04-09 09:55:57 +02:00
sercomm-pid.py scripts: sercomm-pid.py: use uppercase hwid in pid 2023-11-25 01:11:18 +01:00
sign_images.sh scripts: fix various typos 2021-10-31 21:24:47 +01:00
size_compare.sh scripts: size_compare: print a grand total 2023-02-03 21:22:49 +01:00
slugimage.pl scripts: fix various typos 2021-10-31 21:24:47 +01:00
spelling.txt
srecimage.pl
strip-kmod.sh
symlink-tree.sh
sysupgrade-tar.sh build: add dtb support for sysupgrade-tar 2025-06-22 22:17:20 +02:00
target-metadata.pl targets: add REGULATOR_SUPPORT auto-feature 2026-03-01 10:59:19 +01:00
time.pl
timestamp.pl
tplink-mkimage-2022.py qualcommax: ipq807x: Create working factory images for EAP620 HD v1 and EAP660 HD v1 2025-03-27 17:42:04 +01:00
ubinize-image.sh scripts: ubinize-image.sh: fix support for static volume 2024-04-24 02:32:22 +01:00
xxdi.pl scripts: xxdi.pl: add xxd -i compat mode 2022-09-06 08:04:53 +02:00