[pacman-dev] [arch-dev-public] [signoff] pacman 3.2.0
shiningxc at gmail.com
Thu Jul 31 09:15:05 EDT 2008
On Thu, Jul 31, 2008 at 2:50 PM, Allan McRae <allan at archlinux.org> wrote:
>> Indeed, that is the first problem, netfile should be quoted here.
>> local proto=$(echo "$netfile" | sed 's|://.*||')
> And that $netfile should be $url....
>> But once this is fixed, we run into a second problem, with another sed
>> command, which breaks because of all the & in the url.
>> local dlcmd=$(echo "$dlagent" | sed "s|%o|$file.part|" | sed "s|%u|$netfile|"
>> $ netfile="ab&cd&ef"; echo "%u" | sed "s|%u|$netfile|"
>> $ netfile="ab\&cd\&ef"; echo "%u" | sed "s|%u|$netfile|"
>> So I don't see how to fix this except manually escaping all & in the url...
> Well, to just make the bug more obscure.
> $ netfile="ab&cd&ef"; echo "%u" | sed "s|%u|$netfile|" | sed "s|\%u|\&|g"
> But that makes problems if there is a %u in the url. But can we do some
> multistage hackery like that?
I really don't like this.
I think we could use bash feature instead.
But even after converting the two above sed rules with this, I still
have other problem. It is driving me crazy.
When I print the whole download command myself, and copy/paste it to
the shell, it works fine.
But when it gets executed in makepkg with : $(get_downloadcmd foo
bar), it always fail.
More information about the pacman-dev