LibreJS processing:

Apply X11 and Apache-2.0 to widget JavaScript code to permit
proprietary integration.
This commit is contained in:
realaravinth 2021-12-01 18:12:53 +05:30
parent 7154a309be
commit 41b99c1019
No known key found for this signature in database
GPG key ID: AD9F0F08E855ED88

View file

@ -1,18 +1,78 @@
#!/bin/bash
readonly DIST=static/cache/bundle/
set -Eeuo pipefail
trap cleanup SIGINT SIGTERM ERR EXIT
readonly LICENSE_START="// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0"
readonly PROJECT_ROOT=$(realpath $(dirname $(dirname "${BASH_SOURCE[0]}")))
readonly DIST=$PROJECT_ROOT/static/cache/bundle/
readonly SOURCE="// @source https://github.com/mCaptcha/mCaptcha"
readonly LICENSE_END="// @license-end"
echo $LICENSE_START
echo $LICENSE_END
cleanup() {
trap - SIGINT SIGTERM ERR EXIT
# script cleanup here
}
for file in $(find ./static/cache/bundle/ -type f -a -name "*.js")
setup_colors() {
if [[ -t 2 ]] && [[ -z "${NO_COLOR-}" ]] && [[ "${TERM-}" != "dumb" ]]; then
NOCOLOR='\033[0m' RED='\033[0;31m' GREEN='\033[0;32m' ORANGE='\033[0;33m' BLUE='\033[0;34m' PURPLE='\033[0;35m' CYAN='\033[0;36m' YELLOW='\033[1;33m'
else
NOCOLOR='' RED='' GREEN='' ORANGE='' BLUE='' PURPLE='' CYAN='' YELLOW=''
fi
}
msg() {
echo >&2 -e "${1-}"
}
get_file_name() {
echo $file | rev | cut -d '/' -f 1 | rev
}
print_license_msg() {
msg "${GREEN}[*] Applying $1 on $(get_file_name $2)"
}
apply_agpl() {
print_license_msg "AGPL" $1
local AGPL="// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0"
echo $AGPL >> $1
}
apply_x11() {
print_license_msg "X11" $1
local MIT="// @license magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt X11"
echo $MIT >> $1
}
apply_apache() {
print_license_msg "APACHE" $1
local APACHE="// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0"
echo $APACHE >> $1
}
setup_colors
for file in $(find $DIST -type f -a -name "*.js")
do
contents=$(cat $file)
echo $LICENSE_START > $file
: > $file
name=$(get_file_name $file)
case $name in
"bundle.js")
apply_agpl $file
;;
"verificationWidget.js")
apply_x11 $file
apply_apache $file
;;
*)
msg "${RED}[!] License not configured for $name. Applying default license"
apply_agpl $file
;;
esac
echo $SOURCE >> $file
echo $contents >> $file
echo $LICENSE_END >> $file