#!/usr/bin/perl -w
-use strict;
-use Getopt::Long;
-use Pod::Usage;
-use Term::ANSIColor;
-use Text::Wrap;
our $master_templates;
BEGIN {
- unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
- push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+ use FindBin;
+
+ unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML).
+ push (@INC, $FindBin::Bin . '/..'); # '.' will be removed from @INC soon.
+ push (@INC, $FindBin::Bin . '/../modules/fallback'); # Only use our own versions of modules if there's no system version.
# this is a default dir. may be wrong in your installation, change it then
- $master_templates = './templates/print/';
+ $master_templates = $FindBin::Bin . '/../templates/print/';
}
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+use Term::ANSIColor;
+use Text::Wrap;
+
unless (eval { require Config::Std; 1 }){
print STDERR <<EOL ;
+------------------------------------------------------------------------------+
);
my %install_methods = (
- apt => { key => 'debian', install => 'sudo apt-get install', system => "Debian, Ubuntu" },
+ apt => { key => 'debian', install => 'sudo apt install', system => "Debian, Ubuntu" },
yum => { key => 'fedora', install => 'sudo yum install', system => "RHEL, Fedora, CentOS" },
zypper => { key => 'suse', install => 'sudo zypper install', system => "SLES, openSUSE" },
cpan => { key => 'name', install => "sudo cpan", system => "CPAN" },
if ($check{r}) {
print_header('Checking Required Modules');
check_module($_, required => 1) for @SL::InstallationCheck::required_modules;
+ check_pdfinfo();
}
if ($check{o}) {
print_header('Checking Optional Modules');
check_module($_, optional => 1) for @SL::InstallationCheck::optional_modules;
+ check_aqbanking();
}
if ($check{d}) {
print_header('Checking Developer Modules');
}
}
+sub check_pdfinfo {
+ my $line = "Looking for pdfinfo executable";
+ my $shell_out = `pdfinfo -v 2>&1 | grep version 2> /dev/null`;
+ my ($label,$vers,$ver_string) = split / /,$shell_out;
+ if ( $label && $label eq 'pdfinfo' ) {
+ chop $ver_string;
+ print_line($line, $ver_string, 'green');
+ } else {
+ print_line($line, 'not installed','red');
+ my %modinfo = ( debian => 'poppler-utils' );
+ push @missing_modules, \%modinfo;
+
+ }
+}
+
+sub check_aqbanking {
+ my $aqbin = $::lx_office_conf{applications}->{aqbanking};
+ if ( !$aqbin ) {
+ print_line('Looking for aqbanking executable', 'not configured','red');
+ }
+ else {
+ my $line = "Looking for aqbanking executable '".$aqbin."'";
+ my $shell_out = `$aqbin versions 2>&1 | grep AqBanking-CLI 2> /dev/null`;
+ my ($label,$version) = split /:/,$shell_out;
+ if ( $label && $label eq ' AqBanking-CLI' ) {
+ chop $version;
+ print_line($line, $version, 'green');
+ } else {
+ print_line($line, 'not installed','red');
+ my %modinfo = ( name => 'aqbanking' );
+ push @missing_modules, \%modinfo;
+ }
+ }
+}
+
sub check_module {
my ($module, %role) = @_;