Escape slashes in filters

Simply escape slashes in --filter-requires and --filter-provides
options, resolving a five year old bug [0].

[0] https://bugzilla.redhat.com/show_bug.cgi?id=544738

Signed-off-by: Petr Šabata <contyk@redhat.com>
This commit is contained in:
Petr Šabata
2014-11-06 16:51:47 +01:00
parent 533d40db4e
commit 1052ae3f56

View File

@@ -823,6 +823,7 @@ for my $file (@args) {
} }
die "Failed to create $script: $!\n" if (!$sh); die "Failed to create $script: $!\n" if (!$sh);
map { s/\//\\\//g } @filter_requires;
print $sh "#!/bin/sh\n\n" print $sh "#!/bin/sh\n\n"
. "\@\@PERL_REQ\@\@ \"\$\@\" | sed -e '/^$filter_requires[0]\$/d'"; . "\@\@PERL_REQ\@\@ \"\$\@\" | sed -e '/^$filter_requires[0]\$/d'";
if (@filter_requires > 1) { if (@filter_requires > 1) {
@@ -845,6 +846,7 @@ for my $file (@args) {
} }
die "Failed to create $script: $!\n" if (!$sh); die "Failed to create $script: $!\n" if (!$sh);
map { s/\//\\\//g } @filter_provides;
print $sh "#!/bin/sh\n\n" print $sh "#!/bin/sh\n\n"
. "\@\@PERL_PROV\@\@ \"\$\@\" | sed -e '/^$filter_provides[0]\$/d'"; . "\@\@PERL_PROV\@\@ \"\$\@\" | sed -e '/^$filter_provides[0]\$/d'";
if (@filter_provides > 1) { if (@filter_provides > 1) {