+
+ my $pkg = get_source_info($name);
+ if (!($actions->{$op_mode}) || !($actions->{$op_mode}->{'nopkgdef'})) {
+ if (!defined($pkg)) {
+ print "$name: not registered yet.\n";
+ next;
+ }
+ }
+ if ($actions->{$op_mode} && $actions->{$op_mode}->{'builder'}) {
+ if ($pkg->{'builder'} && $user ne $pkg->{'builder'}) {
+ print "$pkg->{'package'}: not taken by you, but by $pkg->{'builder'}. Skipping.\n";
+ next;
+ }
+ }
+ if (!($actions->{$op_mode}) || !($actions->{$op_mode}->{'noversion'})) {
+ if ( !pkg_version_eq($pkg,$version)) {
+ print "$pkg->{package}: version mismatch ($pkg->{'version'} by $pkg->{'builder'})\n";
+ next;
+ }
+ }
+
+ if ($actions->{$op_mode} && $actions->{$op_mode}->{'from'}) {
+ if (!isin($pkg->{'state'}, @{$actions->{$op_mode}->{'from'}})) {
+ print "$name: skiping: state is $pkg->{'state'}, not in ".join(", ",@{$actions->{$op_mode}->{'from'}})."\n";
+ next;
+ }
+ }
+
+ if ($op_mode eq "set-building") {
+ add_one_building( $name, $version, $pkg );
+ }
+ elsif ($op_mode eq "set-built") {
+ 1;
+ }
+ elsif ($op_mode eq "set-attempted") {
+ 1;
+ }
+ elsif ($op_mode eq "set-uploaded") {
+ add_one_uploaded( $name, $version, $pkg );
+ }
+ elsif ($op_mode eq "set-failed") {
+ add_one_failed( $pkg );
+ }
+ elsif ($op_mode eq "set-not-for-us") {
+ add_one_notforus( $pkg );
+ }
+ elsif ($op_mode eq "set-needs-build") {
+ add_one_needsbuild( $pkg );
+ }
+ elsif ($op_mode eq "set-dep-wait") {
+ add_one_depwait( $pkg );
+ }
+ elsif ($op_mode eq "set-build-priority") {
+ set_one_buildpri( 'buildpri', $pkg );
+ }
+ elsif ($op_mode eq "set-permanent-build-priority") {
+ set_one_buildpri( 'permbuildpri', $pkg );
+ }
+ elsif ($op_mode eq "set-binary-nmu") {
+ set_one_binnmu( $name, $version, $pkg );
+ }
+ elsif ($op_mode eq "set-update") {
+ set_one_update( $pkg );
+ }
+
+ if ($actions->{$op_mode} && $actions->{$op_mode}->{'action'} && $actions->{$op_mode}->{'to'}) {
+ change_state( \$pkg, $actions->{$op_mode}->{'to'} );
+ log_ta( $pkg, "--".$actions->{$op_mode}->{'action'} );
+ update_source_info($pkg);
+ print "$name: registered as ".$actions->{$op_mode}->{'action'}."\n" if $verbose;
+ }
+ }