-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathupdate.sh
More file actions
executable file
·86 lines (70 loc) · 3.49 KB
/
update.sh
File metadata and controls
executable file
·86 lines (70 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh -e
project=github.com/couchbaselabs/cbfs
top=`go list -f '{{.Dir}}' $project`
version=`git describe`
DIST=$top/dist
testpkg() {
go test $project/...
go vet $project/...
}
buildcbfs() {
pkg=$project
goflags="-v -ldflags '-X main.VERSION $version'"
eval env GOARCH=386 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.lin32 $pkg &
eval env GOARCH=arm GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.arm $pkg &
eval env GOARCH=arm GOARM=5 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.arm5 $pkg &
eval env GOARCH=amd64 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.lin64 $pkg &
eval env GOARCH=amd64 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.fbsd $pkg &&
eval env GOARCH=386 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfs.fbsd32 $pkg &&
eval env GOARCH=386 GOOS=windows go build $goflags -o $DIST/cbfs.win32.exe $pkg &
eval env GOARCH=amd64 GOOS=windows go build $goflags -o $DIST/cbfs.win64.exe $pkg &
eval env GOARCH=amd64 GOOS=darwin go build $goflags -o $DIST/cbfs.mac $pkg &
wait
}
buildcbfsclient() {
pkg=$project/tools/cbfsclient
goflags="-v -ldflags '-X main.VERSION $version'"
eval env GOARCH=386 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.lin32 $pkg &
eval env GOARCH=arm GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.arm $pkg &
eval env GOARCH=arm GOARM=5 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.arm5 $pkg &
eval env GOARCH=amd64 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.lin64 $pkg &
eval env GOARCH=386 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.fbsd32 $pkg &&
eval env GOARCH=amd64 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfsclient.fbsd $pkg &&
eval env GOARCH=386 GOOS=windows go build $goflags -o $DIST/cbfsclient.win32.exe $pkg &
eval env GOARCH=amd64 GOOS=windows go build $goflags -o $DIST/cbfsclient.win64.exe $pkg &
eval env GOARCH=amd64 GOOS=darwin go build $goflags -o $DIST/cbfsclient.mac $pkg &
wait
}
buildcbfsadm() {
pkg=$project/tools/cbfsadm
goflags="-v -ldflags '-X main.VERSION $version'"
eval env GOARCH=386 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.lin32 $pkg &
eval env GOARCH=arm GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.arm $pkg &
eval env GOARCH=arm GOARM=5 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.arm5 $pkg &
eval env GOARCH=amd64 GOOS=linux CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.lin64 $pkg &
eval env GOARCH=amd64 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.fbsd $pkg &&
eval env GOARCH=386 GOOS=freebsd CGO_ENABLED=0 go build $goflags -o $DIST/cbfsadm.fbsd32 $pkg &&
eval env GOARCH=386 GOOS=windows go build $goflags -o $DIST/cbfsadm.win32.exe $pkg &
eval env GOARCH=amd64 GOOS=windows go build $goflags -o $DIST/cbfsadm.win64.exe $pkg &
eval env GOARCH=amd64 GOOS=darwin go build $goflags -o $DIST/cbfsadm.mac $pkg &
wait
}
compress() {
rm -f $DIST/cbfs.*.gz $DIST/cbfsclient.*.gz $DIST/cbfsadm.*.gz || true
for i in $DIST/cbfs.* $DIST/cbfsclient.* $DIST/cbfsadm.*
do
gzip -9v $i &
done
wait
}
upload() {
cbfsclient ${cbfsserver:-http://cbfs:8484/} upload \
-unsafe -ignore=$DIST/.cbfsclient.ignore -delete -v \
$DIST/ dist/
}
testpkg
buildcbfs
buildcbfsclient
buildcbfsadm
compress
upload