diff options
-rw-r--r-- | urpm.pm | 8 | ||||
-rwxr-xr-x | urpmi.removemedia | 2 |
2 files changed, 7 insertions, 3 deletions
@@ -722,6 +722,8 @@ sub add_distrib_media { sub select_media { my $urpm = shift; + my $options = {}; + if (ref $_[0]) { $options = shift } my %media; @media{@_} = undef; foreach (@{$urpm->{media}}) { @@ -740,9 +742,11 @@ sub select_media { unless ($media{$_}) { my $q = quotemeta; my (@found, @foundi); + my $regex = $options->{strict_match} ? qr/\b$q\b/ : qr/$q/; + my $regexi = $options->{strict_match} ? qr/\b$q\b/i : qr/$q/i; foreach my $medium (@{$urpm->{media}}) { - $medium->{name} =~ /$q/ and push @found, $medium; - $medium->{name} =~ /$q/i and push @foundi, $medium; + $medium->{name} =~ $regex and push @found, $medium; + $medium->{name} =~ $regexi and push @foundi, $medium; } if (@found == 1) { $found[0]{modified} = 1; diff --git a/urpmi.removemedia b/urpmi.removemedia index f556e158..dd2791e3 100755 --- a/urpmi.removemedia +++ b/urpmi.removemedia @@ -49,7 +49,7 @@ where <name> is a medium name to remove. } @toremoves == 0 and die N("the entry to remove is missing\n(one of %s)\n", join(", ", @entries)); - $urpm->select_media(@toremoves); + $urpm->select_media({ strict_match => 1 }, @toremoves); $urpm->remove_selected_media; $urpm->update_media(noclean => $options{noclean}); |