From 3ddf6536e5b614ba71f88dc466b89c82c4e20fca Mon Sep 17 00:00:00 2001 From: "Krystie (TRI packaging)" Date: Sun, 21 Jun 2026 01:19:09 -0700 Subject: [PATCH] packaging: bump Docker + AUR to v5.9.20 Docker: - Dockerfile now extracts from cryptographic-triangles-daemon_5.9.20_amd64.deb (release no longer ships raw linux-x64 binaries) - Multi-stage build with .deb extraction - Includes triangles-cli alongside trianglesd - LD_LIBRARY_PATH wrapper for the bundled lib/ dir AUR: - Bump triangles-qt-bin to 5.9.20 - Switch from raw linux-x64 binary download (no longer published) to extracting the official .deb packages - Bundle version-pinned libs in /opt/triangles/lib - Add triangles-cli to provides --- packaging/aur/.SRCINFO | 30 ++++++++++++++++ packaging/aur/PKGBUILD | 71 +++++++++++++++++++++++++++++-------- packaging/docker/Dockerfile | 64 +++++++++++++++++++++------------ 3 files changed, 128 insertions(+), 37 deletions(-) create mode 100644 packaging/aur/.SRCINFO diff --git a/packaging/aur/.SRCINFO b/packaging/aur/.SRCINFO new file mode 100644 index 0000000..e369466 --- /dev/null +++ b/packaging/aur/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = triangles-qt-bin + pkgdesc = Cryptographic Triangles (TRI) cryptocurrency wallet - Qt GUI + pkgver = 5.9.20 + pkgrel = 1 + url = https://cryptographic-triangles.org + arch = x86_64 + license = MIT + depends = qt5-base + depends = openssl + depends = boost-libs + depends = db + depends = leveldb + depends = libevent + depends = miniupnpc + depends = tor + optdepend = tor: anonymous networking support + provides = triangles-qt + provides = trianglesd + provides = triangles-cli + conflicts = triangles-qt + conflicts = trianglesd + conflicts = triangles-cli + source = https://github.com/SamiAhmed7777/triangles_v5/releases/download/v5.9.20/cryptographic-triangles_5.9.20_amd64.deb + source = https://github.com/SamiAhmed7777/triangles_v5/releases/download/v5.9.20/cryptographic-triangles-daemon_5.9.20_amd64.deb + source = triangles-qt.desktop + sha256sums = b4afcf758f55c8fb256f4742917971414078ce37c0fe346383ccda5251917bde + sha256sums = 068d015cf73206f3f3604b0c8fbf60db307c20234cbe06e236996fb9a336df51 + sha256sums = SKIP + +pkgname = triangles-qt-bin diff --git a/packaging/aur/PKGBUILD b/packaging/aur/PKGBUILD index d067b7a..65c7c37 100644 --- a/packaging/aur/PKGBUILD +++ b/packaging/aur/PKGBUILD @@ -1,6 +1,6 @@ -# Maintainer: Cryptographic Triangles Team +# Maintainer: Sami Ahmed pkgname=triangles-qt-bin -pkgver=5.5.6 +pkgver=5.9.20 pkgrel=1 pkgdesc="Cryptographic Triangles (TRI) cryptocurrency wallet - Qt GUI" arch=('x86_64') @@ -8,21 +8,64 @@ url="https://cryptographic-triangles.org" license=('MIT') depends=('qt5-base' 'openssl' 'boost-libs' 'db' 'leveldb' 'libevent' 'miniupnpc' 'tor') optdepends=('tor: anonymous networking support') -provides=('triangles-qt' 'trianglesd') -conflicts=('triangles-qt' 'trianglesd') +provides=('triangles-qt' 'trianglesd' 'triangles-cli') +conflicts=('triangles-qt' 'trianglesd' 'triangles-cli') source=( - "triangles-qt-${pkgver}::https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${pkgver}/Cryptographic-Triangles-v${pkgver}-linux-x64-qt" - "trianglesd-${pkgver}::https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${pkgver}/Cryptographic-Triangles-v${pkgver}-linux-x64-daemon" + "https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${pkgver}/cryptographic-triangles_${pkgver}_amd64.deb" + "https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${pkgver}/cryptographic-triangles-daemon_${pkgver}_amd64.deb" "triangles-qt.desktop" ) -sha256sums=( - 'ed220eb8d0b403f62cdac28988541fd1a27864491e233216f9c00a4c2537b4a3' - '4d2ab25d61127d6aff3e6f3069556d04f4b823f8849e97629c12871ad4779517' - 'SKIP' -) +sha256sums=('b4afcf758f55c8fb256f4742917971414078ce37c0fe346383ccda5251917bde' + '068d015cf73206f3f3604b0c8fbf60db307c20234cbe06e236996fb9a336df51' + 'SKIP') + +prepare() { + cd "$srcdir" + # Qt GUI + bundled Qt/libs come from the full wallet .deb + ar x "cryptographic-triangles_${pkgver}_amd64.deb" + tar --use-compress-program=unzstd -xf data.tar.zst + rm -f control.tar.zst data.tar.zst debian-binary + + # Headless daemon + JSON-RPC client come from the daemon .deb + ar x "cryptographic-triangles-daemon_${pkgver}_amd64.deb" + tar --use-compress-program=unzstd -xf data.tar.zst + rm -f control.tar.zst data.tar.zst debian-binary +} package() { - install -Dm755 "triangles-qt-${pkgver}" "${pkgdir}/usr/bin/triangles-qt" - install -Dm755 "trianglesd-${pkgver}" "${pkgdir}/usr/bin/trianglesd" - install -Dm644 "triangles-qt.desktop" "${pkgdir}/usr/share/applications/triangles-qt.desktop" + cd "$srcdir" + + # Install the actual binaries to /opt/triangles + install -dm755 "${pkgdir}/opt/triangles" + install -m755 usr/lib/cryptographic-triangles/triangles-qt \ + "${pkgdir}/opt/triangles/triangles-qt" + install -m755 usr/lib/cryptographic-triangles/trianglesd \ + "${pkgdir}/opt/triangles/trianglesd" + install -m755 usr/lib/cryptographic-triangles/triangles-cli \ + "${pkgdir}/opt/triangles/triangles-cli" + + # Install bundled shared libraries to /opt/triangles/lib. + # Many are version-pinned (librocksdb.so.6.11, libgflags.so.2.2, + # libdb_cxx-5.3.so, libboost_program_options.so.1.74.0) and are not + # available at the right version on Arch, so we ship them ourselves. + install -dm755 "${pkgdir}/opt/triangles/lib" + # Use GUI .deb libs (it has the full Qt set + everything daemon needs) + install -m644 usr/lib/cryptographic-triangles/lib/* \ + "${pkgdir}/opt/triangles/lib/" + + # Wrapper scripts in /usr/bin set LD_LIBRARY_PATH and exec the real binary. + # System Qt5/openssl/etc. are still on the default loader path and take + # precedence for libs NOT in our private directory. + install -dm755 "${pkgdir}/usr/bin" + for bin in triangles-qt trianglesd triangles-cli; do + install -m755 /dev/stdin "${pkgdir}/usr/bin/${bin}" < /usr/local/bin/trianglesd-wrap && \ + printf '#!/bin/bash\nexport LD_LIBRARY_PATH=/opt/triangles/lib:${LD_LIBRARY_PATH}\nexec /opt/triangles/%s "$@"\n' triangles-cli \ + > /usr/local/bin/triangles-cli-wrap && \ + mv /usr/local/bin/trianglesd-wrap /usr/local/bin/trianglesd && \ + mv /usr/local/bin/triangles-cli-wrap /usr/local/bin/triangles-cli && \ + chmod +x /usr/local/bin/trianglesd /usr/local/bin/triangles-cli + +RUN useradd -m -s /bin/bash triangles && \ + mkdir -p /home/triangles/.triangles && \ + chown -R triangles:triangles /home/triangles USER triangles WORKDIR /home/triangles - -RUN mkdir -p /home/triangles/.triangles - VOLUME /home/triangles/.triangles - EXPOSE 24112 19112 ENTRYPOINT ["trianglesd"]