]> git.donarmstrong.com Git - wannabuild.git/commitdiff
Add option to merge a second Packages
authorKurt Roeckx <kurt@roeckx.be>
Wed, 10 Feb 2010 22:09:05 +0000 (22:09 +0000)
committerKurt Roeckx <kurt@roeckx.be>
Wed, 10 Feb 2010 22:09:05 +0000 (22:09 +0000)
This allows a suite like experimental to also have the Packages file
from unstable so that we know better what is installable and what is
not.

bin/wanna-build

index 63416591d29f282ee54508259c971a0794a96a7b..b059531363e19e236a7c70472f2dc2a2d0e50246 100755 (executable)
@@ -118,6 +118,7 @@ my %options =
         "merge-sources" => { mode => "merge-sources" },
         "pretend-avail" => { short => "p", mode => "pretend-avail" },
         "merge-all"     => { mode => "merge-all" },
+        "merge-all-overlay" => { mode => "merge-all-overlay" },
         info                   => { short => "i", mode => "info" },
         'binNMU' => { mode => 'set-binary-nmu', arg => \$binNMUver, 
                             code => sub { die "Invalid binNMU version: $binNMUver\n"
@@ -396,7 +397,7 @@ sub process {
                        pretend_avail( @ARGV );
                        last SWITCH;
                };
-               /^merge-all/ && do {
+               /^merge-all$/ && do {
                        die "This operation is restricted to admin users\n"
                                if (defined @conf::admin_users and
                                    !isin( $real_user, @conf::admin_users));
@@ -411,6 +412,21 @@ sub process {
                        call_edos_depcheck( $ARGS[0], $srcs );
                        last SWITCH;
                };
+               /^merge-all-overlay/ && do {
+                       die "This operation is restricted to admin users\n"
+                               if (defined @conf::admin_users and
+                                   !isin( $real_user, @conf::admin_users));
+                       lock_table();
+                       my @ARGS = @ARGV;
+                       @ARGV = ( $ARGS[0] );
+                       my $pkgs = parse_packages();
+                       @ARGV = ( $ARGS[1] );
+                       parse_quinn_diff(0);
+                       @ARGV = ( $ARGS[2] );
+                       my $srcs = parse_sources(1);
+                       call_edos_depcheck( $ARGS[3], $srcs );
+                       last SWITCH;
+               };
                /^import/ && do {
                        die "This operation is restricted to admin users\n"
                                if (defined @conf::admin_users and