diff --git a/infrastructure/lib/DPB/Clock.pm b/infrastructure/lib/DPB/Clock.pm index 25bd1cb7427..ae0665e86c6 100644 --- a/infrastructure/lib/DPB/Clock.pm +++ b/infrastructure/lib/DPB/Clock.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Clock.pm,v 1.4 2013/09/03 09:34:24 espie Exp $ +# $OpenBSD: Clock.pm,v 1.5 2013/09/18 13:26:39 espie Exp $ # # Copyright (c) 2011 Marc Espie # @@ -128,9 +128,9 @@ sub check_change return $d; } -sub change_message +sub percent_message { - my ($self, $diff) = @_; + my $self = shift; my $progress = ''; if (defined $self->{sz}) { if (defined $self->{expected} && @@ -141,17 +141,22 @@ sub change_message $progress = ' '.$self->{sz}; } } - my $unchanged = " unchanged for "; + return $progress; +} +sub frozen_message +{ + my ($self, $diff) = @_; + my $unchanged = " frozen for "; if ($diff > 7200) { - $unchanged .= int($diff/3600)." hours"; + $unchanged .= int($diff/3600)." HOURS!"; } elsif ($diff > 300) { - $unchanged .= int($diff/60)." minutes"; + $unchanged .= int($diff/60)."mn"; } elsif ($diff > 10) { - $unchanged .= int($diff)." seconds"; + $unchanged .= int($diff)."s"; } else { $unchanged = ""; } - return $progress.$unchanged; + return $unchanged; } sub reset_offset diff --git a/infrastructure/lib/DPB/Fetch.pm b/infrastructure/lib/DPB/Fetch.pm index ccd75039d3d..bf7a2de0704 100644 --- a/infrastructure/lib/DPB/Fetch.pm +++ b/infrastructure/lib/DPB/Fetch.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Fetch.pm,v 1.55 2013/09/16 11:23:50 espie Exp $ +# $OpenBSD: Fetch.pm,v 1.56 2013/09/18 13:26:39 espie Exp $ # # Copyright (c) 2010 Marc Espie # @@ -832,8 +832,9 @@ sub name sub watched { my ($self, $current, $core) = @_; - my $diff = $self->{watched}->check_change($current); - my $msg = $self->{watched}->change_message($diff); + my $w = $self->{watched}; + my $diff = $w->check_change($current); + my $msg = $w->progress_message . $w->frozen_message($diff); my $to = $core->fetch_timeout; if (defined $to) { if ($diff > $to) { diff --git a/infrastructure/lib/DPB/Job/Port.pm b/infrastructure/lib/DPB/Job/Port.pm index 4cec8a84b62..10b3cd4e9bf 100644 --- a/infrastructure/lib/DPB/Job/Port.pm +++ b/infrastructure/lib/DPB/Job/Port.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Port.pm,v 1.112 2013/09/08 11:10:59 espie Exp $ +# $OpenBSD: Port.pm,v 1.113 2013/09/18 13:26:40 espie Exp $ # # Copyright (c) 2010 Marc Espie # @@ -29,6 +29,8 @@ sub setup } sub is_serialized { 0 } +sub want_frozen { 1 } +sub want_percent { 1 } sub finalize { @@ -235,6 +237,7 @@ package DPB::Task::Port::Serialized; our @ISA = qw(DPB::Task::Port); sub is_serialized { 1 } +sub want_percent { 0 } sub setup { @@ -302,6 +305,8 @@ sub setup return $_[0]; } +sub want_frozen { 0 } + sub run { my ($self, $core) = @_; @@ -486,6 +491,8 @@ sub finalize package DPB::Task::Port::ShowSize; our @ISA = qw(DPB::Task::Port); +sub want_percent { 0 } + sub fork { my ($self, $core) = @_; @@ -526,6 +533,8 @@ our @ISA=qw(DPB::Task::Port); sub notime { 1 } +sub want_percent { 0 } + sub run { my ($self, $core) = @_; @@ -582,6 +591,7 @@ package DPB::Task::Port::BaseClean; our @ISA = qw(DPB::Task::BasePort); sub notime { 1 } +sub want_percent { 0 } sub finalize { @@ -928,9 +938,16 @@ sub set_watch sub watched { my ($self, $current, $core) = @_; - return "" unless defined $self->{watched}; - my $diff = $self->{watched}->check_change($current); - my $msg = $self->{watched}->change_message($diff); + my $w = $self->{watched}; + return "" unless defined $w; + my $diff = $w->check_change($current); + my $msg = ''; + if ($self->{task}->want_percent) { + $msg .= $w->percent_message; + } + if ($self->{task}->want_frozen) { + $msg .= $w->frozen_message($diff); + } my $stuck = $core->stuck_timeout; if (defined $stuck) { if ($diff > $stuck) {