This repository has been archived by the owner on Dec 13, 2018. It is now read-only.
Fix nsenter package on unsupported platforms. #596
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Commit 4d1d618 added this nsenter_unsupported.go file in order for nsenter to be a valid (but empty, non-functional) Go package on unsupported platforms. However, on such platforms, Go still complains because there exists a .c file in this folder, but the package doesn't use cgo.
Fix that by importing "C" pseudo-package.
I don't see any other ways of fixing this, since you can't add build tags to the .c file. But if someone has any additional thoughts here, please comment.
To illustrate the issue, if you are on OS X, which is an unsupported platform, and you do this innocent Go command to update the libcontainer package source to latest version (without building):
Also, if you do:
This patch fixes those issues. It should have no affect on platforms where nsenter is supported because I'm only making a change to the
nsenter_unsupported.go
file which is hidden behind// +build !linux !cgo
builds tags.