phase2: use full git history for reproducibility
authorPaul Spooren <mail@aparcar.org>
Fri, 13 Nov 2020 07:06:03 +0000 (21:06 -1000)
committerJo-Philipp Wich <jo@mein.io>
Fri, 13 Nov 2020 14:08:19 +0000 (15:08 +0100)
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@aparcar.org>
[do not modify feeds.conf.default]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
phase2/master.cfg

index 5ed7eff5728da299dee7e01ff416fc11533bf13a..d9ea18f2954799f04fb6c624c3fe55271cdeb7fe 100644 (file)
@@ -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(