-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: added build script #293
base: master
Are you sure you want to change the base?
build: added build script #293
Conversation
a90e4d5
to
e679f9d
Compare
sorry, I'm just not a fan of all this vendoring.... |
@miekg it actually helps users to build go apps without downloading dependencies every time. also it pins package versions. I had to spend quite a lot of time to configure/get all these dependencies until I was able to build a skydns binary. |
e679f9d
to
77db949
Compare
@miekg updated commit, added test script and fixed tests. |
77db949
to
83299e8
Compare
Sorry, but I'm not ready to vendor and then having to update all these I'm also not sure why a build script is needed and why go get is On 22 Aug 2016 10:18 pm, "kayrus" [email protected] wrote:
|
|
Just did:
I'm not ready to start vendoring as I'm then forced to update them every so often. Yes the downside is that the build can and will break. |
@miekg you already have a GOPATH and a structure of GOROOT. I told you about "clean" machine. I.e. Clean cloud image of ubuntu xenial: $ sudo apt-get install golang -y
$ git clone https://github.com/skynetservices/skydns
$ cd skydns
$ go get -u
package _/home/ubuntu/skydns: unrecognized import path "_/home/ubuntu/skydns" (import path does not begin with hostname)
$ go build
main.go:25:2: cannot find package "github.com/coreos/etcd/client" in any of:
/usr/lib/go-1.6/src/github.com/coreos/etcd/client (from $GOROOT)
($GOPATH not set)
main.go:26:2: cannot find package "github.com/coreos/etcd/pkg/transport" in any of:
/usr/lib/go-1.6/src/github.com/coreos/etcd/pkg/transport (from $GOROOT)
($GOPATH not set)
main.go:27:2: cannot find package "github.com/miekg/dns" in any of:
/usr/lib/go-1.6/src/github.com/miekg/dns (from $GOROOT)
($GOPATH not set)
main.go:20:2: cannot find package "github.com/skynetservices/skydns/backends/etcd" in any of:
/usr/lib/go-1.6/src/github.com/skynetservices/skydns/backends/etcd (from $GOROOT)
($GOPATH not set)
main.go:21:2: cannot find package "github.com/skynetservices/skydns/metrics" in any of:
/usr/lib/go-1.6/src/github.com/skynetservices/skydns/metrics (from $GOROOT)
($GOPATH not set)
main.go:22:2: cannot find package "github.com/skynetservices/skydns/msg" in any of:
/usr/lib/go-1.6/src/github.com/skynetservices/skydns/msg (from $GOROOT)
($GOPATH not set)
main.go:23:2: cannot find package "github.com/skynetservices/skydns/server" in any of:
/usr/lib/go-1.6/src/github.com/skynetservices/skydns/server (from $GOROOT)
($GOPATH not set)
main.go:28:2: cannot find package "golang.org/x/net/context" in any of:
/usr/lib/go-1.6/src/golang.org/x/net/context (from $GOROOT)
($GOPATH not set) Here is my branch with the build script: $ ./scripts/build
$ ./skydns --version
skydns server version: 2.5.3a |
[ Quoting [email protected] in "Re: [skynetservices/skydns] build: ..." ]
Ack, but I don't want to maintain such a script. This is more akin to setting up |
@miekg well, I don't know what can I say. Just imagine opensource world without |
+1 for this. if you don't wish to vendor the dependencies, at least use https://github.com/Masterminds/glide to create a version lockfile for the dependencies. this way, it makes packaging easy because all dependencies and their versions can be listed in one place. |
[ Quoting [email protected] in "Re: [skynetservices/skydns] build: ..." ]
That's one of the first not bat-shit-crazy vendoring tools I've come across.
Miek Gieben |
|
Note that CoreDNS (coredns.io) should be able to give you a similar experience to SkyDNS and it waaay more actively maintained. |
Build script should build skydns on any host which has go 1.5+ binary.
Also added
scripts/updatedep
script which updates vendor dependencies using glide.