Merge branch 'release-0.10'
authorAndrew Ruthven <andrew@etc.gen.nz>
Mon, 28 Oct 2013 10:17:33 +0000 (23:17 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Mon, 28 Oct 2013 10:17:33 +0000 (23:17 +1300)
ChangeLog
Makefile
bin/mythtv-status
debian/changelog
debian/control
debian/postinst
t/01-test-help.t
t/15-unicode.t

index 3de465e5e4bf4756171a037a5dc0012ec559501f..3695b12fb3f1744d893cc7fba77b505627283e0f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-10-28     Andrew Ruthven
+        Guard against zero total disk space, this affected Werner Mahr.
+
+       Fix up processing of dates with oldstyle timestamps for in
+       progress recordings.
+
+       Add support to specify the date we're running mythtv-status on
+       so that we can test various scenarios.
+
+2013-10-27     Andrew Ruthven
+       Handle the handling in POD in Perl 5.18. Force the return code
+       =item lines to be handled correctly.
+
 2013-02-09     Andrew Ruthven
        Update Jan's patch to be acceptable to non-US folks.  ;)
 
index d46fa7b8fc38ff2a1101011df252faad385cebf2..cfaa7f2856479a8949583b44cef9617e4c6e6cde 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -55,6 +55,8 @@ publish: $(RELEASE_FILES)
        @chmod o+r $(tarball_dir)/*-$(version).*
        @ln -sf `basename $(tarball)` $(tarball_dir)/$(package)-latest.tar.gz
 
+upload: $(RELEASE_FILES)
+       for release in $(releases); do cd build/$$release; dput $(package)_$(deb_version)*.changes; done
 
 test:
        PERL_DL_NONLAZY=1 perl "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE))" $(TEST_FILES)
index debb24038197b9415b0a3ba8a6a92fa2fb1b6a79..03135748ef9866ae1ad5332f83f069d9c47f2613 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (c) 2007-2009 Andrew Ruthven <andrew@etc.gen.nz>
+# Copyright (c) 2007-2013 Andrew Ruthven <andrew@etc.gen.nz>
 # This code is hereby licensed for public consumption under the GNU GPL v3.
 #
 # You should have received a copy of the GNU General Public License along
@@ -43,15 +43,13 @@ if ($@ && $@ !~ /^No config file found/) {
 }
 
 # Some sane defaults.
-$c->{'host'} ||= "localhost";
-$c->{'port'} ||= "6544";
-$c->{'description'} ||= 0;
+$c->{'host'}    ||= "localhost";
+$c->{'port'}    ||= "6544";
+$c->{'colour'}  ||= 0;
 $c->{'episode'} ||= 0;
-$c->{'encoder_details'} ||= 0;
-$c->{'encoder_skip_idle'} ||= 1;
-$c->{'colour'} ||= 0;
-#my %display;
-# my @email;
+$c->{'description'} ||= 0;
+$c->{'encoder_details'}     ||= 0;
+$c->{'encoder_skip_idle'}   ||= 1;
 $c->{'email_only_on_alert'} ||= 0;
 my $help = 0;
 my $verbose = 0;
@@ -83,11 +81,11 @@ my @size_thresholds = (
   {
     'unit' => 'MB',
   },
-  );
+);
 
 my $return_code_only = 0;
 
-my $VERSION = '0.10.3';
+my $VERSION = '0.10.4';
 
 # Some display blocks are disabled by default:
 $c->{'display'}{'Shows due to Auto Expire'} = 0;
@@ -126,6 +124,7 @@ GetOptions(
   'file=s'                => \$c->{'xml_file'},
   's|save-file=s'         => \$c->{'save_file'},
 
+  'date=s'  => \$c->{'date'},
   'verbose' => \$verbose,
   'help|?'  => \$help,
   ) || pod2usage("\nUse --help for help.\n");
@@ -214,7 +213,7 @@ my @blocks = (
       '&date' => sub {
         my ($value, $vars) = @_;
 
-       if ($vars->{ISODate} =~ /Z$/) {
+       if (defined $vars->{ISODate} && $vars->{ISODate} =~ /Z$/) {
          return process_iso_date($vars->{ISODate});
        } else {
          return $vars->{date} . ", " . $vars->{time};
@@ -315,14 +314,20 @@ my @blocks = (
         my ($value, $vars) = @_;
 
        if ($value =~ /Z$/) {
-         return process_iso_date($value, { date => 0 });
+         $value = process_iso_date($value, { date => 0 });
        } else {
-         return $value =~ s/.*T//;
+         $value =~ s/.*T//;
        }
+
+       return $value;
       },
     },
     'subs' => {
-      'find_next' => sub { $warn_present ||= 1; $next_time = 'now' }
+      'find_next' =>
+        sub {
+          $warn_present ||= 1;
+          $next_time    = $c->{'date'} || 'now';
+        }
       }
   },
 
@@ -459,7 +464,7 @@ my @blocks = (
           if $next_time eq 'Never' || $next_time eq 'now';
 
         my $err;
-        my $delta   = DateCalc('now', $next_time, \$err, 0);
+        my $delta   = DateCalc($c->{'date'} || 'now', $next_time, \$err, 0);
         my $seconds = Delta_Format($delta, 'approx', 0, '%sh');
 
        # If the next recording is more than 1 day in the future,
@@ -547,6 +552,16 @@ my @blocks = (
 our $today    = substr(ParseDate('today'), 0, 8);
 our $tomorrow = substr(ParseDate('tomorrow'), 0, 8);
 
+if ($c->{'date'}) {
+  $today    = substr(ParseDate($c->{'date'}), 0, 8);
+  $tomorrow = substr(DateCalc($c->{'date'}, ParseDateDelta('1 day')), 0, 8);
+}
+
+if ($verbose) {
+  print "Today:    $today\n";
+  print "Tomorrow: $tomorrow\n";
+}
+
 # If we're in return code only mode then we disable all blocks
 # except for those explicitly enabled.
 if ($return_code_only) {
@@ -1063,8 +1078,15 @@ sub calc_disk_space_percentage {
     return 'unknown';
   }
 
+  # Guard against zero disk space.
+  $total = normalise_disk_space($total);
+  if ($total == 0) {
+    warn "Total disk space is 0 MB, I can't use that to calculate a percentage!\n";
+    return 'unknown';
+  }
+
   my $percent = sprintf("%.1f",
-    normalise_disk_space($used) / normalise_disk_space($total) * 100);
+    normalise_disk_space($used) / $total * 100);
 
   if ($percent >= $c->{'disk_space_warn'}) {
     $exit_value ||= 1;
@@ -1248,6 +1270,10 @@ about to be recorded.
 
 Use colour when showing the status of the encoder(s).
 
+=item B<--date>
+
+Set the date to run as, used for debugging purposes.
+
 =item B<-d, --description>
 
 Display the description for the scheduled recordings.
@@ -1407,11 +1433,11 @@ mythtv-status provides some return codes.
 
 =over
 
-=item 0
+=item 0Z<>
 
 Standard return code
 
-=item 1
+=item 1Z<>
 
 A warning is generated
 
index 602eb265b1f0279cc134a17919af37b3d8013b75..acef673061a1f095e1e64f9f660d7d422c8a2582 100644 (file)
@@ -1,4 +1,13 @@
-mythtv-status (0.10.3) unstable; urgency=low
+mythtv-status (0.10.4-1) unstable; urgency=low
+
+  * New upstream release (Closes: #724166, #709377, #709449).
+  * Remove an extraneous hypen in our postinst (Cloases: #704436)
+    Thank you Francois Marier for the patch.
+  * Update standards version to 3.9.4, remove obsolete control field
+
+ -- Andrew Ruthven <andrew@etc.gen.nz>  Mon, 28 Oct 2013 23:03:44 +1300
+
+mythtv-status (0.10.3-1) unstable; urgency=low
 
   * New upstream release (Closes: LP#1096252).
 
index 31417ea2a7eaab9df32e5543cd62232145caffba..4ddc975b1c26779d598a5f73928ce490e1ea311c 100644 (file)
@@ -2,9 +2,8 @@ Source: mythtv-status
 Section: misc
 Priority: extra
 Maintainer: Andrew Ruthven <andrew@etc.gen.nz>
-DM-Upload-Allowed: yes
 Build-Depends: debhelper (>= 6), po-debconf
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
 Homepage: http://www.etc.gen.nz/projects/mythtv/mythtv-status.html
 Vcs-Git: http://git.etc.gen.nz/mythtv-status.git
 Vcs-Browser: http://git.etc.gen.nz/cgi-bin/gitweb.cgi?p=mythtv-status.git;a=summary
index 54aee1e020ef682cec981285a828d5eb2e344ee3..59c324c3105e49c337612fb630ed4d88ce59e4c2 100644 (file)
@@ -14,7 +14,7 @@ case "$1" in
     DEBIANCONFIG=/etc/default/$PACKAGE
 
     # Default to --email-only-on-alert but allow it be unset in the config file.
-    EMAIL_ARGS="---email-only-on-alert"
+    EMAIL_ARGS="--email-only-on-alert"
 
     # load current settings, most of which will be overwritten.
     [ -f $DEBIANCONFIG ] && . $DEBIANCONFIG
index 6c343ee9a52d704659ffb1b1796f6a06feb66ba0..205268640fddb01dd57f802f91de549efd5bc2e2 100644 (file)
@@ -29,6 +29,9 @@ Options:
     -c, --colour
         Use colour when showing the status of the encoder(s).
 
+    --date
+        Set the date to run as, used for debugging purposes.
+
     -d, --description
         Display the description for the scheduled recordings.
 
index e80e9ff70e2e7e5fd6db3feb18e48000485f3900..344015e3ef724343041db6ed5b29a5b53c5c0622 100644 (file)
@@ -7,7 +7,7 @@ use FindBin qw/$Bin/;
 my $xml = "$Bin/xml/wide-character.xml";
 
 # Test that the guide data warning is present.
-my $out = `$Bin/../bin/mythtv-status -d --file $xml 2>&1`;
+my $out = `$Bin/../bin/mythtv-status -d --file $xml --date '2012-07-07 22:12' 2>&1`;
 
 #diag($out);