| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | set -e |
| |
|
| | TARBALL="$1" |
| | if [ -z $TARBALL ]; then |
| | echo "Usage: $0 <binary-tarball>" |
| | exit -1 |
| | fi |
| |
|
| | TAR='tar' |
| | unamestr=`uname` |
| | if [[ "$unamestr" == 'Linux' ]]; then |
| | TAR='tar --wildcards' |
| | fi |
| |
|
| | JARS=$(${TAR} -tf $TARBALL '*.jar' | sed 's!.*/!!' | sort) |
| |
|
| | LICENSEPATH=$(${TAR} -tf $TARBALL | awk '/^[^\/]*\/LICENSE/') |
| | LICENSE=$(${TAR} -O -xf $TARBALL "$LICENSEPATH") |
| | NOTICEPATH=$(${TAR} -tf $TARBALL | awk '/^[^\/]*\/NOTICE/') |
| | NOTICE=$(${TAR} -O -xf $TARBALL $NOTICEPATH) |
| | LICENSEJARS=$(echo "$LICENSE" | sed -nE 's!.*lib/(.*\.jar).*!\1!gp') |
| | NOTICEJARS=$(echo "$NOTICE" | sed -nE 's!.*lib/(.*\.jar).*!\1!gp') |
| |
|
| | LINKEDINLICENSE=$(echo "$LICENSE" | sed -nE 's!.*(deps/[[:graph:]]*).*!\1!gp' | sed 's!\.$!!') |
| |
|
| | |
| | set +e |
| |
|
| | |
| | BUNDLEDLICENSES=$(${TAR} -tf $TARBALL '*/deps/*' | sed 's!^[^/]*/!!' | grep -v /$) |
| |
|
| | EXIT=0 |
| |
|
| |
|
| | |
| | for J in $JARS; do |
| | echo $J | grep -q "org.apache.bookkeeper" |
| | if [ $? == 0 ]; then |
| | continue |
| | fi |
| |
|
| | echo $J | grep -q "org.apache.distributedlog" |
| | if [ $? == 0 ]; then |
| | continue |
| | fi |
| |
|
| | echo $J | grep -q "bookkeeper-dist-server" |
| | if [ $? == 0 ]; then |
| | continue |
| | fi |
| |
|
| | echo $J | grep -q "bookkeeper-dist-all" |
| | if [ $? == 0 ]; then |
| | continue |
| | fi |
| |
|
| | echo $J | grep -q "bookkeeper-dist-bkctl" |
| | if [ $? == 0 ]; then |
| | continue |
| | fi |
| |
|
| | echo "$LICENSE" | grep -q $J |
| | if [ $? != 0 ]; then |
| | echo $J unaccounted for in LICENSE |
| | EXIT=1 |
| | fi |
| | done |
| |
|
| | |
| | for J in $LICENSEJARS; do |
| | echo "$JARS" | grep -q $J |
| | if [ $? != 0 ]; then |
| | echo $J mentioned in LICENSE, but not bundled |
| | EXIT=2 |
| | fi |
| | done |
| |
|
| | |
| | for J in $NOTICEJARS; do |
| | echo "$JARS" | grep -q $J |
| | if [ $? != 0 ]; then |
| | echo $J mentioned in NOTICE, but not bundled |
| | EXIT=3 |
| | fi |
| | done |
| |
|
| | |
| | for L in $LINKEDINLICENSE; do |
| | echo "$BUNDLEDLICENSES" | grep -q $L |
| | if [ $? != 0 ]; then |
| | echo $L linked from LICENSE, but not found in tarball |
| | EXIT=4 |
| | fi |
| | done |
| |
|
| | |
| | for L in $BUNDLEDLICENSES; do |
| | echo "$LINKEDINLICENSE" | grep -q $L |
| | if [ $? != 0 ]; then |
| | echo $L bundled, but not linked from LICENSE |
| | EXIT=5 |
| | fi |
| | done |
| |
|
| | if [ $EXIT != 0 ]; then |
| | echo |
| | echo It looks like there are issues with the LICENSE/NOTICE in $TARBALL. |
| | echo See https://bookkeeper.apache.org/community/licensing for details on how to fix. |
| | fi |
| |
|
| | exit $EXIT |
| |
|
| |
|