diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version index 2a46fdf11137..a4eb31550f91 100755 --- a/pkgs/common-updater/scripts/update-source-version +++ b/pkgs/common-updater/scripts/update-source-version @@ -229,10 +229,11 @@ if [[ -n "$newUrl" ]]; then die "Couldn't evaluate source url from '$attr.$sourceKey'!" fi - # Escape regex metacharacter that are allowed in store path names - oldUrlEscaped=$(echo "$oldUrl" | sed -re 's|[${}.+?]|\\&|g') + # Escape regex metacharacter that may appear in URLs + oldUrlEscaped=$(echo "$oldUrl" | sed -e 's|[*.^$[\|]|\\&|g') + newUrlEscaped=$(echo "$newUrl" | sed -e 's|[&\|]|\\&|g') - sed -i.cmp "$nixFile" -re "s|\"$oldUrlEscaped\"|\"$newUrl\"|" + sed -i.cmp "$nixFile" -e "s|\"$oldUrlEscaped\"|\"$newUrlEscaped\"|" if cmp -s "$nixFile" "$nixFile.cmp"; then die "Failed to replace source URL '$oldUrl' to '$newUrl' in '$attr'!" fi