Make Config::Auto an optional module.
authorEric Wilde <ewilde@bsmdevelopment.com>
Mon, 12 Nov 2018 10:20:45 +0000 (23:20 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Mon, 12 Nov 2018 10:20:45 +0000 (23:20 +1300)
bin/mythtv-status

index 754eb384560f2e534db0bea8c75f135c980d4c19..10aff7618eb7823becd9d23f0df8b952afe0b44c 100755 (executable)
@@ -26,20 +26,22 @@ use POSIX qw/strftime :sys_wait_h/;
 
 use MIME::Entity;
 use Pod::Usage;
-use Config::Auto;
 use Sys::SigAction qw/timeout_call/;
 use Encode;
 
 # Try and load a config file first, and then allow the command line
-# to over ride what is in the config file.
-my $c = eval {
-  Config::Auto::parse("mythtv-status.yml",
-    format => 'yaml',
-  )
-};
-if ($@ && $@ !~ /^No config file found/) {
-  # Die on any issues loading the config file, apart from it not existing.
-  die $@;
+# to override what is in the config file.
+my ($c);
+
+if (eval("{ local \$SIG{__DIE__}; require Config::Auto; }")) {
+  $c = eval {
+    Config::Auto::parse("mythtv-status.yml", format => 'yaml')
+  };
+
+  if ($@ && $@ !~ /^No config file found/) {
+    # Die on any issues loading the config file, apart from it not existing.
+    die $@;
+  }
 }
 
 # Some sane defaults.