diff mbox series

[v2] build: store buildsystem revision in packages

Message ID 20200720195329.411647-1-mail@aparcar.org
State New
Headers show
Series [v2] build: store buildsystem revision in packages | expand

Commit Message

Paul Spooren July 20, 2020, 7:53 p.m. UTC
Buildinfo files were added to allow reproducible builds testing. The
combination of the three buildinfo files
{feeds,config,version}.buildinfo allows to recreate the buildsystem and
check if compiled binaries are bit for bit the same as distributed on
official servers.

To support the verification efforts of the reproducible-builds.org team
this patch adds the buildsystem revision to the packages manifest. This
way all external feeds can be rebuild and verified.

Instead of adding a single file to the package folder containing the
revision, the *in package storage* of revisions allows incremental
updates.  Even though the buildbots currently rebuild all packages in
each cycle, it would also be possible to only rebuild upgraded packages
in the future.

To keep the packages index small, as it is downloaded and stored on devices,
it isn't added to the index and but only to the manifest.

Tested with buildsystem and SDK on ath79/generic.

Signed-off-by: Paul Spooren <mail@aparcar.org>
---
v2: Improved the commit message

 include/package-ipkg.mk | 1 +
 package/Makefile        | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 622cbf3223..1dc8dc8f56 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -184,6 +184,7 @@  $$(call addfield,Depends,$$(Package/$(1)/DEPENDS)
 )$$(call addfield,License,$(LICENSE)
 )$$(call addfield,LicenseFiles,$(LICENSE_FILES)
 )$$(call addfield,Section,$(SECTION)
+)$$(call addfield,BuildsystemRevision,$(REVISION)
 )$$(call addfield,Require-User,$(USERID)
 )$(if $(PKG_CPE_ID),CPE-ID: $(PKG_CPE_ID)
 )$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed
diff --git a/package/Makefile b/package/Makefile
index 58c1ba2bbf..9ab99dadc3 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -84,7 +84,7 @@  $(curdir)/index: FORCE
 		mkdir -p $$d; \
 		cd $$d || continue; \
 		$(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages.manifest; \
-		grep -vE '^(Maintainer|LicenseFiles|Source|SourceName|Require)' Packages.manifest > Packages; \
+		grep -vE '^(Maintainer|LicenseFiles|Source|SourceName|Require|BuildsystemRevision)' Packages.manifest > Packages; \
 		case "$$(((64 + $$(stat -L -c%s Packages)) % 128))" in 110|111) \
 			$(call ERROR_MESSAGE,WARNING: Applying padding in $$d/Packages to workaround usign SHA-512 bug!); \
 			{ echo ""; echo ""; } >> Packages;; \