[buildbot] phase2: use full git history for reproducibility

LEDE Commits lede-commits at lists.infradead.org
Fri Nov 13 09:10:26 EST 2020


jow pushed a commit to buildbot.git, branch master:
https://git.openwrt.org/5b96616d056e26adbd50cc73a5e51b8449110b7d

commit 5b96616d056e26adbd50cc73a5e51b8449110b7d
Author: Paul Spooren <mail at aparcar.org>
AuthorDate: Thu Nov 12 21:06:03 2020 -1000

    phase2: use full git history for reproducibility
    
    The SOURCE_DATE_EPOCH variable is used to set reproducible time stamps
    for built artifact. As packages get rebuild without changing, they
    require individual epochs which are independent of the main tree. To
    archive that the git log for each package source path is used.
    
    This mechanism can only work if the full git history is available. Until
    now only a shallow copy (--depth 1) would be cloned. With this commit
    the `feeds.conf.default` is changed to use the full git repository.
    
    Signed-off-by: Paul Spooren <mail at aparcar.org>
    [do not modify feeds.conf.default]
    Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
 phase2/master.cfg | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/phase2/master.cfg b/phase2/master.cfg
index 5ed7eff..d9ea18f 100644
--- a/phase2/master.cfg
+++ b/phase2/master.cfg
@@ -478,6 +478,13 @@ for arch in arches:
 		command = ["./ccache.sh"],
 		haltOnFailure = True))
 
+	factory.addStep(ShellCommand(
+		name = "patchfeedsconfgitfull",
+		description = "Patching feeds.conf to use src-git-full",
+		workdir = "build/sdk",
+		command = "sed -e 's#^src-git #src-git-full #g' feeds.conf.default > feeds.conf",
+		haltOnFailure = True))
+
 	if git_ssh:
 		factory.addStep(StringDownload(
 			name = "dlgitclonekey",
@@ -487,9 +494,9 @@ for arch in arches:
 
 		factory.addStep(ShellCommand(
 			name = "patchfeedsconf",
-			description = "Patching feeds.conf",
+			description = "Patching feeds.conf to use SSH cloning",
 			workdir = "build/sdk",
-			command = "sed -e 's#https://#ssh://git@#g' feeds.conf.default > feeds.conf",
+			command = "sed -i -e 's#https://#ssh://git@#g' feeds.conf",
 			haltOnFailure = True))
 
 	factory.addStep(ShellCommand(



More information about the lede-commits mailing list