Files
triangles_v5/packaging/debian/build-deb.sh
T
Sami Ahmed 8a48b308a8 build: v6.2.0 — disable AVX-512 autovec, fix v6.1.9 SIGILL
v6.1.9 was built on a GitHub Actions EPYC 7763 runner (AVX-512 capable)
and contained 741 vpbroadcastq EVEX instructions in inlined libstdc++
std::string paths. The resulting binary crashed with SIGILL on every
production node: KVM EPYC (DNS2), Ryzen 5 3600 (SAMI-PC), and any
non-x86_64 node.

cmake/AddCompilerFlags.cmake already set -march=x86-64-v2 -mtune=generic
but GCC 11.4 + libstdc++ inlining still autovectorized some paths to
AVX-512. The fix adds an explicit -mno-avx512f -mno-avx512* block
inside CMAKE_X86_64_BASELINE so the build cannot leak AVX-512 regardless
of the build host's capabilities.

Carries forward the v6.1.9 staking-selfheal fix (f69f087) unchanged.
Bump version 6.1.9 -> 6.2.0 to reflect the build-system change.

See references/avx-512-sigill-build-fix.md for the full diagnosis
recipe and the verification steps.
2026-08-01 13:35:54 -07:00

53 lines
1.6 KiB
Bash

#!/bin/bash
# Build .deb package for Cryptographic Triangles
# Run from the packaging/debian directory
set -e
VERSION="6.2.0"
PKGDIR="triangles_${VERSION}-1_amd64"
RELEASE_URL="https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${VERSION}"
echo "Building .deb package for Triangles v${VERSION}..."
# Create directory structure
rm -rf "$PKGDIR"
mkdir -p "$PKGDIR/DEBIAN"
mkdir -p "$PKGDIR/usr/bin"
mkdir -p "$PKGDIR/usr/local/bin"
mkdir -p "$PKGDIR/usr/share/applications"
# Copy control and postinst
cp DEBIAN/control "$PKGDIR/DEBIAN/"
cp DEBIAN/postinst "$PKGDIR/DEBIAN/"
chmod 755 "$PKGDIR/DEBIAN/postinst"
# Download binaries
echo "Downloading binaries..."
curl -L -o "$PKGDIR/usr/bin/triangles-qt" "${RELEASE_URL}/Cryptographic-Triangles-v${VERSION}-linux-x64-qt"
curl -L -o "$PKGDIR/usr/bin/trianglesd" "${RELEASE_URL}/Cryptographic-Triangles-v${VERSION}-linux-x64-daemon"
chmod 755 "$PKGDIR/usr/bin/triangles-qt" "$PKGDIR/usr/bin/trianglesd"
# Copy bootstrap installer
cp usr/local/bin/triangles-bootstrap-install "$PKGDIR/usr/local/bin/"
chmod 755 "$PKGDIR/usr/local/bin/triangles-bootstrap-install"
# Create desktop entry
cat > "$PKGDIR/usr/share/applications/triangles-qt.desktop" << 'DESKTOP'
[Desktop Entry]
Name=Cryptographic Triangles
GenericName=TRI Wallet
Comment=Cryptographic Triangles cryptocurrency wallet
Exec=triangles-qt %u
Terminal=false
Type=Application
Icon=triangles
MimeType=x-scheme-handler/triangles;
Categories=Finance;Network;P2P;Qt;
StartupNotify=true
DESKTOP
# Build the .deb
dpkg-deb --build "$PKGDIR"
echo "Package built: ${PKGDIR}.deb"
echo "Install with: sudo dpkg -i ${PKGDIR}.deb && sudo apt-get install -f"