Fix the vendoring script on MacOS X

The version of sed on MacOS X is different then the one on linux. The mac version
requires a parameter for the inline (-i) flag, where this isn't required on linux.
On the mac it thinks the -e flag is the parameter, and it causes the vendoring script
to fail.

This fix adds an empty string '' as a parameter to sed, which works fine on both the
mac and linux versions.

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
This commit is contained in:
Ken Cochrane 2016-03-10 13:47:26 -05:00
parent 9ff7439162
commit 9488696814
1 changed files with 5 additions and 8 deletions

View File

@ -118,13 +118,6 @@ clean() {
-path vendor/src/github.com/mattn/go-sqlite3/code
)
# This package is required to build the Etcd client,
# but Etcd hard codes a local Godep full path.
# FIXME: fix_rewritten_imports fixes this problem in most platforms
# but it fails in very small corner cases where it makes the vendor
# script to remove this package.
# See: https://github.com/docker/docker/issues/19231
findArgs+=( -or -path vendor/src/github.com/ugorji/go/codec )
for import in "${imports[@]}"; do
[ "${#findArgs[@]}" -eq 0 ] || findArgs+=( -or )
findArgs+=( -path "vendor/src/$import" )
@ -141,6 +134,10 @@ clean() {
echo -n 'pruning unused files, '
$find vendor -type f -name '*_test.go' -exec rm -v '{}' ';'
# These are the files that are left over after fix_rewritten_imports is run.
echo -n 'pruning .orig files, '
$find vendor -type f -name '*.orig' -exec rm -v '{}' ';'
echo done
}
@ -151,5 +148,5 @@ fix_rewritten_imports () {
local target="vendor/src/$pkg"
echo "$pkg: fixing rewritten imports"
$find "$target" -name \*.go -exec sed -i -e "s|\"${remove}|\"|g" {} \;
$find "$target" -name \*.go -exec sed -i'.orig' -e "s|\"${remove}|\"|g" {} \;
}