Last active
          July 13, 2022 05:52 
        
      - 
      
- 
        Save dolmen/baf85f57a397c53a2bae065586bba50c to your computer and use it in GitHub Desktop. 
Revisions
- 
        dolmen revised this gist Mar 6, 2020 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,6 +2,7 @@ # Upgrade Go binaries built in Go module mode and installed in $GOPATH/bin. # Author: Olivier Mengué # Source: https://gist.github.com/dolmen/baf85f57a397c53a2bae065586bba50c set -euo pipefail IFS=$'\n\t' 
- 
        dolmen revised this gist Mar 5, 2020 . 1 changed file with 12 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,12 @@ # go-bin-upgrade Rebuild the binaries you have built in Go module mode installed in $GOPATH/bin. Usage: `go-bin-upgrade [-n] [-v] bin1 [bin2]...` Examples: * `go-bin-upgrade -n godoc` * `(cd ~/go/bin ; go-bin-upgrade * )` Limitation: only binaries built in Go module mode can be rebuilt because they embed the module from which they have been built. Check `go version -m` on the binary for more info. 
- 
        dolmen revised this gist Mar 5, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Upgrade Go binaries built in Go module mode and installed in $GOPATH/bin. # Author: Olivier Mengué set -euo pipefail 
- 
        dolmen created this gist Mar 5, 2020 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,58 @@ #!/usr/bin/env bash # Upgrade Go binaries installed in $GOPATH/bin # Author: Olivier Mengué set -euo pipefail IFS=$'\n\t' update=true verbose=false GOBIN="$(go env GOPATH)/bin" function usage { echo "usage: $0 [-n] <file>" exit 1 } while getopts 'nv?h' o; do case "$o" in n) update=false ;; v) verbose=true ;; *) usage ;; esac done shift $((OPTIND-1)) for f do # path p="$(go version -m "$GOBIN/$1" 2>/dev/null | sed -n -e '2 s/^ path //p')" if [[ -n "$p" ]]; then # mod m="$(go version -m "$GOBIN/$1" | sed -n -e '3 s/^ mod \([^ ]*\).*/\1/p')" echo "$f: path=$p module=$m" if $verbose; then go version -m "$GOBIN/$1" fi $update || continue ( cd "$(go env GOPATH)/src"; go get -t -d "$m" "$p" ) || true ( cd "$(go env GOPATH)/src/$p"; GO111MODULE=on go install ) if $verbose; then go version -m "$GOBIN/$1" fi else echo "$f: no go module information embeded in binary" >&2 fi done