2020-05-11 01:53:38 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2022-06-21 21:11:04 +00:00
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
2022-06-21 21:46:38 +00:00
|
|
|
# use GNU versions, their presence is ensured in cmake/tools.cmake
|
2022-06-21 21:11:04 +00:00
|
|
|
GREP_CMD=ggrep
|
|
|
|
FIND_CMD=gfind
|
|
|
|
else
|
|
|
|
FIND_CMD=find
|
2022-06-22 09:21:12 +00:00
|
|
|
GREP_CMD=grep
|
2022-06-21 21:11:04 +00:00
|
|
|
fi
|
|
|
|
|
2020-05-11 01:53:38 +00:00
|
|
|
ROOT_PATH="$(git rev-parse --show-toplevel)"
|
|
|
|
LIBS_PATH="${ROOT_PATH}/contrib"
|
|
|
|
|
2022-06-21 21:11:04 +00:00
|
|
|
ls -1 -d ${LIBS_PATH}/*/ | ${GREP_CMD} -F -v -- '-cmake' | LC_ALL=C sort | while read LIB; do
|
2020-05-11 01:53:38 +00:00
|
|
|
LIB_NAME=$(basename $LIB)
|
|
|
|
|
|
|
|
LIB_LICENSE=$(
|
2022-06-21 21:11:04 +00:00
|
|
|
LC_ALL=C ${FIND_CMD} "$LIB" -type f -and '(' -iname 'LICENSE*' -or -iname 'COPYING*' -or -iname 'COPYRIGHT*' ')' -and -not '(' -iname '*.html' -or -iname '*.htm' -or -iname '*.rtf' -or -name '*.cpp' -or -name '*.h' -or -iname '*.json' ')' -printf "%d\t%p\n" |
|
2021-11-26 02:58:43 +00:00
|
|
|
LC_ALL=C sort | LC_ALL=C awk '
|
2020-05-11 01:53:38 +00:00
|
|
|
BEGIN { IGNORECASE=1; min_depth = 0 }
|
|
|
|
/LICENSE/ { if (!min_depth || $1 <= min_depth) { min_depth = $1; license = $2 } }
|
|
|
|
/COPY/ { if (!min_depth || $1 <= min_depth) { min_depth = $1; copying = $2 } }
|
|
|
|
END { if (license) { print license } else { print copying } }')
|
|
|
|
|
|
|
|
if [ -n "$LIB_LICENSE" ]; then
|
|
|
|
|
|
|
|
LICENSE_TYPE=$(
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -F 'Apache' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "Apache") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -F 'Boost' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "Boost") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -P 'public\s*domain' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "Public Domain") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -F 'BSD' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "BSD") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -F 'Lesser General Public License' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "LGPL") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'The origin of this software must not be misrepresented' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'Altered source versions must be plainly marked as such' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'This notice may not be removed or altered' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "zLib") ||
|
2023-05-03 01:12:53 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'This program, "bzip2", the associated library "libbzip2"' "$LIB_LICENSE" &&
|
|
|
|
echo "bzip2") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'Permission is hereby granted, free of charge, to any person' "$LIB_LICENSE" &&
|
2023-05-03 01:12:53 +00:00
|
|
|
${GREP_CMD} -q -i -F 'The above copyright notice and this permission notice shall be' "$LIB_LICENSE" &&
|
2022-06-21 21:11:04 +00:00
|
|
|
${GREP_CMD} -q -i -F 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "MIT") ||
|
2023-05-03 01:12:53 +00:00
|
|
|
(${GREP_CMD} -q -F 'PostgreSQL' "$LIB_LICENSE" &&
|
|
|
|
echo "PostgreSQL") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'Permission to use, copy, modify, and distribute this software for any purpose' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'the name of a copyright holder shall not' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "MIT/curl") ||
|
2023-05-03 01:12:53 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'OpenLDAP Public License' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'Version 2.8' "$LIB_LICENSE" &&
|
|
|
|
echo "OpenLDAP Version 2.8") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'Redistributions of source code must retain the above copyright' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'Redistributions in binary form must reproduce' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'Neither the name' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "BSD 3-clause") ||
|
2022-06-21 21:11:04 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'Redistributions of source code must retain the above copyright' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'Redistributions in binary form must reproduce' "$LIB_LICENSE" &&
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "BSD 2-clause") ||
|
2023-05-03 01:12:53 +00:00
|
|
|
(${GREP_CMD} -q -i -F 'Permission to use, copy, modify, and distribute this software' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'documentation for any purpose and without fee is hereby granted' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'the above copyright notice appear in all copies and that both that copyright' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'notice and this permission notice appear in supporting documentation' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'not be used in advertising or publicity pertaining' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'distribution of the software without specific, written prior permission' "$LIB_LICENSE" &&
|
|
|
|
${GREP_CMD} -q -i -F 'makes no representations about the suitability of this software' "$LIB_LICENSE" &&
|
|
|
|
echo "HPND") ||
|
2020-05-11 01:53:38 +00:00
|
|
|
echo "Unknown")
|
|
|
|
|
|
|
|
RELATIVE_PATH=$(echo "$LIB_LICENSE" | sed -r -e 's!^.+/contrib/!/contrib/!')
|
|
|
|
|
|
|
|
echo -e "$LIB_NAME\t$LICENSE_TYPE\t$RELATIVE_PATH"
|
|
|
|
fi
|
|
|
|
done
|