The docs/packaging were largely un-rebranded Hush3 content, with several docs stating facts that are wrong for DragonX. This rewrites them against the verified DragonX source state. Corrections (not just branding): - PoW: RandomX (CPU), not Equihash/ASIC — README, overview.md, randomx.md - Privacy: private from genesis (ac_private=1, Sapling@height1), not "as of block 340000" — overview.md, payment-api.md - Removed the false "coinbase must be shielded" consensus claim (shield-coinbase.md, payment-api.md); coinbase is directly spendable - Fixed default fee 0.0001 (was 0.0010000, 10x); stratum port 22769 (was 19031) - datadir ~/.hush/DRAGONX, DRAGONX.conf, dragonxd/dragonx-cli/dragonx-tx, git.dragonx.is throughout; branch model dev->dragonx - Softened the inherited dPoW reorg claim (no live DragonX notary infra) Packaging: fix build-debian-package.sh + gen-manpages.sh to use the dragonx binaries/manpages; rename bash-completions to dragonx*; drop hush-arrakis-chain from the package. Keep /usr/share/hush (hardcoded in the binary for params). Also: README links/logo, ObsidianDragon + SilentDragonXAndroid wallets, networking/init/dev-process/contrib/util rebrand, and leftover helper scripts. Delete legacy duplicates (hushd.* init/service, HUSH3.conf examples, OLD_WALLETS.md, hsc.md) and rename hush-uri.bat -> dragonx-uri.bat. Out of scope (noted, not changed): historical changelog/copyright, the Hush mainnet airdrop snapshot, seed data files, depends/ source mirrors, and the in-code strCurrencyUnits="HUSH". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
121 lines
4.1 KiB
Bash
Executable File
121 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) 2016-2024 The Hush developers
|
|
# Copyright (c) 2024-2026 The DragonX developers
|
|
# Distributed under the GPLv3 software license, see the accompanying
|
|
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
|
## Usages:
|
|
## ./util/build-debian-package.sh # build amd64 package
|
|
## ./util/build-debian-package.sh aarch64 # build package for specific archiecture
|
|
|
|
# Check if running on Debian and exit if it is not
|
|
if grep -qi "Debian" /etc/os-release; then
|
|
:
|
|
else
|
|
echo -e "NOT RUNNING THIS SCRIPT ON DEBIAN! Try again with Debian." >&2
|
|
exit 1
|
|
fi
|
|
|
|
ARCH=${1:-amd64}
|
|
echo "Let There Be DragonX Debian Packages"
|
|
|
|
# Check if lintian is installed and give details about installing
|
|
# It is an optional dependency
|
|
if ! [ -x "$(command -v lintian)" ]; then
|
|
echo 'Warning: lintian is not installed yet. Consult your Linux version package manager...' >&2
|
|
echo 'On Debian/Ubuntu, try "sudo apt install lintian"'
|
|
fi
|
|
|
|
# Check if fakeroot is installed and exit if it is not
|
|
if ! [ -x "$(command -v fakeroot)" ]; then
|
|
echo 'Error: fakeroot is not installed yet. Consult your Linux version package manager...' >&2
|
|
echo 'On Debian/Ubuntu, try "sudo apt install fakeroot"'
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
set -e
|
|
set -x
|
|
|
|
BUILD_PATH="/tmp/dragonx-debian-$$"
|
|
PACKAGE_NAME="dragonx"
|
|
SRC_PATH=`pwd`
|
|
SRC_DEB=$SRC_PATH/contrib/debian
|
|
SRC_DOC=$SRC_PATH/doc
|
|
|
|
umask 022
|
|
|
|
if [ ! -d $BUILD_PATH ]; then
|
|
mkdir $BUILD_PATH
|
|
fi
|
|
|
|
# If dragonxd is not currently running, package version can be hardcoded
|
|
#PACKAGE_VERSION=1.0.3
|
|
PACKAGE_VERSION=$($SRC_PATH/src/dragonxd --version|grep version|cut -d' ' -f4|cut -d- -f1|sed 's/v//g')
|
|
DEBVERSION=$(echo $PACKAGE_VERSION | sed 's/-beta/~beta/' | sed 's/-rc/~rc/' | sed 's/-/+/')
|
|
BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH"
|
|
|
|
if [ -d $BUILD_DIR ]; then
|
|
rm -R $BUILD_DIR
|
|
fi
|
|
|
|
DEB_BIN=$BUILD_DIR/usr/bin
|
|
DEB_CMP=$BUILD_DIR/usr/share/bash-completion/completions
|
|
DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME
|
|
DEB_MAN=$BUILD_DIR/usr/share/man/man1
|
|
# NOTE: /usr/share/hush is intentional and must NOT be renamed to /usr/share/dragonx.
|
|
# The compiled binary hardcodes /usr/share/hush as the Debian global search path for the
|
|
# sapling params and asmap.dat (see src/init.cpp and src/util.cpp).
|
|
DEB_SHR=$BUILD_DIR/usr/share/hush
|
|
mkdir -p $BUILD_DIR/DEBIAN $DEB_CMP $DEB_BIN $DEB_DOC $DEB_MAN $DEB_SHR
|
|
chmod 0755 -R $BUILD_DIR/*
|
|
|
|
# Package maintainer scripts (currently empty)
|
|
#cp $SRC_DEB/postinst $BUILD_DIR/DEBIAN
|
|
#cp $SRC_DEB/postrm $BUILD_DIR/DEBIAN
|
|
#cp $SRC_DEB/preinst $BUILD_DIR/DEBIAN
|
|
#cp $SRC_DEB/prerm $BUILD_DIR/DEBIAN
|
|
|
|
cp $SRC_PATH/contrib/asmap/asmap.dat $DEB_SHR
|
|
cp $SRC_PATH/sapling-spend.params $DEB_SHR
|
|
cp $SRC_PATH/sapling-output.params $DEB_SHR
|
|
cp $SRC_PATH/src/dragonxd $DEB_BIN
|
|
strip $DEB_BIN/dragonxd
|
|
cp $SRC_PATH/src/dragonx-cli $DEB_BIN
|
|
strip $DEB_BIN/dragonx-cli
|
|
cp $SRC_PATH/src/dragonx-tx $DEB_BIN
|
|
strip $DEB_BIN/dragonx-tx
|
|
|
|
cp $SRC_DEB/changelog $DEB_DOC
|
|
cp $SRC_DEB/copyright $DEB_DOC
|
|
cp -r $SRC_DEB/examples $DEB_DOC
|
|
# Copy manpages
|
|
cp $SRC_DOC/man/dragonxd.1 $DEB_MAN/dragonxd.1
|
|
cp $SRC_DOC/man/dragonx-cli.1 $DEB_MAN/dragonx-cli.1
|
|
cp $SRC_DOC/man/dragonx-tx.1 $DEB_MAN/dragonx-tx.1
|
|
|
|
# Copy bash completion files
|
|
cp $SRC_PATH/contrib/dragonxd.bash-completion $DEB_CMP/dragonxd
|
|
cp $SRC_PATH/contrib/dragonx-cli.bash-completion $DEB_CMP/dragonx-cli
|
|
cp $SRC_PATH/contrib/dragonx-tx.bash-completion $DEB_CMP/dragonx-tx
|
|
# Gzip files
|
|
#gzip --best -n $DEB_DOC/changelog
|
|
#gzip --best -n $DEB_DOC/changelog.Debian
|
|
gzip --best -n $DEB_MAN/dragonxd.1
|
|
gzip --best -n $DEB_MAN/dragonx-cli.1
|
|
gzip --best -n $DEB_MAN/dragonx-tx.1
|
|
|
|
cd $SRC_PATH/contrib
|
|
|
|
# Create the control file
|
|
dpkg-shlibdeps $DEB_BIN/dragonxd $DEB_BIN/dragonx-cli $DEB_BIN/dragonx-tx
|
|
dpkg-gencontrol -P$BUILD_DIR -v$DEBVERSION
|
|
#dpkg-gencontrol -P$BUILD_DIR
|
|
|
|
# Create the Debian package
|
|
fakeroot dpkg-deb --build $BUILD_DIR
|
|
cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb $SRC_PATH
|
|
shasum -a 256 $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb
|
|
# Analyze with Lintian, reporting bugs and policy violations
|
|
lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-$ARCH.deb
|
|
exit 0
|