"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"
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));
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
"from database, because now Arch: all\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
next;
}
}
# remove installed packages that no longer have source available
# or binaries installed
- my $db = get_all_source_info();
foreach $name (keys %$db) {
next if $name =~ /^_/;
my $pkg = $db->{$name};
"not in Sources anymore\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
} else {
next if !isin( $pkg->{'state'}, qw(Installed) );
if ($full && not defined $merge_srcvers{$name}) {
"binaries don't exist anymore\n"
if $verbose;
del_source_info($name);
+ delete $db->{$name};
} elsif ($full && version_less( $merge_srcvers{$name}, $pkg->{'version'})) {
print "$name ($pkg->{'version'}): ".
"package is Installed but binaries are from ".
}
if ($options{list_min_age} < 0) {
- $q .= ' AND age(state_change::timestamp) < ? days ';
+ $q .= ' AND age(state_change::timestamp) < ? ';
push @args, -$options{list_min_age} . " days";
}