diff options
author | Konstantin Ryabitsev <mricon@kernel.org> | 2011-12-09 18:48:06 -0500 |
---|---|---|
committer | Konstantin Ryabitsev <mricon@kernel.org> | 2011-12-09 18:48:06 -0500 |
commit | 86b7856ca909c3475497383888875042ca7e50eb (patch) | |
tree | 7b8cf7a3019549ca22ec22bee20dc25b769948c4 | |
parent | 589f27ae1854965b79d662ff5c3686c63a4779ba (diff) | |
download | kup-86b7856ca909c3475497383888875042ca7e50eb.tar.gz |
Show 1 decimal when showing progress feedback.
-rw-r--r-- | ChangeLog | 1 | ||||
-rwxr-xr-x | kup-server | 28 |
2 files changed, 18 insertions, 11 deletions
@@ -1,6 +1,7 @@ 2011-12-08 Konstantin Ryabitsev <mricon@kernel.org> - master * Allow specifying the key to use for gpg-sign-all. * Remove kup.kernel.org as the default host setting. + * Show 1 decimal when reporting progress in kup-server. 2011-11-29 Konstantin Ryabitsev <mricon@kernel.org> - 0.3.2 * Give feedback during compression stage on the server, as that is @@ -336,8 +336,8 @@ sub percentage($$) { my($num, $den) = @_; - my $v = eval { int(100*$num/$den); }; - return defined($v) ? $v : 100; + return 100 if $num eq $den || $den eq 0; + return sprintf('%.1f', 100*$num/$den); } sub get_blob($$@) @@ -415,7 +415,7 @@ sub get_blob($$@) if ($left == 0 ? ($prog_perc >= 0) : # Show 100% iff we already showed a progress bar ($now > $prog_time && $perc != $prog_perc)) { - printf STDERR "%10u [%-50s] %3u%%\r", $len, '=' x ($perc >> 1), $perc; + printf STDERR "%10u [%-50s] %4s%%\r", $len, '=' x ($perc >> 1), $perc; $prog_perc = $perc; $prog_time = $now; } @@ -579,6 +579,14 @@ sub get_sign_data(@) $have_sign = 1; } +sub term_children(@) +{ + my(%workers) = @_; + foreach my $c (keys %workers) { + kill('TERM', $c); + } +} + sub make_compressed_data() { die if (!$have_data); @@ -649,9 +657,8 @@ sub make_compressed_data() if ($w == 0) { my $now = time(); if ($now - $start_time >= $timeout_compress) { - foreach my $c (keys %workers) { - kill('TERM', $c); - } + print STDERR "\n"; + term_children(%workers); fatal("Timeout compressing output data"); } @@ -665,7 +672,7 @@ sub make_compressed_data() foreach my $e (sort(keys %infds)) { my $fpos = sysseek($infds{$e}, 0, SEEK_CUR); push(@ostr, - sprintf("%s:%3u%%", $e, + sprintf("%s:%4s%%", $e, percentage($fpos, $tarsize))); } print STDERR "Compressing: ", join(' ', @ostr), "\r"; @@ -674,9 +681,8 @@ sub make_compressed_data() my $e = $workers{$w}; undef $workers{$w}; if ($status) { - foreach my $c (keys %workers) { - kill('TERM', $c); - } + print STDERR "\n"; + term_children(%workers); fatal("Failed to compress output data"); } @@ -684,7 +690,7 @@ sub make_compressed_data() my $zpc = percentage($zsize, $tarsize); - syslog(LOG_DEBUG, "%s compression: %u -> %u bytes (%d%%)", + syslog(LOG_DEBUG, "%s compression: %u -> %u bytes (%s%%)", $e, $tarsize, $zsize, $zpc); $nworkers--; |