lbcd/release/release.sh
Roy Lee b7d3e11250 [lbry] misc: rename btcd to lbcd
Currently, we're only focus on the changes that are visible in
run time, such as executable name, config files/dirs, errors
and hint messages. And wire messages exchanged in network.

btc{d,ctl,wallet} lbc{d,ctl,wallet}
2021-08-19 14:17:22 -04:00

109 lines
2.5 KiB
Bash
Executable file

#!/bin/bash
# Copyright (c) 2016 Company 0, LLC.
# Copyright (c) 2016-2020 The btcsuite developers
# Use of this source code is governed by an ISC
# license that can be found in the LICENSE file.
# Simple bash script to build basic lbcd tools for all the platforms we support
# with the golang cross-compiler.
set -e
# If no tag specified, use date + version otherwise use tag.
if [[ $1x = x ]]; then
DATE=`date +%Y%m%d`
VERSION="01"
TAG=$DATE-$VERSION
else
TAG=$1
fi
go mod vendor
tar -cvzf vendor.tar.gz vendor
PACKAGE=lbcd
MAINDIR=$PACKAGE-$TAG
mkdir -p $MAINDIR
cp vendor.tar.gz $MAINDIR/
rm vendor.tar.gz
rm -r vendor
PACKAGESRC="$MAINDIR/$PACKAGE-source-$TAG.tar"
git archive -o $PACKAGESRC HEAD
gzip -f $PACKAGESRC > "$PACKAGESRC.gz"
cd $MAINDIR
# If LBCDBUILDSYS is set the default list is ignored. Useful to release
# for a subset of systems/architectures.
SYS=${LBCDBUILDSYS:-"
darwin-amd64
dragonfly-amd64
freebsd-386
freebsd-amd64
freebsd-arm
illumos-amd64
linux-386
linux-amd64
linux-armv6
linux-armv7
linux-arm64
linux-ppc64
linux-ppc64le
linux-mips
linux-mipsle
linux-mips64
linux-mips64le
linux-s390x
netbsd-386
netbsd-amd64
netbsd-arm
netbsd-arm64
openbsd-386
openbsd-amd64
openbsd-arm
openbsd-arm64
solaris-amd64
windows-386
windows-amd64
"}
# Use the first element of $GOPATH in the case where GOPATH is a list
# (something that is totally allowed).
PKG="github.com/lbryio/lbcd"
COMMIT=$(git describe --abbrev=40 --dirty)
for i in $SYS; do
OS=$(echo $i | cut -f1 -d-)
ARCH=$(echo $i | cut -f2 -d-)
ARM=
if [[ $ARCH = "armv6" ]]; then
ARCH=arm
ARM=6
elif [[ $ARCH = "armv7" ]]; then
ARCH=arm
ARM=7
fi
mkdir $PACKAGE-$i-$TAG
cd $PACKAGE-$i-$TAG
echo "Building:" $OS $ARCH $ARM
env CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH GOARM=$ARM go build -v -trimpath -ldflags="-s -w -buildid=" github.com/lbryio/lbcd
env CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH GOARM=$ARM go build -v -trimpath -ldflags="-s -w -buildid=" github.com/lbryio/lbcd/cmd/lbcctl
cd ..
if [[ $OS = "windows" ]]; then
zip -r $PACKAGE-$i-$TAG.zip $PACKAGE-$i-$TAG
else
tar -cvzf $PACKAGE-$i-$TAG.tar.gz $PACKAGE-$i-$TAG
fi
rm -r $PACKAGE-$i-$TAG
done
shasum -a 256 * > manifest-$TAG.txt