-
Notifications
You must be signed in to change notification settings - Fork 10
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
vendoring in a go.mod world #142
Comments
I honestly haven't been following the Go community very actively recently either. I know rsc originally wanted to kill vendoring entirely, but was persuaded to step down slightly and make vendoring work only at the top level package (at least that's what the faq says).. that's actually why I didn't respond to your email and haven't double checked for other dependencies yet: I don't really know the implications or future of vendoring any more and don't want to commit to anything until I do. It looks like there's also a |
As a workaround, I wonder if putting libauth in the place where go build would normally fetch it would work. I'm assuming that dgit is being cloned and put somewhere during a step where the network is available and so libauth might be gettable the same way at the same time. I've been wondering about a packaging system on top of 9front for Go tools myself. I am still trying to figure out how to deal with the Go must be built with previous version of Go problem mixed with the trouble with trying to compile the last C source version of Go on Plan 9. |
@sirnewton01 we have solved that via the normal method. feel free to contact me via email, freenode or the 9fans discord for further information. |
So did |
i just tried it -
|
Can you pull the latest commit and try again? It looks like for >1.11 you might need to manage the directory using |
@driusan ok - it's working now, even with no network access.
this will be available in the 9front ports system. as an aside, it would be great to tag a release, even it's it's 0.0.1 or whatever. fixed in 8451bc2. |
The main reason I'm hesitant to tag a release is because I don't really know what effect that will have on go get when combined with go modules, and I don't want to lose the behaviour where it'll follow HEAD |
that's ok, the main reason i ask is because i added manifest generation and verification to ports very recently. the details are still being sussed out, but right now there's no opt-out (like gentoo's "live" ebuilds"), so if a port tracks an ever-changing tarball like a git repo's master (such as dgit), you'll get hash verification failure any time upstream changes. a release would let me be lazy and delay implementing opt-out ;-) but i can also pin a commit hash instead of using master. |
Would it help if I tagged a non-semanticly versioned release named something like "vbootstrap" that vgo wouldn't consider a valid version number? |
hi,
after our brief discussion over email, you vendored libauth. unfortunately, that didn't seem to convince go that it was actually vendored.
if you have go 1.11, and have a clean checkout of dgit, with NO $GOPATH set, and execute:
you will see that libauth is actually downloaded with a hg clone.
the context here is building dgit within a packaging system on 9front where network access is not allowed during the build step.
as i've been away from the go world for some time, i'm not familiar with any of this newfangled mod stuff, but i expect vendoring to work if there's a vendor directory.
any ideas?
The text was updated successfully, but these errors were encountered: