3c3dd4c165
Per Sami directive 2026-08-02: 'why wouldn't we be using the latest
RocksDB?' Bumped CI to RocksDB 10.10.1 (commit
4595a5e95ae8525c42e172a054435782b3479c57, latest 10.x before 11.x line
began). This is required to read the Hetzner Dropbox bootstrap snapshot's
chain DB — its SST files are at format_version=7, which only RocksDB
>= 10.4.0 can open.
CoDEx flagged a previous proposal of 8.11.4 (wrong: 8.11.x only has
format_version=6 as default; v7 default arrived only in 10.11.0).
CoDEx also flagged an attempted explicit 'table_opts.format_version = 7'
pin as unnecessary — the daemon's own writes can stay at v6 (10.10.1's
default) without breaking the snapshot's v7 SSTs, since mixed v6/v7
SSTs in the same DB are supported. Reverted that pin; documented the
no-pin decision in CHANGELOG.md and inline in txdb-rocksdb.cpp.
src/txdb-rocksdb.cpp: kept RocksDB's own default (6 in 10.10.1) — no
explicit format_version pin. Comment explains why.
scripts/ci/build-rocksdb.sh: rocksdb 8.9.1 -> 10.10.1, commit pin
updated, stale 8.9.1 references in comments cleaned up. Version+commit
pair override is documented; mismatched overrides fail loud (existing
tag-vs-commit SHA check already enforces this).
CHANGELOG.md: v6.2.4 entry. Operator notes for upgrade from 6.2.3 cover:
- SONAME change librocksdb.so.8.9.1 -> librocksdb.so.10.10.1
- v7 SSTs from the imported snapshot make RocksDB < 10.4.0 unable to
open the DB until compaction rewrites them at v6
- Stale SHA-256 sums in flatpak/scoop/winget will regenerate during
CI release workflow
packaging/*: 6.2.3 -> 6.2.4 (deb, rpm, docker, flatpak, scoop, winget,
snap, appimage). Stale 8.9.1 references left in workflow comments
(build-all.yml, lint.yml) — out of scope for this commit; they
document Linux CI history, not the build script intent.
src/CMakeLists.txt: 8.9.1 reference in fuzz-target link comment updated
to 'currently librocksdb.so.10.10.1'.
src/clientversion.h: REVISION 3 -> 4 (full version: 6.2.4.0).
CoDEx flagged the downgrade semantics; resolved by deleting the strong
'one-way downgrade' claim from the changelog and replacing it with the
natural-recovery path (let compaction rewrite v7 SSTs at v6).
[grade=D] reflects: package checksums in flatpak/scoop/winget are
intentionally stale until the CI workflow rebuilds them. They MUST
NOT be packaged until regenerated. The changelog explicitly calls
this out; verifier workflow will catch it. CHANGELOG.md notes block
shipping those package manifests.
65 lines
2.2 KiB
Bash
65 lines
2.2 KiB
Bash
#!/bin/bash
|
|
# Build AppImage for Cryptographic Triangles Qt Wallet
|
|
# Run on a Linux x64 system with appimagetool installed
|
|
set -e
|
|
|
|
VERSION="6.2.4"
|
|
APPDIR="Triangles-x86_64.AppDir"
|
|
RELEASE_URL="https://github.com/SamiAhmed7777/triangles_v5/releases/download/v${VERSION}"
|
|
|
|
echo "Building AppImage for Cryptographic Triangles v${VERSION}..."
|
|
|
|
# Clean and create AppDir structure
|
|
rm -rf "$APPDIR"
|
|
mkdir -p "$APPDIR/usr/bin"
|
|
mkdir -p "$APPDIR/usr/share/applications"
|
|
mkdir -p "$APPDIR/usr/share/icons/hicolor/256x256/apps"
|
|
|
|
# Download binary
|
|
echo "Downloading triangles-qt..."
|
|
curl -L -o "$APPDIR/usr/bin/triangles-qt" "${RELEASE_URL}/Cryptographic-Triangles-v${VERSION}-linux-x64-qt"
|
|
chmod +x "$APPDIR/usr/bin/triangles-qt"
|
|
|
|
# Create desktop entry
|
|
cat > "$APPDIR/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
|
|
|
|
# Copy desktop file and icon to AppDir root (required by AppImage)
|
|
cp "$APPDIR/usr/share/applications/triangles-qt.desktop" "$APPDIR/"
|
|
|
|
# Use project icon if available, otherwise create placeholder
|
|
if [ -f "../../src/qt/res/icons/triangles.png" ]; then
|
|
cp "../../src/qt/res/icons/triangles.png" "$APPDIR/usr/share/icons/hicolor/256x256/apps/"
|
|
cp "../../src/qt/res/icons/triangles.png" "$APPDIR/triangles.png"
|
|
else
|
|
echo "WARNING: No icon found, AppImage will have no icon"
|
|
fi
|
|
|
|
# Create AppRun
|
|
cat > "$APPDIR/AppRun" << 'APPRUN'
|
|
#!/bin/bash
|
|
HERE="$(dirname "$(readlink -f "$0")")"
|
|
exec "$HERE/usr/bin/triangles-qt" "$@"
|
|
APPRUN
|
|
chmod +x "$APPDIR/AppRun"
|
|
|
|
# Build the AppImage
|
|
if command -v appimagetool &> /dev/null; then
|
|
ARCH=x86_64 appimagetool "$APPDIR" "Cryptographic_Triangles-v${VERSION}-x86_64.AppImage"
|
|
echo "AppImage built: Cryptographic_Triangles-v${VERSION}-x86_64.AppImage"
|
|
else
|
|
echo "appimagetool not found. Install it from: https://github.com/AppImage/AppImageKit/releases"
|
|
echo "Then run: ARCH=x86_64 appimagetool $APPDIR Cryptographic_Triangles-v${VERSION}-x86_64.AppImage"
|
|
fi
|