From e0290608896e9492bed868440ea4d3cad33d5f0f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Fri, 25 Apr 2025 07:46:46 -0400 Subject: [PATCH] [mv3] Use safer env variable names Related feedback: https://github.com/uBlockOrigin/uBOL-home/issues/327#issuecomment-2823012715 --- tools/make-mv3.sh | 128 +++++++++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/tools/make-mv3.sh b/tools/make-mv3.sh index 5cc0d4df3..66b7c1697 100755 --- a/tools/make-mv3.sh +++ b/tools/make-mv3.sh @@ -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