[mv3] Use safer env variable names

Related feedback:
https://github.com/uBlockOrigin/uBOL-home/issues/327#issuecomment-2823012715
This commit is contained in:
Raymond Hill 2025-04-25 07:46:46 -04:00
parent 84ad64daea
commit e029060889
No known key found for this signature in database
GPG key ID: 25E1490B761470C2

View file

@ -40,7 +40,7 @@ echo "PLATFORM=$PLATFORM"
echo "TAGNAME=$TAGNAME"
echo "BEFORE=$BEFORE"
DES="dist/build/uBOLite.$PLATFORM"
UBOL_DIR="dist/build/uBOLite.$PLATFORM"
if [ "$PLATFORM" = "edge" ]; then
MANIFEST_DIR="chromium"
@ -48,16 +48,16 @@ else
MANIFEST_DIR="$PLATFORM"
fi
rm -rf $DES
rm -rf $UBOL_DIR
mkdir -p $DES
cd $DES
DES=$(pwd)
mkdir -p $UBOL_DIR
cd $UBOL_DIR
UBOL_DIR=$(pwd)
cd - > /dev/null
mkdir -p "$DES"/css/fonts
mkdir -p "$DES"/js
mkdir -p "$DES"/img
mkdir -p "$UBOL_DIR"/css/fonts
mkdir -p "$UBOL_DIR"/js
mkdir -p "$UBOL_DIR"/img
if [ -n "$UBO_VERSION" ]; then
UBO_REPO="https://github.com/gorhill/uBlock.git"
@ -74,79 +74,79 @@ else
fi
echo "*** uBOLite.mv3: Copying common files"
cp -R "$UBO_DIR"/src/css/fonts/* "$DES"/css/fonts/
cp "$UBO_DIR"/src/css/themes/default.css "$DES"/css/
cp "$UBO_DIR"/src/css/common.css "$DES"/css/
cp "$UBO_DIR"/src/css/dashboard-common.css "$DES"/css/
cp "$UBO_DIR"/src/css/fa-icons.css "$DES"/css/
cp -R "$UBO_DIR"/src/css/fonts/* "$UBOL_DIR"/css/fonts/
cp "$UBO_DIR"/src/css/themes/default.css "$UBOL_DIR"/css/
cp "$UBO_DIR"/src/css/common.css "$UBOL_DIR"/css/
cp "$UBO_DIR"/src/css/dashboard-common.css "$UBOL_DIR"/css/
cp "$UBO_DIR"/src/css/fa-icons.css "$UBOL_DIR"/css/
cp "$UBO_DIR"/src/js/dom.js "$DES"/js/
cp "$UBO_DIR"/src/js/fa-icons.js "$DES"/js/
cp "$UBO_DIR"/src/js/i18n.js "$DES"/js/
cp "$UBO_DIR"/src/js/urlskip.js "$DES"/js/
cp "$UBO_DIR"/src/lib/punycode.js "$DES"/js/
cp "$UBO_DIR"/src/js/dom.js "$UBOL_DIR"/js/
cp "$UBO_DIR"/src/js/fa-icons.js "$UBOL_DIR"/js/
cp "$UBO_DIR"/src/js/i18n.js "$UBOL_DIR"/js/
cp "$UBO_DIR"/src/js/urlskip.js "$UBOL_DIR"/js/
cp "$UBO_DIR"/src/lib/punycode.js "$UBOL_DIR"/js/
cp -R "$UBO_DIR/src/img/flags-of-the-world" "$DES"/img
cp -R "$UBO_DIR/src/img/flags-of-the-world" "$UBOL_DIR"/img
cp LICENSE.txt "$DES"/
cp LICENSE.txt "$UBOL_DIR"/
echo "*** uBOLite.mv3: Copying mv3-specific files"
cp platform/mv3/"$MANIFEST_DIR"/manifest.json "$DES"/
cp platform/mv3/extension/*.html "$DES"/
cp platform/mv3/extension/*.json "$DES"/
cp platform/mv3/extension/css/* "$DES"/css/
cp -R platform/mv3/extension/js/* "$DES"/js/
cp platform/mv3/"$PLATFORM"/ext-compat.js "$DES"/js/ 2>/dev/null || :
cp platform/mv3/extension/img/* "$DES"/img/
cp -R platform/mv3/extension/_locales "$DES"/
cp platform/mv3/README.md "$DES/"
cp platform/mv3/"$MANIFEST_DIR"/manifest.json "$UBOL_DIR"/
cp platform/mv3/extension/*.html "$UBOL_DIR"/
cp platform/mv3/extension/*.json "$UBOL_DIR"/
cp platform/mv3/extension/css/* "$UBOL_DIR"/css/
cp -R platform/mv3/extension/js/* "$UBOL_DIR"/js/
cp platform/mv3/"$PLATFORM"/ext-compat.js "$UBOL_DIR"/js/ 2>/dev/null || :
cp platform/mv3/extension/img/* "$UBOL_DIR"/img/
cp -R platform/mv3/extension/_locales "$UBOL_DIR"/
cp platform/mv3/README.md "$UBOL_DIR/"
echo "*** uBOLite.mv3: Generating rulesets"
TMPDIR=$(mktemp -d)
mkdir -p "$TMPDIR"
./tools/make-nodejs.sh "$TMPDIR"
cp platform/mv3/*.json "$TMPDIR"/
cp platform/mv3/*.js "$TMPDIR"/
cp platform/mv3/*.mjs "$TMPDIR"/
cp platform/mv3/extension/js/utils.js "$TMPDIR"/js/
cp -R "$UBO_DIR"/src/js/resources "$TMPDIR"/js/
cp -R platform/mv3/scriptlets "$TMPDIR"/
mkdir -p "$TMPDIR"/web_accessible_resources
cp "$UBO_DIR"/src/web_accessible_resources/* "$TMPDIR"/web_accessible_resources/
cd "$TMPDIR"
node --no-warnings make-rulesets.js output="$DES" platform="$PLATFORM"
UBOL_BUILD_DIR=$(mktemp -d)
mkdir -p "$UBOL_BUILD_DIR"
./tools/make-nodejs.sh "$UBOL_BUILD_DIR"
cp platform/mv3/*.json "$UBOL_BUILD_DIR"/
cp platform/mv3/*.js "$UBOL_BUILD_DIR"/
cp platform/mv3/*.mjs "$UBOL_BUILD_DIR"/
cp platform/mv3/extension/js/utils.js "$UBOL_BUILD_DIR"/js/
cp -R "$UBO_DIR"/src/js/resources "$UBOL_BUILD_DIR"/js/
cp -R platform/mv3/scriptlets "$UBOL_BUILD_DIR"/
mkdir -p "$UBOL_BUILD_DIR"/web_accessible_resources
cp "$UBO_DIR"/src/web_accessible_resources/* "$UBOL_BUILD_DIR"/web_accessible_resources/
cd "$UBOL_BUILD_DIR"
node --no-warnings make-rulesets.js output="$UBOL_DIR" platform="$PLATFORM"
if [ -n "$BEFORE" ]; then
echo "*** uBOLite.mv3: salvaging rule ids to minimize diff size"
echo " before=$BEFORE/$PLATFORM"
echo " after=$DES"
node salvage-ruleids.mjs before="$BEFORE"/"$PLATFORM" after="$DES"
echo " after=$UBOL_DIR"
node salvage-ruleids.mjs before="$BEFORE"/"$PLATFORM" after="$UBOL_DIR"
fi
cd - > /dev/null
rm -rf "$TMPDIR"
rm -rf "$UBOL_BUILD_DIR"
# For Edge, declared rulesets must be at package root
if [ "$PLATFORM" = "edge" ]; then
echo "*** uBOLite.edge: Modify reference implementation for Edge compatibility"
mv "$DES"/rulesets/main/* "$DES/"
rmdir "$DES/rulesets/main"
mv "$UBOL_DIR"/rulesets/main/* "$UBOL_DIR/"
rmdir "$UBOL_DIR/rulesets/main"
node tools/make-edge.mjs
fi
echo "*** uBOLite.$PLATFORM: extension ready"
echo "Extension location: $DES/"
echo "Extension location: $UBOL_DIR/"
# Local build
if [ -z "$TAGNAME" ]; then
# Enable DNR rule debugging
tmp=$(mktemp)
jq '.permissions += ["declarativeNetRequestFeedback"]' \
"$DES/manifest.json" > "$tmp" \
&& mv "$tmp" "$DES/manifest.json"
"$UBOL_DIR/manifest.json" > "$tmp" \
&& mv "$tmp" "$UBOL_DIR/manifest.json"
# Use a different extension id than the official one
if [ "$PLATFORM" = "firefox" ]; then
tmp=$(mktemp)
jq '.browser_specific_settings.gecko.id = "uBOLite.dev@raymondhill.net"' "$DES/manifest.json" > "$tmp" \
&& mv "$tmp" "$DES/manifest.json"
jq '.browser_specific_settings.gecko.id = "uBOLite.dev@raymondhill.net"' "$UBOL_DIR/manifest.json" > "$tmp" \
&& mv "$tmp" "$UBOL_DIR/manifest.json"
fi
fi
@ -157,21 +157,21 @@ if [ "$FULL" = "yes" ]; then
fi
echo "*** uBOLite.mv3: Creating publishable package..."
if [ -z "$TAGNAME" ]; then
TAGNAME="uBOLite_$(jq -r .version "$DES"/manifest.json)"
TAGNAME="uBOLite_$(jq -r .version "$UBOL_DIR"/manifest.json)"
else
tmp=$(mktemp)
jq --arg version "${TAGNAME:8}" '.version = $version' "$DES/manifest.json" > "$tmp" \
&& mv "$tmp" "$DES/manifest.json"
jq --arg version "${TAGNAME:8}" '.version = $version' "$UBOL_DIR/manifest.json" > "$tmp" \
&& mv "$tmp" "$UBOL_DIR/manifest.json"
fi
PACKAGENAME="$TAGNAME.$PLATFORM.mv3.$EXTENSION"
TMPDIR=$(mktemp -d)
mkdir -p "$TMPDIR"
cp -R "$DES"/* "$TMPDIR"/
cd "$TMPDIR" > /dev/null
UBOL_PACKAGE_NAME="$TAGNAME.$PLATFORM.mv3.$EXTENSION"
UBOL_PACKAGE_DIR=$(mktemp -d)
mkdir -p "$UBOL_PACKAGE_DIR"
cp -R "$UBOL_DIR"/* "$UBOL_PACKAGE_DIR"/
cd "$UBOL_PACKAGE_DIR" > /dev/null
rm -f ./log.txt
zip "$PACKAGENAME" -qr ./*
zip "$UBOL_PACKAGE_NAME" -qr ./*
cd - > /dev/null
cp "$TMPDIR"/"$PACKAGENAME" dist/build/
rm -rf "$TMPDIR"
echo "Package location: $(pwd)/dist/build/$PACKAGENAME"
cp "$UBOL_PACKAGE_DIR"/"$UBOL_PACKAGE_NAME" dist/build/
rm -rf "$UBOL_PACKAGE_DIR"
echo "Package location: $(pwd)/dist/build/$UBOL_PACKAGE_NAME"
fi