summaryrefslogtreecommitdiff
path: root/packaging/ng
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-04-24 11:15:39 +0200
committerFlorian Dold <florian@dold.me>2024-04-24 12:39:01 +0200
commit0ff1d33a635da117e385e6f5f3d3ae42ae48ca1e (patch)
treee7ce4d13bd0ed758d51c76ad83558becbfda67ed /packaging/ng
parent689f03e962ed38b12e9d9107ecaf28d8f2397770 (diff)
downloaddeployment-0ff1d33a635da117e385e6f5f3d3ae42ae48ca1e.tar.gz
deployment-0ff1d33a635da117e385e6f5f3d3ae42ae48ca1e.tar.bz2
deployment-0ff1d33a635da117e385e6f5f3d3ae42ae48ca1e.zip
rework ng packaging
Diffstat (limited to 'packaging/ng')
-rw-r--r--packaging/ng/.gitignore1
-rw-r--r--packaging/ng/README.md5
-rwxr-xr-xpackaging/ng/build-debian-bookworm.sh25
-rwxr-xr-xpackaging/ng/build-ubuntu-kinetic.sh23
-rwxr-xr-xpackaging/ng/build.sh67
-rw-r--r--packaging/ng/buildconfig/README5
-rw-r--r--packaging/ng/buildconfig/anastasis-gtk.giturl1
-rw-r--r--packaging/ng/buildconfig/anastasis-gtk.tag1
-rw-r--r--packaging/ng/buildconfig/anastasis.giturl1
-rw-r--r--packaging/ng/buildconfig/anastasis.tag1
-rw-r--r--packaging/ng/buildconfig/gnunet-gtk.giturl1
-rw-r--r--packaging/ng/buildconfig/gnunet-gtk.tag1
-rw-r--r--packaging/ng/buildconfig/gnunet.giturl1
-rw-r--r--packaging/ng/buildconfig/gnunet.tag1
-rw-r--r--packaging/ng/buildconfig/libeufin.giturl1
-rw-r--r--packaging/ng/buildconfig/libeufin.tag1
-rw-r--r--packaging/ng/buildconfig/sync.giturl1
-rw-r--r--packaging/ng/buildconfig/sync.tag1
-rw-r--r--packaging/ng/buildconfig/taler-exchange.giturl1
-rw-r--r--packaging/ng/buildconfig/taler-exchange.tag1
-rw-r--r--packaging/ng/buildconfig/taler-harness.giturl1
-rw-r--r--packaging/ng/buildconfig/taler-harness.tag1
-rw-r--r--packaging/ng/buildconfig/taler-merchant-demos.giturl1
-rw-r--r--packaging/ng/buildconfig/taler-merchant-demos.tag1
-rw-r--r--packaging/ng/buildconfig/taler-merchant.giturl1
-rw-r--r--packaging/ng/buildconfig/taler-merchant.tag1
-rw-r--r--packaging/ng/buildconfig/taler-wallet-cli.giturl1
-rw-r--r--packaging/ng/buildconfig/taler-wallet-cli.tag1
-rw-r--r--packaging/ng/buildscripts/anastasis-build.sh27
-rw-r--r--packaging/ng/buildscripts/build-gnunet-gtk.sh37
-rw-r--r--packaging/ng/buildscripts/exchange-build.sh24
-rw-r--r--packaging/ng/buildscripts/generic.sh (renamed from packaging/ng/buildscripts/build-gnunet.sh)33
-rw-r--r--packaging/ng/buildscripts/libeufin-build.sh23
-rw-r--r--packaging/ng/buildscripts/merchant-build.sh24
-rw-r--r--packaging/ng/buildscripts/sync-build.sh27
-rw-r--r--packaging/ng/buildscripts/wallet-build.sh31
-rw-r--r--packaging/ng/distros/Dockerfile.debian-bookworm (renamed from packaging/ng/Dockerfile.debian-bookworm)0
-rw-r--r--packaging/ng/distros/Dockerfile.ubuntu-kinetic (renamed from packaging/ng/Dockerfile.ubuntu-kinetic)0
-rwxr-xr-xpackaging/ng/print-latest-versions22
39 files changed, 144 insertions, 252 deletions
diff --git a/packaging/ng/.gitignore b/packaging/ng/.gitignore
index 23053de..681bab4 100644
--- a/packaging/ng/.gitignore
+++ b/packaging/ng/.gitignore
@@ -1 +1,2 @@
packages/
+cache/
diff --git a/packaging/ng/README.md b/packaging/ng/README.md
index f51745f..50ec7cb 100644
--- a/packaging/ng/README.md
+++ b/packaging/ng/README.md
@@ -6,10 +6,13 @@ packaging for GNU Taler and associated packages.
The major improvement is that a component can be built *without* having to
rebuild every single package.
-Instead, dependencies are only built on-demand. Each package is built in a
+Instead, all dependencies are managed via apt. Each package is built in a
fresh environment, with build dependencies pulled in via apt. Previously built
packages are available via a file-based apt source.
+Build-time dependencies are automatically installed, making sure that
+missing build-time dependencies would be detected.
+
The packaging logic is also the same for Debian and Ubuntu.
diff --git a/packaging/ng/build-debian-bookworm.sh b/packaging/ng/build-debian-bookworm.sh
deleted file mode 100755
index c259fe7..0000000
--- a/packaging/ng/build-debian-bookworm.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env bash
-
-# Build debian packages.
-
-set -eu
-
-DISTRO=debian
-DISTRO_VERNAME=bookworm
-LABEL=$DISTRO-$DISTRO_VERNAME
-
-IMAGE_TAG=taler-packaging-$LABEL:latest
-DOCKERFILE=Dockerfile.$LABEL
-PKGDIR=packages/$LABEL
-
-echo "Building $IMAGE_TAG from $DOCKERFILE"
-
-# Build the base image. Usually fast because it's cached.
-docker build -t $IMAGE_TAG -f $DOCKERFILE .
-
-mkdir -p $PKGDIR
-
-# echo docker run -it --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /bin/bash
-#docker run -it --entrypoint=/bin/bash --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /buildscripts/build-gnunet.sh
-docker run -it --entrypoint=/bin/bash --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /buildscripts/libeufin-build.sh master
-docker run -it --entrypoint=/bin/bash --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /buildscripts/wallet-build.sh master
diff --git a/packaging/ng/build-ubuntu-kinetic.sh b/packaging/ng/build-ubuntu-kinetic.sh
deleted file mode 100755
index a27bcac..0000000
--- a/packaging/ng/build-ubuntu-kinetic.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env bash
-
-# Build debian packages.
-
-set -eu
-
-DISTRO=ubuntu
-DISTRO_VERNAME=kinetic
-LABEL=$DISTRO-$DISTRO_VERNAME
-
-IMAGE_TAG=taler-packaging-$LABEL:latest
-DOCKERFILE=Dockerfile.$LABEL
-PKGDIR=packages/$LABEL
-
-echo "Building $IMAGE_TAG from $DOCKERFILE"
-
-# Build the base image. Usually fast because it's cached.
-docker build -t $IMAGE_TAG -f $DOCKERFILE .
-
-mkdir -p $PKGDIR
-
-# echo docker run -it --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /bin/bash
-#docker run -it --entrypoint=/bin/bash --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir $IMAGE_TAG /buildscripts/build-gnunet.sh
diff --git a/packaging/ng/build.sh b/packaging/ng/build.sh
new file mode 100755
index 0000000..2523319
--- /dev/null
+++ b/packaging/ng/build.sh
@@ -0,0 +1,67 @@
+#!/usr/bin/env bash
+
+set -eu
+
+usage() {
+ echo Usage: $0 DISTRO >&2
+ exit 1
+}
+
+if [[ $# != 1 ]]; then
+ usage
+fi
+
+LABEL=$1
+IMAGE_TAG=taler-packaging-$LABEL:latest
+DOCKERFILE=distros/Dockerfile.$LABEL
+PKGDIR=packages/$LABEL
+
+if [[ ! -e "$DOCKERFILE" ]]; then
+ echo Need $DOCKERFILE to build $LABEL >&2
+ exit 1
+fi
+
+
+function build_base() {
+ echo "Building $IMAGE_TAG from $DOCKERFILE"
+ # Build the base image. Usually fast because it's cached.
+ podman build -t $IMAGE_TAG -f $DOCKERFILE .
+}
+
+function run() {
+ SCRIPT=$1
+ shift
+ mkdir -p $PKGDIR
+ mkdir -p cache
+ podman run -it --entrypoint=/bin/bash \
+ --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly \
+ --mount type=bind,source="$(pwd)"/buildconfig,target=/buildconfig,readonly \
+ --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir \
+ $IMAGE_TAG "/buildscripts/$SCRIPT" "$@"
+}
+
+function debug() {
+ mkdir -p $PKGDIR
+ podman run -it --entrypoint=/bin/bash \
+ --mount type=bind,source="$(pwd)"/buildscripts,target=/buildscripts,readonly \
+ --mount type=bind,source="$(pwd)"/buildconfig,target=/buildconfig,readonly \
+ --mount type=bind,source="$(pwd)"/$PKGDIR,target=/pkgdir \
+ $IMAGE_TAG -i
+}
+
+function build_all() {
+ run generic.sh gnunet
+ run generic.sh gnunet-gtk
+ run generic.sh taler-exchange
+ run generic.sh taler-merchant
+ run generic.sh sync
+ run generic.sh anastasis
+ run generic.sh anastasis-gtk
+ run generic.sh libeufin
+ run generic.sh taler-merchant-demos
+ run generic.sh taler-wallet-cli packages/taler-wallet-cli
+ run generic.sh taler-harness packages/taler-harness
+ run generic.sh libeufin
+}
+
+build_all
diff --git a/packaging/ng/buildconfig/README b/packaging/ng/buildconfig/README
new file mode 100644
index 0000000..005630f
--- /dev/null
+++ b/packaging/ng/buildconfig/README
@@ -0,0 +1,5 @@
+These files determine the git tag from which the respective components are
+built in the base Docker image.
+
+They are in separate files to make modification checking with
+staged Docker builds work nicely.
diff --git a/packaging/ng/buildconfig/anastasis-gtk.giturl b/packaging/ng/buildconfig/anastasis-gtk.giturl
new file mode 100644
index 0000000..83634d2
--- /dev/null
+++ b/packaging/ng/buildconfig/anastasis-gtk.giturl
@@ -0,0 +1 @@
+git://git.taler.net/anastasis-gtk.git
diff --git a/packaging/ng/buildconfig/anastasis-gtk.tag b/packaging/ng/buildconfig/anastasis-gtk.tag
new file mode 100644
index 0000000..5aff472
--- /dev/null
+++ b/packaging/ng/buildconfig/anastasis-gtk.tag
@@ -0,0 +1 @@
+v0.4.1
diff --git a/packaging/ng/buildconfig/anastasis.giturl b/packaging/ng/buildconfig/anastasis.giturl
new file mode 100644
index 0000000..b29317f
--- /dev/null
+++ b/packaging/ng/buildconfig/anastasis.giturl
@@ -0,0 +1 @@
+git://git.taler.net/anastasis.git
diff --git a/packaging/ng/buildconfig/anastasis.tag b/packaging/ng/buildconfig/anastasis.tag
new file mode 100644
index 0000000..e1be908
--- /dev/null
+++ b/packaging/ng/buildconfig/anastasis.tag
@@ -0,0 +1 @@
+v0.4.2-dev.1
diff --git a/packaging/ng/buildconfig/gnunet-gtk.giturl b/packaging/ng/buildconfig/gnunet-gtk.giturl
new file mode 100644
index 0000000..7610ee3
--- /dev/null
+++ b/packaging/ng/buildconfig/gnunet-gtk.giturl
@@ -0,0 +1 @@
+git://git.gnunet.org/gnunet-gtk.git
diff --git a/packaging/ng/buildconfig/gnunet-gtk.tag b/packaging/ng/buildconfig/gnunet-gtk.tag
new file mode 100644
index 0000000..759e855
--- /dev/null
+++ b/packaging/ng/buildconfig/gnunet-gtk.tag
@@ -0,0 +1 @@
+v0.21.0
diff --git a/packaging/ng/buildconfig/gnunet.giturl b/packaging/ng/buildconfig/gnunet.giturl
new file mode 100644
index 0000000..8764364
--- /dev/null
+++ b/packaging/ng/buildconfig/gnunet.giturl
@@ -0,0 +1 @@
+git://git.gnunet.org/gnunet.git
diff --git a/packaging/ng/buildconfig/gnunet.tag b/packaging/ng/buildconfig/gnunet.tag
new file mode 100644
index 0000000..40c8500
--- /dev/null
+++ b/packaging/ng/buildconfig/gnunet.tag
@@ -0,0 +1 @@
+v0.21.1
diff --git a/packaging/ng/buildconfig/libeufin.giturl b/packaging/ng/buildconfig/libeufin.giturl
new file mode 100644
index 0000000..b794afb
--- /dev/null
+++ b/packaging/ng/buildconfig/libeufin.giturl
@@ -0,0 +1 @@
+git://git.taler.net/libeufin.git
diff --git a/packaging/ng/buildconfig/libeufin.tag b/packaging/ng/buildconfig/libeufin.tag
new file mode 100644
index 0000000..c91125d
--- /dev/null
+++ b/packaging/ng/buildconfig/libeufin.tag
@@ -0,0 +1 @@
+v0.10.1
diff --git a/packaging/ng/buildconfig/sync.giturl b/packaging/ng/buildconfig/sync.giturl
new file mode 100644
index 0000000..21cb5d7
--- /dev/null
+++ b/packaging/ng/buildconfig/sync.giturl
@@ -0,0 +1 @@
+git://git.taler.net/sync.git
diff --git a/packaging/ng/buildconfig/sync.tag b/packaging/ng/buildconfig/sync.tag
new file mode 100644
index 0000000..c91125d
--- /dev/null
+++ b/packaging/ng/buildconfig/sync.tag
@@ -0,0 +1 @@
+v0.10.1
diff --git a/packaging/ng/buildconfig/taler-exchange.giturl b/packaging/ng/buildconfig/taler-exchange.giturl
new file mode 100644
index 0000000..19309f9
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-exchange.giturl
@@ -0,0 +1 @@
+git://git.taler.net/exchange.git
diff --git a/packaging/ng/buildconfig/taler-exchange.tag b/packaging/ng/buildconfig/taler-exchange.tag
new file mode 100644
index 0000000..0a39b20
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-exchange.tag
@@ -0,0 +1 @@
+v0.10.3-dev.1
diff --git a/packaging/ng/buildconfig/taler-harness.giturl b/packaging/ng/buildconfig/taler-harness.giturl
new file mode 100644
index 0000000..0d713ec
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-harness.giturl
@@ -0,0 +1 @@
+git://git.taler.net/wallet-core.git
diff --git a/packaging/ng/buildconfig/taler-harness.tag b/packaging/ng/buildconfig/taler-harness.tag
new file mode 100644
index 0000000..129170b
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-harness.tag
@@ -0,0 +1 @@
+v0.10.8-dev.1
diff --git a/packaging/ng/buildconfig/taler-merchant-demos.giturl b/packaging/ng/buildconfig/taler-merchant-demos.giturl
new file mode 100644
index 0000000..8fd4286
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-merchant-demos.giturl
@@ -0,0 +1 @@
+git://git.taler.net/taler-merchant-demos
diff --git a/packaging/ng/buildconfig/taler-merchant-demos.tag b/packaging/ng/buildconfig/taler-merchant-demos.tag
new file mode 100644
index 0000000..c91125d
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-merchant-demos.tag
@@ -0,0 +1 @@
+v0.10.1
diff --git a/packaging/ng/buildconfig/taler-merchant.giturl b/packaging/ng/buildconfig/taler-merchant.giturl
new file mode 100644
index 0000000..cffa220
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-merchant.giturl
@@ -0,0 +1 @@
+git://git.taler.net/merchant.git
diff --git a/packaging/ng/buildconfig/taler-merchant.tag b/packaging/ng/buildconfig/taler-merchant.tag
new file mode 100644
index 0000000..3123ff9
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-merchant.tag
@@ -0,0 +1 @@
+v0.10.2
diff --git a/packaging/ng/buildconfig/taler-wallet-cli.giturl b/packaging/ng/buildconfig/taler-wallet-cli.giturl
new file mode 100644
index 0000000..0d713ec
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-wallet-cli.giturl
@@ -0,0 +1 @@
+git://git.taler.net/wallet-core.git
diff --git a/packaging/ng/buildconfig/taler-wallet-cli.tag b/packaging/ng/buildconfig/taler-wallet-cli.tag
new file mode 100644
index 0000000..b434d4c
--- /dev/null
+++ b/packaging/ng/buildconfig/taler-wallet-cli.tag
@@ -0,0 +1 @@
+v0.10.6
diff --git a/packaging/ng/buildscripts/anastasis-build.sh b/packaging/ng/buildscripts/anastasis-build.sh
deleted file mode 100644
index 24643e1..0000000
--- a/packaging/ng/buildscripts/anastasis-build.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-
-mkdir -p /build/anastasis
-cd /build/anastasis
-
-# Fetch source
-rm -rf *
-
-for n in anastasis anastasis-gtk
-do
- git clone git://git.taler.net/$n
- cd $n
- git checkout $1
- ./bootstrap
- dpkg-buildpackage -rfakeroot -b -uc -us
- cd ..
- dpkg -i *.deb
-done
-
-tar uvf ../packages.tgz *.deb
-
-cd ..
diff --git a/packaging/ng/buildscripts/build-gnunet-gtk.sh b/packaging/ng/buildscripts/build-gnunet-gtk.sh
deleted file mode 100644
index 924c638..0000000
--- a/packaging/ng/buildscripts/build-gnunet-gtk.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-
-dpkg-scanpackages /pkgdir /dev/null | gzip -9c > /pkgdir/Packages.gz
-
-echo "deb [trusted=yes] file:/pkgdir ./" >/etc/apt/sources.list.d/taler-packaging-local.list
-
-rm -rf /build/gnunet
-mkdir -p /build/gnunet
-cd /build/gnunet
-
-TAG=${1:-master}
-
-for n in gnunet gnunet-gtk
-do
- git clone --depth=1 git://git.gnunet.org/$n
- cd $n
- git checkout $TAG
-
- # Install build-time dependencies.
- mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
-
- # We do a sparse checkout, so we need to hint
- # the version to the build system.
- dpkg-parsechangelog -S Version > .version
- ./bootstrap
- dpkg-buildpackage -rfakeroot -b -uc -us
- cd ..
-done
-
-ls /build/gnunet
-
-cp /build/gnunet/*.deb /pkgdir/
diff --git a/packaging/ng/buildscripts/exchange-build.sh b/packaging/ng/buildscripts/exchange-build.sh
deleted file mode 100644
index 36b9ede..0000000
--- a/packaging/ng/buildscripts/exchange-build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-mkdir -p /build/taler
-cd /build/taler
-
-# Fetch source
-rm -rf *
-
-pip3 install htmlark
-
-git clone git://git.taler.net/exchange
-cd exchange
-git checkout $1
-./bootstrap
-dpkg-buildpackage -rfakeroot -b -uc -us
-cd ..
-dpkg -i *.deb
-
-tar uvf ../packages.tgz *.deb
-cd ..
diff --git a/packaging/ng/buildscripts/build-gnunet.sh b/packaging/ng/buildscripts/generic.sh
index 70fb1a8..85235c6 100644
--- a/packaging/ng/buildscripts/build-gnunet.sh
+++ b/packaging/ng/buildscripts/generic.sh
@@ -5,37 +5,50 @@
set -eu
unset LD_LIBRARY_PATH
+PACKAGE=$1
+# Path of the debian/ folder in the repository
+DEBIANPATH=${2:-.}
+
+echo Building $1 with generic build logic >&2
+
cd /pkgdir
-dpkg-scanpackages . /dev/null | gzip -9c > /pkgdir/Packages.gz
+dpkg-scanpackages . | xz - > /pkgdir/Packages.xz
echo "deb [trusted=yes] file:/pkgdir ./" >/etc/apt/sources.list.d/taler-packaging-local.list
apt-get update
-
mkdir -p /build
cd /build
-TAG=${1:-master}
+TAG=$(cat /buildconfig/$PACKAGE.tag)
+GITURL=$(cat /buildconfig/$PACKAGE.giturl)
-git clone --depth=1 git://git.gnunet.org/gnunet
-cd gnunet
-git checkout $TAG
+git config --global advice.detachedHead false
+git clone --depth=1 --branch=$TAG "$GITURL" "$PACKAGE"
+
+cd "/build/$PACKAGE/$DEBIANPATH"
# Get current version from debian/control file.
DEB_VERSION=$(dpkg-parsechangelog -S Version)
-apt-cache show gnunet | grep "Version: $DEB_VERSION" >/dev/null && found=true || found=false
+echo "Current version of $PACKAGE/$DEBIANPATH is $DEB_VERSION"
+
+apt-cache show "$PACKAGE" | grep "Version: $DEB_VERSION" >/dev/null && found=true || found=false
if [ $found = true ]; then
- echo "gnunet version $DEB_VERSION already built, skipping"
+ echo "$PACKAGE version $DEB_VERSION already built, skipping"
exit 0
fi
+cd "/build/$PACKAGE"
+./bootstrap
+
+cd "/build/$PACKAGE/$DEBIANPATH"
+
# Install build-time dependencies.
mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
# We do a sparse checkout, so we need to hint
# the version to the build system.
echo $DEB_VERSION > .version
-./bootstrap
dpkg-buildpackage -rfakeroot -b -uc -us
-cp /build/*.deb /pkgdir/
+cp ../*.deb /pkgdir/
diff --git a/packaging/ng/buildscripts/libeufin-build.sh b/packaging/ng/buildscripts/libeufin-build.sh
deleted file mode 100644
index f355add..0000000
--- a/packaging/ng/buildscripts/libeufin-build.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-mkdir -p /build
-cd /build
-
-# Fetch source
-rm -rf *
-git clone git://git.taler.net/libeufin
-cd libeufin
-git checkout $1
-./bootstrap
-./configure --prefix=/usr/local
-make deb
-
-cp /build/*.deb /pkgdir/
-
-dpkg -i /build/*.deb
-
-
diff --git a/packaging/ng/buildscripts/merchant-build.sh b/packaging/ng/buildscripts/merchant-build.sh
deleted file mode 100644
index 5625198..0000000
--- a/packaging/ng/buildscripts/merchant-build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-mkdir -p /build/taler
-cd /build/taler
-
-# Fetch source
-rm -rf *
-
-pip3 install htmlark
-
-git clone git://git.taler.net/merchant
-cd merchant
-git checkout $1
-./bootstrap
-dpkg-buildpackage -rfakeroot -b -uc -us
-cd ..
-dpkg -i *.deb
-
-tar uvf ../packages.tgz *.deb
-cd ..
diff --git a/packaging/ng/buildscripts/sync-build.sh b/packaging/ng/buildscripts/sync-build.sh
deleted file mode 100644
index e38a0ee..0000000
--- a/packaging/ng/buildscripts/sync-build.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-
-mkdir -p /build/sync
-cd /build/sync
-
-# Fetch source
-rm -rf *
-
-for n in sync
-do
- git clone git://git.taler.net/$n
- cd $n
- git checkout $1
- ./bootstrap
- dpkg-buildpackage -rfakeroot -b -uc -us
- cd ..
- dpkg -i *.deb
-done
-
-tar uvf ../packages.tgz *.deb
-
-cd ..
diff --git a/packaging/ng/buildscripts/wallet-build.sh b/packaging/ng/buildscripts/wallet-build.sh
deleted file mode 100644
index 029d90a..0000000
--- a/packaging/ng/buildscripts/wallet-build.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# This file is in the public domain.
-# Helper script to build the latest DEB packages in the container.
-
-set -eu
-unset LD_LIBRARY_PATH
-
-mkdir -p /build
-cd /build
-
-# Fetch source
-rm -rf *
-git clone git://git.taler.net/wallet-core
-
-cd wallet-core
-git checkout $1
-./bootstrap
-./configure --prefix=/usr
-make
-cd packages/taler-wallet-cli
-./configure --prefix=/usr
-make install
-dpkg-buildpackage -rfakeroot -b -uc -us
-cd ../taler-harness
-./configure --prefix=/usr
-make install
-dpkg-buildpackage -rfakeroot -b -uc -us
-cd ..
-
-
-cp /build/wallet-core/packages/*.deb /pkgdir/
diff --git a/packaging/ng/Dockerfile.debian-bookworm b/packaging/ng/distros/Dockerfile.debian-bookworm
index b6aade0..b6aade0 100644
--- a/packaging/ng/Dockerfile.debian-bookworm
+++ b/packaging/ng/distros/Dockerfile.debian-bookworm
diff --git a/packaging/ng/Dockerfile.ubuntu-kinetic b/packaging/ng/distros/Dockerfile.ubuntu-kinetic
index 0a90fd7..0a90fd7 100644
--- a/packaging/ng/Dockerfile.ubuntu-kinetic
+++ b/packaging/ng/distros/Dockerfile.ubuntu-kinetic
diff --git a/packaging/ng/print-latest-versions b/packaging/ng/print-latest-versions
new file mode 100755
index 0000000..ff6668e
--- /dev/null
+++ b/packaging/ng/print-latest-versions
@@ -0,0 +1,22 @@
+#!/usr/bin/bash
+
+function getver() {
+ ver=$(git -c 'versionsort.suffix=-' \
+ ls-remote --exit-code --refs --sort='version:refname' --tags $2 '*.*.*' \
+ | tail --lines=1 \
+ | cut --delimiter='/' --fields=3)
+ curr=$(cat buildconfig/$1.tag)
+ if [[ "$curr" != "$ver" ]]; then
+ echo -n "[!] "
+ fi
+ echo $1 "curr: $curr" latest: $ver
+}
+
+getver exchange git://git.taler.net/exchange
+getver merchant git://git.taler.net/merchant
+getver merchant-demos git://git.taler.net/taler-merchant-demos
+getver libeufin git://git.taler.net/libeufin
+getver wallet git://git.taler.net/wallet-core
+getver gnunet git://git.gnunet.org/gnunet
+getver sync git://git.taler.net/sync
+getver libmhd git://git.gnunet.org/libmicrohttpd