2015-10-05 20:32:10 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
2015-12-20 17:44:11 +01:00
|
|
|
cd "$(dirname "$0")"
|
|
|
|
|
2016-06-29 22:27:32 +02:00
|
|
|
# GOPATH may contain multiple paths separated by ":"
|
|
|
|
GOPATH2=$(echo $GOPATH | cut -f1 -d:)
|
|
|
|
|
2016-04-10 23:16:09 +02:00
|
|
|
# gocryptfs version according to git
|
2015-11-01 13:55:35 +01:00
|
|
|
GITVERSION=$(git describe --tags --dirty)
|
2016-06-19 20:34:54 +02:00
|
|
|
|
2016-04-10 23:16:09 +02:00
|
|
|
# go-fuse version according to git
|
2016-06-19 20:34:54 +02:00
|
|
|
GITVERSIONFUSE=$(
|
2016-06-29 22:27:32 +02:00
|
|
|
cd $GOPATH2/src/github.com/hanwen/go-fuse
|
2016-06-19 20:34:54 +02:00
|
|
|
SHORT=$(git rev-parse --short HEAD)
|
|
|
|
|
|
|
|
# Check if the tree is dirty, adapted from
|
|
|
|
# http://stackoverflow.com/a/2659808/1380267
|
|
|
|
if ! git diff-index --quiet HEAD; then
|
|
|
|
echo $SHORT-dirty
|
|
|
|
else
|
|
|
|
echo $SHORT
|
|
|
|
fi
|
|
|
|
)
|
2015-11-01 13:55:35 +01:00
|
|
|
|
2016-07-03 16:49:42 +02:00
|
|
|
# Build Unix timestamp, something like 1467554204.
|
|
|
|
BUILDTIME=$(date +%s)
|
|
|
|
|
2016-06-14 22:56:28 +02:00
|
|
|
# Make sure we have the go binary
|
|
|
|
go version > /dev/null
|
|
|
|
|
2016-06-19 19:33:15 +02:00
|
|
|
# "go version go1.6.2 linux/amd64" -> "1.6"
|
2015-12-20 17:30:10 +01:00
|
|
|
V=$(go version | cut -d" " -f3 | cut -c3-5)
|
|
|
|
|
|
|
|
if [ $V == "1.3" -o $V == "1.4" ]
|
|
|
|
then
|
2016-10-04 09:51:14 +02:00
|
|
|
go build -ldflags="-X main.GitVersion $GITVERSION -X main.GitVersionFuse $GITVERSIONFUSE -X main.BuildTime $BUILDTIME" $@
|
2015-12-20 17:30:10 +01:00
|
|
|
else
|
2015-12-20 17:44:11 +01:00
|
|
|
# Go 1.5 wants an "=" here
|
2016-10-04 09:51:14 +02:00
|
|
|
go build -ldflags="-X main.GitVersion=$GITVERSION -X main.GitVersionFuse=$GITVERSIONFUSE -X main.BuildTime=$BUILDTIME" $@
|
2015-12-20 17:30:10 +01:00
|
|
|
fi
|
xray: add "gocryptfs-xray", on-disk-format exploration tool
Example output for a file encrypted in reverse mode:
Header: Version: 2, Id: 0b7f5e2574e4afa859a9bb156a2e7772
Block 0: IV: 0b7f5e2574e4afa859a9bb156a2e7773, Tag: bf39279ac6b1ccd852567aaf26ee386b, Len: 4128
Block 1: IV: 0b7f5e2574e4afa859a9bb156a2e7774, Tag: a4f0f9cde7f70a752254aa8fe7718699, Len: 4128
Block 2: IV: 0b7f5e2574e4afa859a9bb156a2e7775, Tag: b467b153016fc1d531818b65ab9e24f6, Len: 4128
Block 3: IV: 0b7f5e2574e4afa859a9bb156a2e7776, Tag: 1fcb7ffd8f1816fbe807df8148718a5c, Len: 4128
Block 4: IV: 0b7f5e2574e4afa859a9bb156a2e7777, Tag: a217e7933ef434c9f03ad931bb5fde9b, Len: 4128
Block 5: IV: 0b7f5e2574e4afa859a9bb156a2e7778, Tag: f3e6240d75cd66371a0b301111d6f1fc, Len: 4128
Block 6: IV: 0b7f5e2574e4afa859a9bb156a2e7779, Tag: bc85d322ebc7761ae5ef114ea3903a56, Len: 4128
Block 7: IV: 0b7f5e2574e4afa859a9bb156a2e777a, Tag: efda01c6b794690f939a12d6d49ac3af, Len: 4128
Block 8: IV: 0b7f5e2574e4afa859a9bb156a2e777b, Tag: b198329d489d1392080f710206932ff0, Len: 2907
2016-09-25 11:11:20 +02:00
|
|
|
(cd gocryptfs-xray; go build)
|
2015-12-20 17:30:10 +01:00
|
|
|
|
|
|
|
./gocryptfs -version
|
2016-01-09 15:31:34 +01:00
|
|
|
|
2016-06-29 22:27:32 +02:00
|
|
|
mkdir -p $GOPATH2/bin
|
|
|
|
cp -af gocryptfs $GOPATH2/bin
|