diff options
author | Rich Trott <rtrott@gmail.com> | 2021-12-22 06:38:13 -0800 |
---|---|---|
committer | Richard Lau <rlau@redhat.com> | 2022-11-23 12:53:06 -0500 |
commit | 370a00f737ff61daf0accec451069a320b5c78be (patch) | |
tree | 483a1d315c4ed82bedeb77251201b25b33831375 | |
parent | f297b6bd218bf05e8cfd44af52dbba28a2f56bf5 (diff) | |
download | node-new-370a00f737ff61daf0accec451069a320b5c78be.tar.gz |
tools: make license-builder.sh comply with shellcheck 0.8.0
Fixes for SC2312 added in shellcheck 0.8.0.
PR-URL: https://github.com/nodejs/node/pull/41258
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
-rw-r--r-- | LICENSE | 173 | ||||
-rwxr-xr-x | tools/license-builder.sh | 118 |
2 files changed, 191 insertions, 100 deletions
@@ -636,56 +636,129 @@ The externally maintained libraries used by Node.js are: - OpenSSL, located at deps/openssl, is licensed as follows: """ - Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - - 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - endorse or promote products derived from this software without - prior written permission. For written permission, please contact - openssl-core@openssl.org. - - 5. Products derived from this software may not be called "OpenSSL" - nor may "OpenSSL" appear in their names without prior written - permission of the OpenSSL Project. - - 6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit (http://www.openssl.org/)" - - THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - ==================================================================== - - This product includes cryptographic software written by Eric Young - (eay@cryptsoft.com). This product includes software written by Tim - Hudson (tjh@cryptsoft.com). + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a double license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. + + OpenSSL License + --------------- + + /* ==================================================================== + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + + /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ """ - Punycode.js, located at lib/punycode.js, is licensed as follows: diff --git a/tools/license-builder.sh b/tools/license-builder.sh index 4610b71a9f..6be1ebc6b7 100755 --- a/tools/license-builder.sh +++ b/tools/license-builder.sh @@ -11,11 +11,12 @@ echo "$licensehead" > "$tmplicense" # addlicense <library> <location> <license text> addlicense() { + licenseTextTrimmed=$(echo "$3" | sed -e 's/^/ /' -e 's/^ $//' -e 's/ *$//' | sed -e '/./,$!d' | sed -e '/^$/N;/^\n$/D') echo " - ${1}, located at ${2}, is licensed as follows: \"\"\" -$(echo "$3" | sed -e 's/^/ /' -e 's/^ $//' -e 's/ *$//' | sed -e '/./,$!d' | sed -e '/^$/N;/^\n$/D') +${licenseTextTrimmed} \"\"\"\ " >> "$tmplicense" @@ -29,86 +30,103 @@ fi # Dependencies bundled in distributions -addlicense "Acorn" "deps/acorn" "$(cat "${rootdir}"/deps/acorn/acorn/LICENSE)" -addlicense "c-ares" "deps/cares" "$(tail -n +3 "${rootdir}"/deps/cares/LICENSE.md)" -addlicense "cjs-module-lexer" "deps/cjs-module-lexer" "$(cat "${rootdir}"/deps/cjs-module-lexer/LICENSE)" +licenseText="$(cat "${rootdir}"/deps/acorn/acorn/LICENSE)" +addlicense "Acorn" "deps/acorn" "$licenseText" +licenseText="$(tail -n +3 "${rootdir}"/deps/cares/LICENSE.md)" +addlicense "c-ares" "deps/cares" "$licenseText" +licenseText="$(cat "${rootdir}"/deps/cjs-module-lexer/LICENSE)" +addlicense "cjs-module-lexer" "deps/cjs-module-lexer" "$licenseText" if [ -f "${rootdir}/deps/icu/LICENSE" ]; then # ICU 57 and following. Drop the BOM - addlicense "ICU" "deps/icu" \ - "$(sed -e '1s/^[^a-zA-Z ]*ICU/ICU/' -e :a \ - -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu/LICENSE)" + licenseText="$(sed -e '1s/^[^a-zA-Z ]*ICU/ICU/' -e :a -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu/LICENSE)" + addlicense "ICU" "deps/icu" "$licenseText" elif [ -f "${rootdir}/deps/icu/license.html" ]; then # ICU 56 and prior - addlicense "ICU" "deps/icu" \ - "$(sed -e '1,/ICU License - ICU 1\.8\.1 and later/d' -e :a \ - -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu/license.html)" + licenseText="$(sed -e '1,/ICU License - ICU 1\.8\.1 and later/d' -e :a -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu/license.html)" + addlicense "ICU" "deps/icu" "$licenseText" elif [ -f "${rootdir}/deps/icu-small/LICENSE" ]; then # ICU 57 and following. Drop the BOM - addlicense "ICU" "deps/icu-small" \ - "$(sed -e '1s/^[^a-zA-Z ]*ICU/ICU/' -e :a \ - -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu-small/LICENSE)" + licenseText="$(sed -e '1s/^[^a-zA-Z ]*ICU/ICU/' -e :a -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu-small/LICENSE)" + addlicense "ICU" "deps/icu-small" "$licenseText" elif [ -f "${rootdir}/deps/icu-small/license.html" ]; then # ICU 56 and prior - addlicense "ICU" "deps/icu-small" \ - "$(sed -e '1,/ICU License - ICU 1\.8\.1 and later/d' -e :a \ - -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu-small/license.html)" + licenseText="$(sed -e '1,/ICU License - ICU 1\.8\.1 and later/d' -e :a -e 's/<[^>]*>//g;s/ / /g;s/ +$//;/</N;//ba' "${rootdir}"/deps/icu-small/license.html)" + addlicense "ICU" "deps/icu-small" "$licenseText" else echo "Could not find an ICU license file." exit 1 fi -addlicense "libuv" "deps/uv" "$(cat "${rootdir}"/deps/uv/LICENSE)" -addlicense "llhttp" "deps/llhttp" "$(cat deps/llhttp/LICENSE-MIT)" -addlicense "corepack" "deps/corepack" "$(cat "${rootdir}"/deps/corepack/LICENSE.md)" -addlicense "OpenSSL" "deps/openssl" \ - "$(sed -e '/^ \*\/$/,$d' -e '/^ [^*].*$/d' -e '/\/\*.*$/d' -e '/^$/d' -e 's/^[/ ]\* *//' "${rootdir}"/deps/openssl/openssl/LICENSE)" -addlicense "Punycode.js" "lib/punycode.js" \ - "$(curl -sL https://raw.githubusercontent.com/bestiejs/punycode.js/HEAD/LICENSE-MIT.txt)" -addlicense "V8" "deps/v8" "$(cat "${rootdir}"/deps/v8/LICENSE)" -addlicense "SipHash" "deps/v8/src/third_party/siphash" \ - "$(sed -e '/You should have received a copy of the CC0/,$d' -e 's/^\/\* *//' -e 's/^ \* *//' deps/v8/src/third_party/siphash/halfsiphash.cc)" -addlicense "zlib" "deps/zlib" \ - "$(sed -e '/The data format used by the zlib library/,$d' -e 's/^\/\* *//' -e 's/^ *//' "${rootdir}"/deps/zlib/zlib.h)" +licenseText="$(cat "${rootdir}"/deps/uv/LICENSE)" +addlicense "libuv" "deps/uv" "$licenseText" +licenseText="$(cat deps/llhttp/LICENSE-MIT)" +addlicense "llhttp" "deps/llhttp" "$licenseText" +licenseText="$(cat "${rootdir}"/deps/corepack/LICENSE.md)" +addlicense "corepack" "deps/corepack" "$licenseText" +licenseText="$(cat "${rootdir}"/deps/openssl/openssl/LICENSE)" +addlicense "OpenSSL" "deps/openssl" "$licenseText" +licenseText="$(curl -sL https://raw.githubusercontent.com/bestiejs/punycode.js/HEAD/LICENSE-MIT.txt)" +addlicense "Punycode.js" "lib/punycode.js" "$licenseText" +licenseText="$(cat "${rootdir}"/deps/v8/LICENSE)" +addlicense "V8" "deps/v8" "$licenseText" +licenseText="$(sed -e '/You should have received a copy of the CC0/,$d' -e 's/^\/\* *//' -e 's/^ \* *//' deps/v8/src/third_party/siphash/halfsiphash.cc)" +addlicense "SipHash" "deps/v8/src/third_party/siphash" "$licenseText" +licenseText="$(sed -e '/The data format used by the zlib library/,$d' -e 's/^\/\* *//' -e 's/^ *//' "${rootdir}"/deps/zlib/zlib.h)" +addlicense "zlib" "deps/zlib" "$licenseText" # npm -addlicense "npm" "deps/npm" "$(cat "${rootdir}"/deps/npm/LICENSE)" +licenseText="$(cat "${rootdir}"/deps/npm/LICENSE)" +addlicense "npm" "deps/npm" "$licenseText" # Build tools -addlicense "GYP" "tools/gyp" "$(cat "${rootdir}"/tools/gyp/LICENSE)" -addlicense "inspector_protocol" "tools/inspector_protocol" "$(cat "${rootdir}"/tools/inspector_protocol/LICENSE)" -addlicense "jinja2" "tools/inspector_protocol/jinja2" "$(cat "${rootdir}"/tools/inspector_protocol/jinja2/LICENSE)" -addlicense "markupsafe" "tools/inspector_protocol/markupsafe" "$(cat "${rootdir}"/tools/inspector_protocol/markupsafe/LICENSE)" +licenseText="$(cat "${rootdir}"/tools/gyp/LICENSE)" +addlicense "GYP" "tools/gyp" "$licenseText" +licenseText="$(cat "${rootdir}"/tools/inspector_protocol/LICENSE)" +addlicense "inspector_protocol" "tools/inspector_protocol" "$licenseText" +licenseText="$(cat "${rootdir}"/tools/inspector_protocol/jinja2/LICENSE)" +addlicense "jinja2" "tools/inspector_protocol/jinja2" "$licenseText" +licenseText="$(cat "${rootdir}"/tools/inspector_protocol/markupsafe/LICENSE)" +addlicense "markupsafe" "tools/inspector_protocol/markupsafe" "$licenseText" # Testing tools -addlicense "cpplint.py" "tools/cpplint.py" \ - "$(sed -e '/^$/,$d' -e 's/^#$//' -e 's/^# //' "${rootdir}"/tools/cpplint.py | tail -n +3)" -addlicense "ESLint" "tools/node_modules/eslint" "$(cat "${rootdir}"/tools/node_modules/eslint/LICENSE)" -addlicense "Babel" "tools/node_modules/@babel" "$(cat "${rootdir}"/tools/node_modules/@babel/core/LICENSE)" -addlicense "gtest" "deps/googletest" "$(cat "${rootdir}"/deps/googletest/LICENSE)" +licenseText="$(sed -e '/^$/,$d' -e 's/^#$//' -e 's/^# //' "${rootdir}"/tools/cpplint.py | tail -n +3)" +addlicense "cpplint.py" "tools/cpplint.py" "$licenseText" +licenseText="$(cat "${rootdir}"/tools/node_modules/eslint/LICENSE)" +addlicense "ESLint" "tools/node_modules/eslint" "$licenseText" +licenseText="$(cat "${rootdir}"/tools/node_modules/@babel/core/LICENSE)" +addlicense "Babel" "tools/node_modules/@babel" "$licenseText" +licenseText="$(cat "${rootdir}"/deps/googletest/LICENSE)" +addlicense "gtest" "deps/googletest" "$licenseText" # nghttp2 -addlicense "nghttp2" "deps/nghttp2" "$(cat "${rootdir}"/deps/nghttp2/COPYING)" +licenseText="$(cat "${rootdir}"/deps/nghttp2/COPYING)" +addlicense "nghttp2" "deps/nghttp2" "$licenseText" # large_pages -addlicense "large_pages" "src/large_pages" "$(sed -e '/SPDX-License-Identifier/,$d' -e 's/^\/\///' "${rootdir}"/src/large_pages/node_large_page.h)" +licenseText="$(sed -e '/SPDX-License-Identifier/,$d' -e 's/^\/\///' "${rootdir}"/src/large_pages/node_large_page.h)" +addlicense "large_pages" "src/large_pages" "$licenseText" # deep_freeze -addlicense "caja" "lib/internal/freeze_intrinsics.js" "$(sed -e '/SPDX-License-Identifier/,$d' -e 's/^\/\///' "${rootdir}"/lib/internal/freeze_intrinsics.js)" +licenseText="$(sed -e '/SPDX-License-Identifier/,$d' -e 's/^\/\///' "${rootdir}"/lib/internal/freeze_intrinsics.js)" +addlicense "caja" "lib/internal/freeze_intrinsics.js" "$licenseText" # brotli -addlicense "brotli" "deps/brotli" "$(cat "${rootdir}"/deps/brotli/LICENSE)" +licenseText="$(cat "${rootdir}"/deps/brotli/LICENSE)" +addlicense "brotli" "deps/brotli" "$licenseText" -addlicense "HdrHistogram" "deps/histogram" "$(cat "${rootdir}"/deps/histogram/LICENSE.txt)" +licenseText="$(cat "${rootdir}"/deps/histogram/LICENSE.txt)" +addlicense "HdrHistogram" "deps/histogram" "$licenseText" -addlicense "highlight.js" "doc/api_assets/highlight.pack.js" \ - "$(curl -sL https://raw.githubusercontent.com/highlightjs/highlight.js/63f367c46f2eeb6f9b7a3545e325eeeb917f9942/LICENSE)" +licenseText="$(curl -sL https://raw.githubusercontent.com/highlightjs/highlight.js/63f367c46f2eeb6f9b7a3545e325eeeb917f9942/LICENSE)" +addlicense "highlight.js" "doc/api_assets/highlight.pack.js" "$licenseText" -addlicense "node-heapdump" "src/heap_utils.cc" \ - "$(curl -sL https://raw.githubusercontent.com/bnoordhuis/node-heapdump/0ca52441e46241ffbea56a389e2856ec01c48c97/LICENSE)" +licenseText="$(curl -sL https://raw.githubusercontent.com/bnoordhuis/node-heapdump/0ca52441e46241ffbea56a389e2856ec01c48c97/LICENSE)" +addlicense "node-heapdump" "src/heap_utils.cc" "$licenseText" -addlicense "rimraf" "lib/internal/fs/rimraf.js" \ - "$(curl -sL https://raw.githubusercontent.com/isaacs/rimraf/0e365ac4e4d64a25aa2a3cc026348f13410210e1/LICENSE)" +licenseText="$(curl -sL https://raw.githubusercontent.com/isaacs/rimraf/0e365ac4e4d64a25aa2a3cc026348f13410210e1/LICENSE)" +addlicense "rimraf" "lib/internal/fs/rimraf.js" "$licenseText" -addlicense "uvwasi" "deps/uvwasi" "$(cat "${rootdir}"/deps/uvwasi/LICENSE)" +licenseText="$(cat "${rootdir}"/deps/uvwasi/LICENSE)" +addlicense "uvwasi" "deps/uvwasi" "$licenseText" mv "$tmplicense" "$licensefile" |