From 68e55cd9da7902ac8c8859507657cb013e234da4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 16 Feb 2010 00:10:39 +0000 Subject: [PATCH] * Since Hydra now escapes `+', `=' and `?' to %NN in URIs, nix-prefetch-url should unescape them, because `%' is not a valid character in store path names. --- scripts/nix-prefetch-url.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/nix-prefetch-url.in b/scripts/nix-prefetch-url.in index a2a8a701f..7d8bd93a4 100644 --- a/scripts/nix-prefetch-url.in +++ b/scripts/nix-prefetch-url.in @@ -21,7 +21,10 @@ if test -z "$url"; then exit 1 fi -name=$(basename "$url") +# Handle escaped characters in the URI. `+', `=' and `?' are the only +# characters that are valid in Nix store path names but have a special +# meaning in URIs. +name=$(basename "$url" | sed -e 's/%2b/+/g' -e 's/%3d/=/g' -e 's/%3f/\?/g') if test -z "$name"; then echo "invalid url"; exit 1; fi