Updated build script to make reproducible builds
* fixed mk-rel.sh; put all release artifiacts in releases/ dir * updated vt-proto dependencies
This commit is contained in:
parent
2e6d92c753
commit
fc94d7cd7d
7 changed files with 79 additions and 165 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -31,4 +31,4 @@ sigtool
|
||||||
*.pub
|
*.pub
|
||||||
*.key
|
*.key
|
||||||
*.sig
|
*.sig
|
||||||
|
releases/*
|
||||||
|
|
41
build
41
build
|
@ -19,6 +19,7 @@ Progs="src:sigtool"
|
||||||
# e.g. src/foo/a.proto
|
# e.g. src/foo/a.proto
|
||||||
Protobufs="internal/pb/hdr.proto"
|
Protobufs="internal/pb/hdr.proto"
|
||||||
|
|
||||||
|
#set -x
|
||||||
|
|
||||||
# -- DO NOT CHANGE ANYTHING AFTER THIS --
|
# -- DO NOT CHANGE ANYTHING AFTER THIS --
|
||||||
|
|
||||||
|
@ -31,6 +32,7 @@ Prodver=""
|
||||||
Repover=""
|
Repover=""
|
||||||
Verbose=0
|
Verbose=0
|
||||||
Go=`which go`
|
Go=`which go`
|
||||||
|
Bindir=$PWD/bin
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
echo "$Z: $@" 1>&2
|
echo "$Z: $@" 1>&2
|
||||||
|
@ -51,8 +53,14 @@ esac
|
||||||
getvcs_version() {
|
getvcs_version() {
|
||||||
local rev=
|
local rev=
|
||||||
local prodv=
|
local prodv=
|
||||||
|
local git=`which git`
|
||||||
|
local hg=`which hg`
|
||||||
|
|
||||||
if [ -d "./.hg" ]; then
|
if [ -n "$git" ]; then
|
||||||
|
local xrev=$(git describe --always --dirty --long --abbrev=12) || exit 1
|
||||||
|
rev="git:$xrev"
|
||||||
|
prodv=$(git tag --list | sort -V | tail -1)
|
||||||
|
elif [ -n "$hg" ]; then
|
||||||
local xrev=$(hg id --id) || exit 1
|
local xrev=$(hg id --id) || exit 1
|
||||||
local brev=${xrev%+}
|
local brev=${xrev%+}
|
||||||
if [ "$brev" != "$xrev" ]; then
|
if [ "$brev" != "$xrev" ]; then
|
||||||
|
@ -61,13 +69,9 @@ getvcs_version() {
|
||||||
rev="hg:${brev}"
|
rev="hg:${brev}"
|
||||||
fi
|
fi
|
||||||
prodv=$(hg log -r "branch(stable) and tag()" -T "{tags}\n" | sort -V | tail -1)
|
prodv=$(hg log -r "branch(stable) and tag()" -T "{tags}\n" | sort -V | tail -1)
|
||||||
elif [ -d "./.git" ]; then
|
|
||||||
local xrev=$(git describe --always --dirty --long --abbrev=12) || exit 1
|
|
||||||
rev="git:$xrev"
|
|
||||||
prodv=$(git tag --list | sort -V | tail -1)
|
|
||||||
else
|
else
|
||||||
|
warn "no git or hg found; can't get VCS info"
|
||||||
rev="UNKNOWN-VER"
|
rev="UNKNOWN-VER"
|
||||||
warn "Can't find version info"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$Prodver" ] && prodv=$Prodver
|
[ -n "$Prodver" ] && prodv=$Prodver
|
||||||
|
@ -96,8 +100,6 @@ $0 - A Go production build tool that adds git-repository information,
|
||||||
product version, build-timestamp etc. It supports cross-compilation,
|
product version, build-timestamp etc. It supports cross-compilation,
|
||||||
static linking and generating protobuf output.
|
static linking and generating protobuf output.
|
||||||
|
|
||||||
If needed, it uses the gogo-slick protobuf compiler [github.com/gogo/protobuf].
|
|
||||||
|
|
||||||
Build output is in bin/\$OS-\$CPU for a given OS, CPU combination.
|
Build output is in bin/\$OS-\$CPU for a given OS, CPU combination.
|
||||||
|
|
||||||
Usage: $0
|
Usage: $0
|
||||||
|
@ -109,10 +111,11 @@ And, PROGS is one or more go programs.
|
||||||
With no arguments, $0 builds: $pstr
|
With no arguments, $0 builds: $pstr
|
||||||
|
|
||||||
The repository's latest tag is used as the default version of the software being
|
The repository's latest tag is used as the default version of the software being
|
||||||
built.
|
built. The current repository version is $Repover.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-h, --help Show this help message and quit
|
-h, --help Show this help message and quit
|
||||||
|
-b D, --bindir=D Put the binaries in the directory 'D' [$Bindir]
|
||||||
-s, --static Build a statically linked binary [False]
|
-s, --static Build a statically linked binary [False]
|
||||||
-V N, --version=N Use 'N' as the product version string [$Prodver]
|
-V N, --version=N Use 'N' as the product version string [$Prodver]
|
||||||
-a X, --arch=X Cross compile for OS-CPU 'X' [$hostos-$hostcpu]
|
-a X, --arch=X Cross compile for OS-CPU 'X' [$hostos-$hostcpu]
|
||||||
|
@ -195,6 +198,14 @@ do
|
||||||
ac_prev=Arch
|
ac_prev=Arch
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
-b|--bindir)
|
||||||
|
ac_prev=Bindir
|
||||||
|
;;
|
||||||
|
|
||||||
|
--bindir=*)
|
||||||
|
Bindir=$ac_optarg
|
||||||
|
;;
|
||||||
|
|
||||||
--version=*)
|
--version=*)
|
||||||
Prodver=$ac_optarg
|
Prodver=$ac_optarg
|
||||||
;;
|
;;
|
||||||
|
@ -376,11 +387,11 @@ fi
|
||||||
|
|
||||||
|
|
||||||
# This is where build outputs go
|
# This is where build outputs go
|
||||||
Bindir=$PWD/bin/$cross
|
Outdir=$Bindir/$cross
|
||||||
Hostbindir=$PWD/bin/$hostos-$hostcpu
|
Hostbindir=$Bindir/$hostos-$hostcpu
|
||||||
export PATH=$Hostbindir:$PATH
|
export PATH=$Hostbindir:$PATH
|
||||||
|
|
||||||
[ -d $Bindir ] || mkdir -p $Bindir
|
[ -d $Outdir ] || mkdir -p $Outdir
|
||||||
[ -d $Hostbindir ] || mkdir -p $Hostbindir
|
[ -d $Hostbindir ] || mkdir -p $Hostbindir
|
||||||
|
|
||||||
|
|
||||||
|
@ -395,7 +406,7 @@ fi
|
||||||
repover="main.RepoVersion=$Repover"
|
repover="main.RepoVersion=$Repover"
|
||||||
prodver="main.ProductVersion=$Prodver"
|
prodver="main.ProductVersion=$Prodver"
|
||||||
date="main.Buildtime=`date -u '+%Y-%m-%dT%H:%M.%SZ'`"
|
date="main.Buildtime=`date -u '+%Y-%m-%dT%H:%M.%SZ'`"
|
||||||
ldflags="-ldflags \"-X $repover -X $prodver -X $date $ldflags\""
|
ldflags="-ldflags \"-X $repover -X $prodver -X $date $ldflags -buildid=\""
|
||||||
vflag=""
|
vflag=""
|
||||||
|
|
||||||
[ $Verbose -gt 0 ] && vflag="-v"
|
[ $Verbose -gt 0 ] && vflag="-v"
|
||||||
|
@ -424,6 +435,8 @@ case $Tool in
|
||||||
all="$@"
|
all="$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ -z "$all" ] && die "No programs specified. Try '$Z --help'"
|
||||||
|
|
||||||
echo "Building $Prodver ($Repover), $cross $msg .."
|
echo "Building $Prodver ($Repover), $cross $msg .."
|
||||||
|
|
||||||
for p in $all; do
|
for p in $all; do
|
||||||
|
@ -442,7 +455,7 @@ case $Tool in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo " $dir: $out .. "
|
echo " $dir: $out .. "
|
||||||
$e eval $Go build $vflag -o $Bindir/$out $isuffix "$ldflags" ./$dir || exit 1
|
$e eval $Go build $vflag -trimpath -o $Outdir/$out $isuffix "$ldflags" ./$dir || exit 1
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
1
go.mod
1
go.mod
|
@ -7,6 +7,7 @@ require (
|
||||||
github.com/opencoff/go-mmap v0.1.2
|
github.com/opencoff/go-mmap v0.1.2
|
||||||
github.com/opencoff/go-utils v0.9.3
|
github.com/opencoff/go-utils v0.9.3
|
||||||
github.com/opencoff/pflag v1.0.6-sh1
|
github.com/opencoff/pflag v1.0.6-sh1
|
||||||
|
github.com/planetscale/vtprotobuf v0.6.0
|
||||||
golang.org/x/crypto v0.21.0
|
golang.org/x/crypto v0.21.0
|
||||||
google.golang.org/protobuf v1.33.0
|
google.golang.org/protobuf v1.33.0
|
||||||
gopkg.in/yaml.v2 v2.4.0
|
gopkg.in/yaml.v2 v2.4.0
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -8,6 +8,8 @@ github.com/opencoff/go-utils v0.9.3 h1:Gdx1uB6QZ9/8FNU4h+94xGJ+onu8bQLRE4gyKRrrD
|
||||||
github.com/opencoff/go-utils v0.9.3/go.mod h1:nNx572v21m3AkY9JomSXUG8iruY56Fm2zceNKNJDJaU=
|
github.com/opencoff/go-utils v0.9.3/go.mod h1:nNx572v21m3AkY9JomSXUG8iruY56Fm2zceNKNJDJaU=
|
||||||
github.com/opencoff/pflag v1.0.6-sh1 h1:6RO8GgnpH928yu6earGDD01FnFT//bDJ1hCovcVVqY4=
|
github.com/opencoff/pflag v1.0.6-sh1 h1:6RO8GgnpH928yu6earGDD01FnFT//bDJ1hCovcVVqY4=
|
||||||
github.com/opencoff/pflag v1.0.6-sh1/go.mod h1:2bXtpAD/5h/2LarkbsRwiUxqnvB1nZBzn9Xjad1P41A=
|
github.com/opencoff/pflag v1.0.6-sh1/go.mod h1:2bXtpAD/5h/2LarkbsRwiUxqnvB1nZBzn9Xjad1P41A=
|
||||||
|
github.com/planetscale/vtprotobuf v0.6.0 h1:nBeETjudeJ5ZgBHUz1fVHvbqUKnYOXNhsIEabROxmNA=
|
||||||
|
github.com/planetscale/vtprotobuf v0.6.0/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
|
||||||
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
||||||
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
||||||
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.1
|
// protoc-gen-go v1.32.0
|
||||||
// protoc v3.21.12
|
// protoc v3.21.12
|
||||||
// source: internal/pb/hdr.proto
|
// source: internal/pb/hdr.proto
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
|
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
|
||||||
// protoc-gen-go-vtproto version: v0.5.0
|
// protoc-gen-go-vtproto version: v0.6.0
|
||||||
// source: internal/pb/hdr.proto
|
// source: internal/pb/hdr.proto
|
||||||
|
|
||||||
package pb
|
package pb
|
||||||
|
|
||||||
import (
|
import (
|
||||||
fmt "fmt"
|
fmt "fmt"
|
||||||
|
protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
io "io"
|
io "io"
|
||||||
bits "math/bits"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -55,7 +55,7 @@ func (m *Header) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
i -= size
|
i -= size
|
||||||
i = encodeVarint(dAtA, i, uint64(size))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x2a
|
dAtA[i] = 0x2a
|
||||||
}
|
}
|
||||||
|
@ -63,26 +63,26 @@ func (m *Header) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
|
||||||
if len(m.Sender) > 0 {
|
if len(m.Sender) > 0 {
|
||||||
i -= len(m.Sender)
|
i -= len(m.Sender)
|
||||||
copy(dAtA[i:], m.Sender)
|
copy(dAtA[i:], m.Sender)
|
||||||
i = encodeVarint(dAtA, i, uint64(len(m.Sender)))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sender)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x22
|
dAtA[i] = 0x22
|
||||||
}
|
}
|
||||||
if len(m.Pk) > 0 {
|
if len(m.Pk) > 0 {
|
||||||
i -= len(m.Pk)
|
i -= len(m.Pk)
|
||||||
copy(dAtA[i:], m.Pk)
|
copy(dAtA[i:], m.Pk)
|
||||||
i = encodeVarint(dAtA, i, uint64(len(m.Pk)))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Pk)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x1a
|
dAtA[i] = 0x1a
|
||||||
}
|
}
|
||||||
if len(m.Salt) > 0 {
|
if len(m.Salt) > 0 {
|
||||||
i -= len(m.Salt)
|
i -= len(m.Salt)
|
||||||
copy(dAtA[i:], m.Salt)
|
copy(dAtA[i:], m.Salt)
|
||||||
i = encodeVarint(dAtA, i, uint64(len(m.Salt)))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Salt)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x12
|
||||||
}
|
}
|
||||||
if m.ChunkSize != 0 {
|
if m.ChunkSize != 0 {
|
||||||
i = encodeVarint(dAtA, i, uint64(m.ChunkSize))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChunkSize))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x8
|
dAtA[i] = 0x8
|
||||||
}
|
}
|
||||||
|
@ -122,31 +122,20 @@ func (m *WrappedKey) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
|
||||||
if len(m.Nonce) > 0 {
|
if len(m.Nonce) > 0 {
|
||||||
i -= len(m.Nonce)
|
i -= len(m.Nonce)
|
||||||
copy(dAtA[i:], m.Nonce)
|
copy(dAtA[i:], m.Nonce)
|
||||||
i = encodeVarint(dAtA, i, uint64(len(m.Nonce)))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Nonce)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x12
|
||||||
}
|
}
|
||||||
if len(m.DKey) > 0 {
|
if len(m.DKey) > 0 {
|
||||||
i -= len(m.DKey)
|
i -= len(m.DKey)
|
||||||
copy(dAtA[i:], m.DKey)
|
copy(dAtA[i:], m.DKey)
|
||||||
i = encodeVarint(dAtA, i, uint64(len(m.DKey)))
|
i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DKey)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
}
|
}
|
||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func encodeVarint(dAtA []byte, offset int, v uint64) int {
|
|
||||||
offset -= sov(v)
|
|
||||||
base := offset
|
|
||||||
for v >= 1<<7 {
|
|
||||||
dAtA[offset] = uint8(v&0x7f | 0x80)
|
|
||||||
v >>= 7
|
|
||||||
offset++
|
|
||||||
}
|
|
||||||
dAtA[offset] = uint8(v)
|
|
||||||
return base
|
|
||||||
}
|
|
||||||
func (m *Header) SizeVT() (n int) {
|
func (m *Header) SizeVT() (n int) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
return 0
|
return 0
|
||||||
|
@ -154,24 +143,24 @@ func (m *Header) SizeVT() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if m.ChunkSize != 0 {
|
if m.ChunkSize != 0 {
|
||||||
n += 1 + sov(uint64(m.ChunkSize))
|
n += 1 + protohelpers.SizeOfVarint(uint64(m.ChunkSize))
|
||||||
}
|
}
|
||||||
l = len(m.Salt)
|
l = len(m.Salt)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
l = len(m.Pk)
|
l = len(m.Pk)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
l = len(m.Sender)
|
l = len(m.Sender)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
if len(m.Keys) > 0 {
|
if len(m.Keys) > 0 {
|
||||||
for _, e := range m.Keys {
|
for _, e := range m.Keys {
|
||||||
l = e.SizeVT()
|
l = e.SizeVT()
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
n += len(m.unknownFields)
|
n += len(m.unknownFields)
|
||||||
|
@ -186,22 +175,16 @@ func (m *WrappedKey) SizeVT() (n int) {
|
||||||
_ = l
|
_ = l
|
||||||
l = len(m.DKey)
|
l = len(m.DKey)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
l = len(m.Nonce)
|
l = len(m.Nonce)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sov(uint64(l))
|
n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
|
||||||
}
|
}
|
||||||
n += len(m.unknownFields)
|
n += len(m.unknownFields)
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func sov(x uint64) (n int) {
|
|
||||||
return (bits.Len64(x|1) + 6) / 7
|
|
||||||
}
|
|
||||||
func soz(x uint64) (n int) {
|
|
||||||
return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
|
||||||
}
|
|
||||||
func (m *Header) UnmarshalVT(dAtA []byte) error {
|
func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -210,7 +193,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
var wire uint64
|
var wire uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -238,7 +221,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
m.ChunkSize = 0
|
m.ChunkSize = 0
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -257,7 +240,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
var byteLen int
|
var byteLen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -270,11 +253,11 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if byteLen < 0 {
|
if byteLen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + byteLen
|
postIndex := iNdEx + byteLen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -291,7 +274,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
var byteLen int
|
var byteLen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -304,11 +287,11 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if byteLen < 0 {
|
if byteLen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + byteLen
|
postIndex := iNdEx + byteLen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -325,7 +308,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
var byteLen int
|
var byteLen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -338,11 +321,11 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if byteLen < 0 {
|
if byteLen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + byteLen
|
postIndex := iNdEx + byteLen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -359,7 +342,7 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
var msglen int
|
var msglen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -372,11 +355,11 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if msglen < 0 {
|
if msglen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + msglen
|
postIndex := iNdEx + msglen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -388,12 +371,12 @@ func (m *Header) UnmarshalVT(dAtA []byte) error {
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skip(dAtA[iNdEx:])
|
skippy, err := protohelpers.Skip(dAtA[iNdEx:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if (iNdEx + skippy) > l {
|
if (iNdEx + skippy) > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -416,7 +399,7 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
var wire uint64
|
var wire uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -444,7 +427,7 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
var byteLen int
|
var byteLen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -457,11 +440,11 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if byteLen < 0 {
|
if byteLen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + byteLen
|
postIndex := iNdEx + byteLen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -478,7 +461,7 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
var byteLen int
|
var byteLen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflow
|
return protohelpers.ErrIntOverflow
|
||||||
}
|
}
|
||||||
if iNdEx >= l {
|
if iNdEx >= l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -491,11 +474,11 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if byteLen < 0 {
|
if byteLen < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + byteLen
|
postIndex := iNdEx + byteLen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -507,12 +490,12 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skip(dAtA[iNdEx:])
|
skippy, err := protohelpers.Skip(dAtA[iNdEx:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
return ErrInvalidLength
|
return protohelpers.ErrInvalidLength
|
||||||
}
|
}
|
||||||
if (iNdEx + skippy) > l {
|
if (iNdEx + skippy) > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
|
@ -527,88 +510,3 @@ func (m *WrappedKey) UnmarshalVT(dAtA []byte) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func skip(dAtA []byte) (n int, err error) {
|
|
||||||
l := len(dAtA)
|
|
||||||
iNdEx := 0
|
|
||||||
depth := 0
|
|
||||||
for iNdEx < l {
|
|
||||||
var wire uint64
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return 0, ErrIntOverflow
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return 0, io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
wire |= (uint64(b) & 0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
wireType := int(wire & 0x7)
|
|
||||||
switch wireType {
|
|
||||||
case 0:
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return 0, ErrIntOverflow
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return 0, io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
iNdEx++
|
|
||||||
if dAtA[iNdEx-1] < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 1:
|
|
||||||
iNdEx += 8
|
|
||||||
case 2:
|
|
||||||
var length int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return 0, ErrIntOverflow
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return 0, io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
length |= (int(b) & 0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if length < 0 {
|
|
||||||
return 0, ErrInvalidLength
|
|
||||||
}
|
|
||||||
iNdEx += length
|
|
||||||
case 3:
|
|
||||||
depth++
|
|
||||||
case 4:
|
|
||||||
if depth == 0 {
|
|
||||||
return 0, ErrUnexpectedEndOfGroup
|
|
||||||
}
|
|
||||||
depth--
|
|
||||||
case 5:
|
|
||||||
iNdEx += 4
|
|
||||||
default:
|
|
||||||
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
|
|
||||||
}
|
|
||||||
if iNdEx < 0 {
|
|
||||||
return 0, ErrInvalidLength
|
|
||||||
}
|
|
||||||
if depth == 0 {
|
|
||||||
return iNdEx, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0, io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
|
|
||||||
ErrIntOverflow = fmt.Errorf("proto: integer overflow")
|
|
||||||
ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
|
|
||||||
)
|
|
||||||
|
|
12
mk-rel.sh
Normal file → Executable file
12
mk-rel.sh
Normal file → Executable file
|
@ -3,7 +3,7 @@
|
||||||
Z=`basename $0`
|
Z=`basename $0`
|
||||||
die() {
|
die() {
|
||||||
echo "$Z: $@" 1>&2
|
echo "$Z: $@" 1>&2
|
||||||
exit 0
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
warn() {
|
warn() {
|
||||||
|
@ -18,6 +18,8 @@ case $BASH_VERSION in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
Rel=$PWD/releases
|
Rel=$PWD/releases
|
||||||
|
Bindir=$Rel/bin
|
||||||
|
mkdir -p $Bindir || die "can't make $Bindir"
|
||||||
|
|
||||||
pkgit() {
|
pkgit() {
|
||||||
local os=$1
|
local os=$1
|
||||||
|
@ -25,28 +27,26 @@ pkgit() {
|
||||||
local rev=$3
|
local rev=$3
|
||||||
local arch="$os-$cpu"
|
local arch="$os-$cpu"
|
||||||
local tgz="$Rel/sigtool-${rev}_${arch}.tar.gz"
|
local tgz="$Rel/sigtool-${rev}_${arch}.tar.gz"
|
||||||
local bindir=./bin/$arch
|
local bindir=$Bindir/$arch
|
||||||
local bin=sigtool
|
local bin=sigtool
|
||||||
|
|
||||||
if [ "$os" = "windows" ]; then
|
if [ "$os" = "windows" ]; then
|
||||||
bin=${bin}.exe
|
bin=${bin}.exe
|
||||||
fi
|
fi
|
||||||
|
|
||||||
./build -V $rev -s -a $arch || die "can't build $arch"
|
./build -V $rev -b $Bindir -s -a $arch || die "can't build $arch"
|
||||||
(cd $bindir && tar cf - $bin) | gzip -9 > $tgz || die "can't tar $tgz"
|
(cd $bindir && tar cf - $bin) | gzip -9 > $tgz || die "can't tar $tgz"
|
||||||
}
|
}
|
||||||
|
|
||||||
xrev=$(git describe --always --dirty --abbrev=12) || exit 1
|
xrev=$(git describe --always --dirty --abbrev=12) || exit 1
|
||||||
if echo $xrev | grep -q dirty; then
|
if echo $xrev | grep -q dirty; then
|
||||||
#die "won't build releases; repo dirty!"
|
die "won't build releases; repo dirty!"
|
||||||
true
|
true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
os="linux windows openbsd darwin"
|
os="linux windows openbsd darwin"
|
||||||
arch="amd64 arm64"
|
arch="amd64 arm64"
|
||||||
|
|
||||||
mkdir -p $Rel
|
|
||||||
|
|
||||||
for xx in $os; do
|
for xx in $os; do
|
||||||
for yy in $arch; do
|
for yy in $arch; do
|
||||||
pkgit $xx $yy $xrev
|
pkgit $xx $yy $xrev
|
||||||
|
|
Loading…
Add table
Reference in a new issue