github.com/klaytn/klaytn@v1.10.2/build/package-rpm.sh (about) 1 #!/bin/bash 2 3 DAEMON_BINARIES=(kcn kpn ken kbn kscn kspn ksen) 4 BINARIES=(kgen homi) 5 6 set -e 7 8 function printUsage { 9 echo "Usage: $0 [-b] <target binary>" 10 echo " -b: use baobab configuration." 11 echo " <target binary>: kcn | kpn | ken | kbn | kscn | kspn | ksen | kgen | homi" 12 exit 1 13 } 14 15 # Parse options. 16 BAOBAB_FLAG= 17 BAOBAB_PREFIX= 18 while getopts "b" opt; do 19 case ${opt} in 20 b) 21 echo "Using baobab configuration..." 22 BAOBAB_FLAG=" --baobab" 23 BAOBAB_PREFIX="-baobab" 24 ;; 25 esac 26 done 27 shift $((OPTIND -1)) 28 29 # Parse target 30 TARGET=$1 31 if [ -z "$TARGET" ]; then 32 echo "specify target binary: ${DAEMON_BINARIES[*]} ${DAEMON[*]}" 33 printUsage 34 fi 35 36 MYDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 37 pushd $MYDIR/.. 38 function finish { 39 # Your cleanup code here 40 popd 41 } 42 trap finish EXIT 43 44 KLAYTN_VERSION=$(go run build/rpm/main.go version) 45 KLAYTN_RELEASE_NUM=$(go run build/rpm/main.go release_num) 46 PLATFORM_SUFFIX=$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m) 47 48 PACK_NAME= 49 PACK_VERSION= 50 51 # Search the target name in DAEMON_BINARIES 52 for b in ${DAEMON_BINARIES[*]}; do 53 if [ "$TARGET" == "$b" ]; then 54 PACK_NAME=${b}-${PLATFORM_SUFFIX} 55 PACK_VERSION=${b}d${BAOBAB_PREFIX}-${KLAYTN_VERSION} 56 fi 57 done 58 59 # Search the target name in BINARIES 60 for b in ${BINARIES[*]}; do 61 if [ "$TARGET" == "$b" ]; then 62 PACK_NAME=${b}-${PLATFORM_SUFFIX} 63 PACK_VERSION=${b}${BAOBAB_PREFIX}-${KLAYTN_VERSION} 64 fi 65 done 66 67 # If not found from both DAEMON_BINARIES and BINARIES, exit. 68 if [ -z "$PACK_NAME" ]; then 69 echo "specify target binary: ${DAEMON_BINARIES[*]} ${DAEMON[*]}" 70 printUsage 71 fi 72 73 # Go for packaging! 74 mkdir -p ${PACK_NAME}/rpmbuild/{SPECS,SOURCES,BUILDROOT} 75 go run build/rpm/main.go gen_spec $BAOBAB_FLAG --binary_type $TARGET > ${PACK_NAME}/rpmbuild/SPECS/${PACK_VERSION}.spec 76 git archive --format=tar.gz --prefix=${PACK_VERSION}/ HEAD > ${PACK_NAME}/rpmbuild/SOURCES/${PACK_VERSION}.tar.gz 77 echo "rpmbuild --buildroot ${MYDIR}/../${PACK_NAME}/rpmbuild/BUILDROOT -ba ${PACK_NAME}/rpmbuild/SPECS/${PACK_VERSION}.spec" 78 HOME=${MYDIR}/../${PACK_NAME}/ rpmbuild --buildroot ${MYDIR}/../${PACK_NAME}/rpmbuild/BUILDROOT -ba ${PACK_NAME}/rpmbuild/SPECS/${PACK_VERSION}.spec