r36194 - /trunk/dh-make-perl/lib/Debian/Dependencies.pm

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Sat May 23 06:57:02 UTC 2009


Author: dmn
Date: Sat May 23 06:56:57 2009
New Revision: 36194

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=36194
Log:
Dependencies::remove: return the list of removed items

Modified:
    trunk/dh-make-perl/lib/Debian/Dependencies.pm

Modified: trunk/dh-make-perl/lib/Debian/Dependencies.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/Debian/Dependencies.pm?rev=36194&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/Debian/Dependencies.pm (original)
+++ trunk/dh-make-perl/lib/Debian/Dependencies.pm Sat May 23 06:56:57 2009
@@ -175,19 +175,34 @@
     $deps->remove('foo, bar (>= 2.0)');
     print $deps;    # bar
 
+Returns the list of the dependencies removed.
+
 =cut
 
 sub remove {
     my( $self, @deps ) = @_;
+
+    my ( @kept, @removed );
 
     for my $deps(@deps) {
         $deps = Debian::Dependencies->new($deps)
             unless ref($deps);
 
         for my $dep(@$deps) {
-            @$self = grep { ! $dep->satisfies($_) } @$self;
+            for( @$self ) {
+                if( $dep->satisfies($_) ) {
+                    push @removed, $_;
+                }
+                else {
+                    push @kept, $_;
+                }
+            }
         }
     }
+
+    @$self = @kept;
+
+    return @removed;
 }
 
 =item prune()




More information about the Pkg-perl-cvs-commits mailing list