diff options
author | Paul Spooren <mail@aparcar.org> | 2019-06-13 02:24:04 +0200 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2019-08-13 10:40:36 +0200 |
commit | 454021581f630d5d04afeb8ff6581c1bda295c87 (patch) | |
tree | 51d3fe0048f9af6f115fe737856a8ef1d0e63d96 /Makefile | |
parent | bcfd1d76852974170780dbe368e6194dbb0e123e (diff) | |
download | openwrt-454021581f630d5d04afeb8ff6581c1bda295c87.tar.gz openwrt-454021581f630d5d04afeb8ff6581c1bda295c87.tar.bz2 openwrt-454021581f630d5d04afeb8ff6581c1bda295c87.zip |
build: add buildinfo files for reproducibility
generate feeds.buildinfo and version.buildinfo in build dir after
containing the feed revisions (via ./scripts/feeds list -sf) as well as
the current revision of buildroot (via ./scripts/getver.sh).
With this information it should be possible to reproduce any build,
especially the release builds.
Usage would be to move feeds.buildinfo to feeds.conf and git checkout the
revision hash of version.buildinfo.
Content of feeds.buildinfo would look similar to this:
src-git routing https://git.openwrt.org/feed/routing.git^bf475d6
src-git telephony https://git.openwrt.org/feed/telephony.git^470eb8e
...
Content of version.buildinfo would look similar to this:
r10203+1-c12bd3a21b
Without the exact feed revision it is not possible to determine
installed package versions.
Also rename config.seed to config.buildinfo to follow the recommended
style of https://reproducible-builds.org/docs/recording/
Signed-off-by: Paul Spooren <mail@aparcar.org>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -89,12 +89,18 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages checksum: FORCE $(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT)) +buildversion: FORCE + $(SCRIPT_DIR)/getver.sh > $(BIN_DIR)/version.buildinfo + +feedsversion: FORCE + $(SCRIPT_DIR)/feeds list -fs > $(BIN_DIR)/feeds.buildinfo + diffconfig: FORCE mkdir -p $(BIN_DIR) - $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.seed + $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.buildinfo prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile) - $(_SINGLE)$(SUBMAKE) -r diffconfig + $(_SINGLE)$(SUBMAKE) -r diffconfig buildversion feedsversion world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE $(_SINGLE)$(SUBMAKE) -r package/index |