mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
5791019028
It was suggested that we use '.*\(COPYING\|LICENSE\|COPYRIGHT\).*' as an argument to `find -iregex`, and this is how it all started. Next thing, there is no COPYRIGHT in any of the vendored packages, so it can be removed for good. Next, we should not look too deep inside the package directory, as the license should be in its root directory, so add `-maxdepth 1` to `find`. This should also speed things up. Finally, since we're not using the recursion feature of `find`, it can be replaced with `echo | grep`. While at it, * avoid temporary $pkgs variable as it is only used once; * replace `ls -d "vendor/$f" > /dev/null 2>&1` with `test -d`. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
54 lines
1.4 KiB
Bash
Executable file
54 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
source "${SCRIPTDIR}/.validate"
|
|
|
|
validate_vendor_diff(){
|
|
IFS=$'\n'
|
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'vendor.conf' 'vendor/' || true) )
|
|
unset IFS
|
|
|
|
if [ ${#files[@]} -gt 0 ]; then
|
|
# recreate vendor/
|
|
vndr
|
|
# check if any files have changed
|
|
diffs="$(git status --porcelain -- vendor 2>/dev/null)"
|
|
mfiles="$(echo "$diffs" | awk '/^ M / {print $2}')"
|
|
if [ "$diffs" ]; then
|
|
{
|
|
echo 'The result of vndr differs'
|
|
echo
|
|
echo "$diffs"
|
|
echo
|
|
echo 'Please vendor your package with github.com/LK4D4/vndr.'
|
|
echo
|
|
if [ -n "$mfiles" ] ; then
|
|
git diff -- "$mfiles"
|
|
fi
|
|
} >&2
|
|
false
|
|
else
|
|
echo 'Congratulations! All vendoring changes are done the right way.'
|
|
fi
|
|
else
|
|
echo 'No vendor changes in diff.'
|
|
fi
|
|
}
|
|
|
|
# 1. make sure all the vendored packages are used
|
|
# 2. make sure all the packages contain license information (just warning, because it can cause false-positive)
|
|
validate_vendor_used() {
|
|
for f in $(mawk '/^[a-zA-Z0-9]/ { print $1 }' vendor.conf); do
|
|
if [ -d "vendor/$f" ]; then
|
|
found=$(echo "vendor/$f/"* | grep -iEc '/(LICENSE|COPYING)')
|
|
if [ "$found" -eq 0 ]; then
|
|
echo "WARNING: could not find copyright information for $f"
|
|
fi
|
|
else
|
|
echo "WARNING: $f is vendored but unused"
|
|
fi
|
|
done
|
|
}
|
|
|
|
validate_vendor_diff
|
|
validate_vendor_used
|