$pkg->{'builder'} = $user;
$pkg->{'failed'} .= "\n" if $pkg->{'failed'};
$pkg->{'failed'} .= $fail_reason;
- if (defined $pkg->{'permbuildpri'}) {
- $pkg->{'buildpri'} = $pkg->{'permbuildpri'};
- } else {
- delete $pkg->{'buildpri'};
- }
log_ta( $pkg, "--failed" );
update_source_info($pkg);
print "$name: registered as failed\n" if $verbose;
$pkg->{'package'} = $name;
delete $pkg->{'builder'};
delete $pkg->{'depends'};
- delete $pkg->{'buildpri'};
delete $pkg->{'binary_nmu_version'};
delete $pkg->{'binary_nmu_changelog'};
log_ta( $pkg, "--no-build" );
delete $pkg->{'depends'};
delete $pkg->{'binary_nmu_version'};
delete $pkg->{'binary_nmu_changelog'};
+ delete $pkg->{'buildpri'};
} elsif ($binNMUver <= $pkg->{'binary_nmu_version'}) {
print "$name: already building binNMU $pkg->{'binary_nmu_version'}\n";
return;
$pkg->{'binary_nmu_version'} = $binNMUver;
$pkg->{'binary_nmu_changelog'} = $fail_reason;
$pkg->{'notes'} = 'out-of-date';
- $pkg->{'buildpri'} = $pkg->{'permbuildpri'}
- if (defined $pkg->{'permbuildpri'});
+ delete $pkg->{'buildpri'};
if (defined $distributions{$distribution}{noadw}) {
change_state( \$pkg, 'Installed' );
} else {
$pkg->{'binary_nmu_version'} = $binNMUver;
$pkg->{'binary_nmu_changelog'} = $fail_reason;
$pkg->{'notes'} = 'out-of-date';
+ delete $pkg->{'buildpri'};
log_ta( $pkg, "--binNMU" );
update_source_info($pkg);
print "${name}: registered for binNMU $fullver\n" if $verbose;
return;
}
if ( $build_priority == 0 ) {
- delete $pkg->{'buildpri'}
- if $key eq 'permbuildpri' and defined $pkg->{'buildpri'}
- and $pkg->{'buildpri'} == $pkg->{$key};
delete $pkg->{$key};
} else {
- $pkg->{'buildpri'} = $build_priority
- if $key eq 'permbuildpri';
$pkg->{$key} = $build_priority;
}
update_source_info($pkg);
}
change_state( \$pkg, 'Dep-Wait' );
$pkg->{'builder'} = $user;
- if (defined $pkg->{'permbuildpri'}) {
- $pkg->{'buildpri'} = $pkg->{'permbuildpri'};
- } else {
- delete $pkg->{'buildpri'};
- }
my $deplist = parse_deplist( $pkg->{'depends'} );
my $new_deplist = parse_deplist( $fail_reason );
# add new dependencies, maybe overwriting old entries
my $map_funcs = {
'C' => ['<->', sub { return $_[0]->{'calprio'}; }],
'W' => ['<->', sub { return $_[0]->{'state_days'}; }],
- 'P' => ['<->', sub { return $_[0]->{'buildpri'}; }],
+ 'P' => ['<->', sub { return ($_[0]->{'buildpri'}//0) + ($_[0]->{'permbuildpri'}//0); }],
'p' => ['<=>', sub { return $prioval{$_[0]->{'priority'}//""}//0; }],
's' => ['<=>', sub { return $sectval{$_[0]->{'section'}//""}//0; }],
'n' => ['cmp', sub { return $_[0]->{'package'}; }],
no warnings;
my $c = "$pkg->{'priority'}:$pkg->{'notes'}";
$c .= ":PREV-FAILED" if $pkg->{'previous_state'} && $pkg->{'previous_state'} =~ /^Failed/;
- $c .= ":bp{" . $pkg->{'buildpri'} . "}" if defined $pkg->{'buildpri'};
+ $c .= ":bp{" . (($pkg->{'buildpri'}//0)+($pkg->{'permbuildpri'}//0)) . "}" if (($pkg->{'buildpri'}//0)+($pkg->{'permbuildpri'}//0));
$c .= ":binNMU{" . $pkg->{'binary_nmu_version'} . "}" if defined $pkg->{'binary_nmu_version'};
$c .= ":calprio{". $pkg->{'calprio'}."}";
$c .= ":days{". $pkg->{'state_days'}."}";
foreach my $name (keys %$srcs) {
next if $name eq '_binary';
- # state = installed, out-of-date, uncompiled, packages-arch-specific, overwritten-by-arch-all, arch-not-in-arch-list
+ # state = installed, out-of-date, uncompiled, packages-arch-specific, overwritten-by-arch-all, arch-not-in-arch-list, arch-all-only
my $pkgs = $srcs->{$name};
+ next if isin($pkgs->{'status'}, qw <arch-all-only>);
my $pkg = $db->{$name};
unless ($pkg) {
if (isin($pkgs->{'status'}, qw (installed related)) && $pkgs->{'version'} eq $pkg->{'version'} && ($pkgs->{'binnmu'}//0) < int($pkg->{'binary_nmu_version'}//0)) {
$pkgs->{'status'} = 'out-of-date';
}
- if (isin($pkgs->{'status'}, qw <installed related arch-not-in-arch-list packages-arch-specific overwritten-by-arch-all>)) {
+ if (isin($pkgs->{'status'}, qw <installed related arch-not-in-arch-list packages-arch-specific overwritten-by-arch-all arch-all-only>)) {
my $change = 0;
- my $tstate = {'installed' => 'Installed', 'related' => 'Installed', 'arch-not-in-arch-list' => 'Auto-Not-For-Us', 'packages-arch-specific' => 'Auto-Not-For-Us', 'overwritten-by-arch-all' => 'Auto-Not-For-Us'}->{$pkgs->{'status'}};
+ my $tstate = {'installed' => 'Installed', 'related' => 'Installed',
+ 'arch-not-in-arch-list' => 'Auto-Not-For-Us', 'packages-arch-specific' => 'Auto-Not-For-Us', 'overwritten-by-arch-all' => 'Auto-Not-For-Us', 'arch-all-only' => 'Auto-Not-For-Us',
+ }->{$pkgs->{'status'}};
next if isin( $pkg->{'state'}, qw<Not-For-Us Failed Failed-Removed Dep-Wait Dep-Wait-Removed>) && isin( $tstate, qw<Auto-Not-For-Us>);
# if the package is currently current, the status is Installed, not not-for-us
if ($pkg->{'state'} ne $tstate) {
$change++;
}
}
- if (isin($pkgs->{'status'}, qw <related packages-arch-specific overwritten-by-arch-all arch-not-in-arch-list>)) {
+ if (isin($pkgs->{'status'}, qw <related packages-arch-specific overwritten-by-arch-all arch-not-in-arch-list arch-all-only>)) {
my $tnotes = $pkgs->{'status'};
- if ($pkg->{'notes'} && $pkg->{'notes'} ne $tnotes) {
+ if (($pkg->{'notes'}//"") ne $tnotes) {
$pkg->{'notes'} = $tnotes;
$change++;
}
delete $pkg->{'builder'};
delete $pkg->{'binary_nmu_version'} unless $pkgs->{'binnmu'};
delete $pkg->{'binary_nmu_changelog'} unless $pkgs->{'binnmu'};
+ delete $pkg->{'buildpri'};
log_ta( $pkg, "--merge-v3: needs-build" ) unless $simulate;
update_source_info($pkg) unless $simulate;
print "$logstr set to needs-builds\n" if $simulate || $verbose;