From 9f65aa2d647cf7204ac9c137478bc9fb3ae54536 Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Tue, 27 Aug 2002 14:20:02 +0000 Subject: 4.0-6mdk --- urpm.pm | 28 +++++++++++++++------------- urpmi.spec | 5 ++++- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/urpm.pm b/urpm.pm index 39850bc9..a88bbf5d 100644 --- a/urpm.pm +++ b/urpm.pm @@ -1669,27 +1669,29 @@ sub deselect_unwanted_packages { open F, $urpm->{skiplist}; while () { chomp; s/#.*$//; s/^\s*//; s/\s*$//; - if (my ($n, $s) = /^([^\s\[]*)(?:\[\*\])?\[?([^\s\]]*\s*[^\s\]]*)/) { - $skip{$n}{$s} = undef; + if (my ($n, $s) = /^([^\s\[]+)(?:\[\*\])?\[?\s*([^\s\]]*\s*[^\s\]]*)/) { + $skip{$n}{$s} = undef; } } close F; - %skip and return; + %skip or return; foreach (grep { $options{force} || (exists $packages->{$_} && ! defined $packages->{$_}) } keys %$packages) { my $pkg = $urpm->{depslist}[$_] or next; my $remove_it; - #- find skiped entry that match the package fullname. - foreach (keys %skip) { - exists $skip{$_}{''} && $pkg->fullname =~ /$_/ and delete $packages->{$pkg->id}; - } - - #- check if a provides match at least one package. - foreach ($pkg->provides) { - if (my ($n, $s) = /^([^\s\[]*)(?:\[\*\])?\[?([^\s\]]*\s*[^\s\]]*)/) { - foreach (keys %{$skip{$n} || {}}) { - range_overlap($_, $s) and delete $packages->{$pkg->id}; + #- check if fullname is matching a regexp. + if (grep { exists $skip{$_}{''} && /^\/(.*)\/$/ && $pkg->fullname =~ /$1/ } keys %skip) { + delete $packages->{$pkg->id}; + } else { + #- check if a provides match at least one package. + foreach ($pkg->provides) { + if (my ($n, $s) = /^([^\s\[]*)(?:\[\*\])?\[?([^\s\]]*\s*[^\s\]]*)/) { + foreach my $sn ($n, grep { /^\/(.*)\/$/ && $n =~ /$1/ } keys %skip) { + foreach (keys %{$skip{$sn} || {}}) { + URPM::ranges_overlap($_, $s) and delete $packages->{$pkg->id}; + } + } } } } diff --git a/urpmi.spec b/urpmi.spec index 258ce2cf..1734e645 100644 --- a/urpmi.spec +++ b/urpmi.spec @@ -2,7 +2,7 @@ Name: urpmi Version: 4.0 -Release: 5mdk +Release: 6mdk License: GPL Source0: %{name}.tar.bz2 Source1: %{name}.logrotate @@ -177,6 +177,9 @@ fi %changelog +* Tue Aug 27 2002 François Pons 4.0-6mdk +- fixed skip.list new format. + * Tue Aug 27 2002 François Pons 4.0-5mdk - fixed urpmq --auto-select disabling its selection. - open read-only rpmdb when testing installation (--test). -- cgit v1.2.1