From e626d19ba1e3504c09ba7ca2381a20f7954d342b Mon Sep 17 00:00:00 2001 From: tnextday Date: Tue, 17 Dec 2019 15:34:13 +0800 Subject: [PATCH] set version details use ldflags --- core.go | 6 ++++-- release/user-package.sh | 22 +++++++++------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/core.go b/core.go index 304eef595..567cca0ed 100755 --- a/core.go +++ b/core.go @@ -13,10 +13,12 @@ package core //go:generate errorgen import ( + "runtime" + "v2ray.com/core/common/serial" ) -const ( +var ( version = "4.21.3" build = "Custom" codename = "V2Fly, a community-driven edition of V2Ray." @@ -32,7 +34,7 @@ func Version() string { // VersionStatement returns a list of strings representing the full version info. func VersionStatement() []string { return []string{ - serial.Concat("V2Ray ", Version(), " (", codename, ") ", build), + serial.Concat("V2Ray ", Version(), " (", codename, ") ", build, " (", runtime.Version(), " ", runtime.GOOS, "/", runtime.GOARCH, ")"), intro, } } diff --git a/release/user-package.sh b/release/user-package.sh index 00ed3ff91..57da957dd 100755 --- a/release/user-package.sh +++ b/release/user-package.sh @@ -17,9 +17,11 @@ __root="$(cd "$(dirname "${__dir}")" && pwd)" # <-- change this as it depends on NOW=$(date '+%Y%m%d-%H%M%S') TMP=$(mktemp -d) +SRCDIR=$(pwd) CODENAME="user" BUILDNAME=$NOW +VERSIONTAG=$(git describe --tags) GOPATH=$(go env GOPATH) cleanup () { rm -rf $TMP; } @@ -28,27 +30,21 @@ trap cleanup INT TERM ERR get_source() { echo ">>> Getting v2ray sources ..." go get -insecure -v -t v2ray.com/core/... + SRCDIR="$GOPATH/src/v2ray.com/core" } build_v2() { - pushd $GOPATH/src/v2ray.com/core - echo ">>> Update source code name ..." - sed -i "s/^[ \t]\+codename.\+$/\tcodename = \"${CODENAME}\"/;s/^[ \t]\+build.\+$/\tbuild = \"${BUILDNAME}\"/;" core.go + pushd $SRCDIR + LDFLAGS="-X v2ray.com/core.codename=${CODENAME} -X v2ray.com/core.build=${BUILDNAME} -X v2ray.com/core.version=${VERSIONTAG}" echo ">>> Compile v2ray ..." - pushd $GOPATH/src/v2ray.com/core/main - env CGO_ENABLED=0 go build -o $TMP/v2ray${EXESUFFIX} -ldflags "-s -w" + env CGO_ENABLED=0 go build -o $TMP/v2ray${EXESUFFIX} -ldflags "-s -w $LDFLAGS" ./main if [[ $GOOS == "windows" ]];then - env CGO_ENABLED=0 go build -o $TMP/wv2ray${EXESUFFIX} -ldflags "-s -w -H windowsgui" + env CGO_ENABLED=0 go build -o $TMP/wv2ray${EXESUFFIX} -ldflags "-s -w -H windowsgui $LDFLAGS" ./main fi - popd - - git checkout -- core.go - popd echo ">>> Compile v2ctl ..." - pushd $GOPATH/src/v2ray.com/core/infra/control/main - env CGO_ENABLED=0 go build -o $TMP/v2ctl${EXESUFFIX} -tags confonly -ldflags "-s -w" + env CGO_ENABLED=0 go build -o $TMP/v2ctl${EXESUFFIX} -tags confonly -ldflags "-s -w $LDFLAGS" ./infra/control/main popd } @@ -66,7 +62,7 @@ build_dat() { copyconf() { echo ">>> Copying config..." - pushd $GOPATH/src/v2ray.com/core/release/config + pushd $SRCDIR/release/config tar c --exclude "*.dat" . | tar x -C $TMP }