phase2: use sha2rsync.pl for 'targetupload'
authorThibaut VARÈNE <hacks@slashdirt.org>
Wed, 15 Nov 2023 10:50:01 +0000 (11:50 +0100)
committerPetr Štetiar <ynezz@true.cz>
Thu, 16 Nov 2023 08:57:19 +0000 (09:57 +0100)
Align with phase1 (3246628)

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
phase2/master.cfg

index 774f1a637055c9996ae3862556302fe143bc9899..42946be92acc3b2e9fce1ca878d111ccae721650 100644 (file)
@@ -689,6 +689,18 @@ for arch in arches:
                        haltOnFailure = True
                ))
 
+       # download remote sha256sums to 'target-sha256sums'
+       factory.addStep(ShellCommand(
+               name = "target-sha256sums",
+               description = "Fetching remote sha256sums for arch",
+               command = ["rsync"] + rsync_defopts + ["-z", Interpolate("%(kw:rsyncbinurl)s/packages%(kw:suffix)s/%(kw:archname)s/sha256sums", rsyncbinurl=rsync_bin_url, suffix=GetDirectorySuffix, archname=arch[0]), "arch-sha256sums"],
+               env={'RSYNC_PASSWORD': rsync_bin_key},
+               logEnviron = False,
+               haltOnFailure = False,
+               flunkOnFailure = False,
+               warnOnFailure = False,
+       ))
+
        factory.addStep(FileDownload(
                name="dlrsync.sh",
                mastersrc = scripts_dir + "/rsync.sh",
@@ -696,6 +708,21 @@ for arch in arches:
                mode = 0o755
        ))
 
+       factory.addStep(FileDownload(
+               name = "dlsha2rsyncpl",
+               mastersrc = "sha2rsync.pl",
+               workerdest = "../sha2rsync.pl",
+               mode = 0o755,
+       ))
+
+       factory.addStep(ShellCommand(
+               name = "buildlist",
+               description = "Building list of files to upload",
+               workdir = "build/sdk",
+               command = ["../../../sha2rsync.pl", "../../arch-sha256sums", "bin/packages/%s/sha256sums" %(arch[0]), "rsynclist"],
+               haltOnFailure = True,
+       ))
+
        factory.addStep(ShellCommand(
                name = "uploadprepare",
                description = "Preparing package directory",
@@ -710,7 +737,17 @@ for arch in arches:
                name = "packageupload",
                description = "Uploading package files",
                workdir = "build/sdk",
-               command = ["../../../rsync.sh"] + rsync_defopts + ["--delete", "--checksum", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-a", "bin/packages/%s/" %(arch[0]), Interpolate("%(kw:rsyncbinurl)s/packages%(kw:suffix)s/%(kw:archname)s/", rsyncbinurl=rsync_bin_url, suffix=GetDirectorySuffix, archname=arch[0])],
+               command = ["../../../rsync.sh"] + rsync_defopts + ["--files-from=rsynclist", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-a", "bin/packages/%s/" %(arch[0]), Interpolate("%(kw:rsyncbinurl)s/packages%(kw:suffix)s/%(kw:archname)s/", rsyncbinurl=rsync_bin_url, suffix=GetDirectorySuffix, archname=arch[0])],
+               env={'RSYNC_PASSWORD': rsync_bin_key},
+               haltOnFailure = True,
+               logEnviron = False
+       ))
+
+       factory.addStep(ShellCommand(
+               name = "packageprune",
+               description = "Pruning package files",
+               workdir = "build/sdk",
+               command = ["../../../rsync.sh"] + rsync_defopts + ["--delete", "--existing", "--ignore-existing", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-a", "bin/packages/%s/" %(arch[0]), Interpolate("%(kw:rsyncbinurl)s/packages%(kw:suffix)s/%(kw:archname)s/", rsyncbinurl=rsync_bin_url, suffix=GetDirectorySuffix, archname=arch[0])],
                env={'RSYNC_PASSWORD': rsync_bin_key},
                haltOnFailure = True,
                logEnviron = False