Package: workrave
Version: 1.10.4-3
Severity: wishlist
Tags: patch
This is a followup for bug#825982.
The scripts mentionned in that bug report don't actually work so well,
so I have made the following patch so that the collection script
actually runs properly and that it deals with corrupted data a little
better.
--- workrave-1.10.15.orig/contrib/plot/workrave-dump
+++ workrave-1.10.15/contrib/plot/workrave-dump
@@ -1,6 +1,8 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
use strict;
+use warnings;
+use warnings::register;
use integer;
use POSIX qw(strftime);
use Time::Local;
@@ -51,13 +53,18 @@ sub dumpdata($$$$$)
{
my ($tmdate, $break, $misc, $breakstats, $miscstats) = @_;
- die "No timestamp at line $.\n" if !defined($tmdate);
- die "No breaks at line $.\n" if !defined($break);
+ warnings::warn "No timestamp at line $.\n" if !defined($tmdate);
+ warnings::warn "No breaks at line $.\n" if !defined($break);
foreach my $breaktype (0..2) {
- die "No breaktype #$breaktype at line $.\n"
- if !defined($break->{$breaktype});
+ if (!defined($break->{$breaktype})) {
+ warnings::warn "No breaktype #$breaktype at line $.\n";
+ return;
+ }
}
- die "No misc at line $.\n" if !defined($misc);
+ warnings::warn "No misc at line $.\n" if !defined($misc);
+ if (!defined($tmdate) || !defined($break) || !defined($misc)) {
+ return;
+ }
my $ts = strftime("%Y%m%d%H%M", gmtime(timegm(0,
@$tmdate{qw(min hour mday mon year)})));
@@ -85,7 +92,7 @@ my $step = 24 * 3600; # 24-hr steps
my $heartbeat = 4 * $step;
my (@DS);
-my @breaktypes qw(micro rest daily);
+my @breaktypes = qw(micro rest daily);
foreach my $breaktype (@breaktypes) {
foreach my $breakstat (@breakstats) {
my $key = "$breaktype$breakstat";
@@ -106,6 +113,7 @@ my ($tmdate, $break, $misc) = (undef, un
open(SOURCE, $source) or die "open $source: $!\n";
while (<SOURCE>) {
chomp;
+ s/^\0*//; # remove corrupted data
if (/^WorkRaveStats 4$/) {
# Ignore header
next;
-- System Information:
Debian Release: 8.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
'stable'), (1, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 4.5.0-0.bpo.2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages workrave depends on:
ii gconf-service 3.2.6-3
ii libatk1.0-0 2.14.0-1
ii libatkmm-1.6-1 2.22.7-2.1
ii libc6 2.19-18+deb8u4
ii libcairo-gobject2 1.14.0-2.1+deb8u1
ii libcairo2 1.14.0-2.1+deb8u1
ii libcairomm-1.0-1 1.10.0-1.1
ii libdbusmenu-glib4 12.10.2-1
ii libdbusmenu-gtk3-4 12.10.2-1
ii libgcc1 1:4.9.2-10
ii libgconf-2-4 3.2.6-3
ii libgdk-pixbuf2.0-0 2.31.1-2+deb8u5
ii libgdome2-0 0.8.1+debian-6
ii libglib2.0-0 2.42.1-1+b1
ii libglibmm-2.4-1c2a 2.42.0-1
ii libgstreamer0.10-0 0.10.36-1.5
ii libgtk-3-0 3.14.5-1+deb8u1
ii libgtkmm-3.0-1 3.14.0-1
ii libice6 2:1.0.9-1+b1
ii libindicator3-7 0.5.0-2
ii libpanel-applet-4-0 3.8.1-7+b1
ii libpango-1.0-0 1.36.8-3
ii libpangocairo-1.0-0 1.36.8-3
ii libpangomm-1.4-1 2.34.0-1.1
ii libpulse-mainloop-glib0 5.0-13
ii libpulse0 5.0-13
ii libsigc++-2.0-0c2a 2.4.0-1
ii libsm6 2:1.2.2-1+b1
ii libstdc++6 4.9.2-10
ii libx11-6 2:1.6.2-3
ii libxml2 2.9.1+dfsg1-5+deb8u1
ii libxss1 1:1.2.2-1
ii libxtst6 2:1.2.2-1+b1
ii multiarch-support 2.19-18+deb8u4
ii workrave-data 1.10.4-3
workrave recommends no packages.
Versions of packages workrave suggests:
ii gnome-panel 3.8.1-7+b1
ii gnome-shell 3.14.4-1~deb8u1
-- Configuration Files:
/etc/sound/events/workrave.soundlist 5948a761ed3cc48d661d99c7e230587f [Errno 2]
Aucun fichier ou dossier de ce type: u'/etc/sound/events/workrave.soundlist
5948a761ed3cc48d661d99c7e230587f'
-- no debconf information