diff --git a/.travis.yml b/.travis.yml index 8507326..9cfc238 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,13 @@ language: go +os: linux # fuse on travis sudo: required dist: bionic # Ubuntu 18.04 "Bionic", https://docs.travis-ci.com/user/reference/bionic/ +env: + - GO111MODULE=on + git: depth: 300 @@ -27,7 +31,7 @@ before_install: script: - openssl version - df -Th / /tmp - - go build + - env GO111MODULE=on go build - ./build-without-openssl.bash - ./build.bash - ./gocryptfs -speed diff --git a/build.bash b/build.bash index b3e8a7c..afccb72 100755 --- a/build.bash +++ b/build.bash @@ -15,7 +15,7 @@ cd "$(dirname "$0")" # Make sure we have the go binary go version > /dev/null -# Make it work on Go 1.11 and 1.12 +# Enable Go Modules on Go 1.11 and 1.12 # https://dev.to/maelvls/why-is-go111module-everywhere-and-everything-about-go-modules-24k#-raw-go111module-endraw-with-go-111-and-112 export GO111MODULE=on @@ -68,7 +68,12 @@ fi # Also, Fedora and Arch want pie enabled, so enable it. # * https://fedoraproject.org/wiki/Changes/golang-buildmode-pie # * https://github.com/rfjakob/gocryptfs/pull/460 -export GOFLAGS="${GOFLAGS:--trimpath -buildmode=pie}" +# However, -trimpath needs Go 1.13+, and we support Go 1.11 and Go 1.12 +# too. So don't add it there. +GV=$(go version) +if [[ $GV != *"1.11"* && $GV != *"1.12"* ]] ; then + export GOFLAGS="${GOFLAGS:--trimpath -buildmode=pie}" +fi GO_LDFLAGS="-X main.GitVersion=$GITVERSION -X main.GitVersionFuse=$GITVERSIONFUSE -X main.BuildDate=$BUILDDATE" diff --git a/crossbuild.bash b/crossbuild.bash index 12671fe..13b0bc3 100755 --- a/crossbuild.bash +++ b/crossbuild.bash @@ -2,13 +2,14 @@ cd "$(dirname "$0")" +export GO111MODULE=on B="go build -tags without_openssl" set -x # See https://github.com/golang/go/wiki/GoArm GOOS=linux GOARCH=arm GOARM=7 $B -GOOS=linux GOARCH=arm64 $B +GOOS=linux GOARCH=arm64 $B # MacOS GOOS=darwin GOARCH=amd64 $B diff --git a/test.bash b/test.bash index 6316c1b..ce2d392 100755 --- a/test.bash +++ b/test.bash @@ -10,6 +10,7 @@ fi set -eu cd "$(dirname "$0")" +export GO111MODULE=on MYNAME=$(basename "$0") TESTDIR=$TMPDIR/gocryptfs-test-parent-$UID mkdir -p "$TESTDIR"