[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-deployment] 02/02: packaging: only upload latest version of each
From: |
Admin |
Subject: |
[taler-deployment] 02/02: packaging: only upload latest version of each deb |
Date: |
Wed, 04 Jun 2025 23:39:26 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository taler-deployment.
commit d1d842ce32ea6bbafcc2e49dfba1f3b61c36b848
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Jun 4 23:38:34 2025 +0200
packaging: only upload latest version of each deb
---
packaging/ng/buildscripts/generic.sh | 6 ++++++
packaging/ng/taler-pkg | 30 ++++++++++++++++++++++++------
2 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/packaging/ng/buildscripts/generic.sh
b/packaging/ng/buildscripts/generic.sh
index 5049a09..d7a69d6 100755
--- a/packaging/ng/buildscripts/generic.sh
+++ b/packaging/ng/buildscripts/generic.sh
@@ -57,4 +57,10 @@ dpkg-buildpackage -rfakeroot -b -uc -us
cp ../*.deb /pkgdir/
+# Save current deb file names for this package.
+echo >/pkgdir/$PACKAGE.built.current
+for deb in ../*.deb; do
+ echo $(basename $deb) >>/pkgdir/$PACKAGE.built.current
+done
+
echo $TAG >/pkgdir/$PACKAGE.built.tag
diff --git a/packaging/ng/taler-pkg b/packaging/ng/taler-pkg
index d21f430..b72ae5f 100755
--- a/packaging/ng/taler-pkg
+++ b/packaging/ng/taler-pkg
@@ -106,9 +106,9 @@ def find_outdated(pkgdir, roots):
def build(cfg):
- transitive = True
- if cfg.no_transitive:
- transitive = False
+ transitive = False
+ if cfg.transitive:
+ transitive = True
distro = cfg.distro
print("building", distro)
dockerfile = f"distros/Dockerfile.{distro}"
@@ -176,12 +176,27 @@ def show_order(cfg):
def publish(cfg):
distro = cfg.distro
vendor, codename = distro.split("-")
- debs = list(Path(f"./packages/{distro}/").glob("*.deb"))
host = "taler.net"
+ #debs = list(Path(f"./packages/{distro}/").glob("*.deb"))
+ debs = []
+ for component in components:
+ current = None
+ cf = Path(f"./packages/{distro}/{component}.built.current")
+ if not cf.exists():
+ print(f"component {component} has no current packages")
+ continue
+ with open(f"./packages/{distro}/{component}.built.current") as f:
+ current = f.read().split()
+ print(f"component {component} has current packages:")
+ print(current)
+ debs.extend(current)
if len(debs) == 0:
print("nothing to upload")
return
- subprocess.run(["ssh", f"taler-packaging@{host}", f"rm {distro}/*.deb"],
check=True)
+ if cfg.dry:
+ return
+ debs = [Path(f"./packages/{distro}/") / x for x in debs]
+ subprocess.run(["ssh", f"taler-packaging@{host}", f"rm -f
'{distro}/*.deb'"], check=True)
subprocess.run(["scp", "--", *debs, f"taler-packaging@{host}:{distro}/"],
check=True)
# FIXME: This fails when packages of the same version are already present.
# That's a problem since builds are not bit-reproducible.
@@ -202,7 +217,9 @@ def main():
parser_build = subparsers.add_parser("build", help="Build packages for
distro.")
parser_build.set_defaults(func=build)
parser_build.add_argument("distro")
- parser_build.add_argument("--no-transitive", help="Do not build transitive
deps of changed components", action="store_true", default=False)
+ # Keep for backwards compat
+ parser_build.add_argument("--no-transitive", help="Do not build transitive
deps of changed components (default)", action="store_true", dest="transitive",
default=None)
+ parser_build.add_argument("--transitive", help="Build transitive deps of
changed components", action="store_false", dest="transitive", default=None)
parser_build.add_argument("--dry", help="Dry run", action="store_true",
default=False)
# subcommand show-latest
@@ -221,6 +238,7 @@ def main():
# subcommand publish
parser_publish = subparsers.add_parser("publish", help="Publish to
deb.taler.net")
+ parser_publish.add_argument("--dry", help="Dry run", action="store_true",
default=False)
parser_publish.add_argument("distro")
parser_publish.set_defaults(func=publish)
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.