Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e3ff1eb6

Von Sven Schöling vor mehr als 12 Jahren hinzugefügt

  • ID e3ff1eb6af5a2f6410be2bc28860d6237613cf3d
  • Vorgänger 4c2604b3
  • Nachfolger 7846799c

Bessere Erkennung von optionalen Paketen im Installationscheck

- IO::Socket::SSL wird jetzt als optional geführt.
Wird für LDAP Verbindungen gebraucht wenn TLS benutzt werden soll.

- Wenn Config::Std nicht gefunden wurde, und damit die Konfiguration nicht
eingelesen werden kann, wird Net::LDAP als optional geführt und eine Warnung
ausgegeben, dass evtl nicht aufgelöste Abhängigkeiten existieren.

Unterschiede anzeigen:

SL/LxOfficeConf.pm
2 2

  
3 3
use strict;
4 4

  
5
use Config::Std;
6
use Encode;
7

  
8 5
my $environment_initialized;
9 6

  
7
sub safe_require {
8
  my ($class, $may_fail);
9
  my $failed;
10
  $failed = !eval {
11
    require Config::Std;
12
    require Encode;
13
  };
14

  
15
  if ($failed) {
16
    if ($may_fail) {
17
      warn $@;
18
      return 0;
19
    } else {
20
      die $@;
21
    }
22
  }
23

  
24
  Config::Std->import;
25
  Encode->import;
26

  
27
  return 1;
28
}
29

  
10 30
sub read {
11
  my ($class, $file_name) = @_;
31
  my ($class, $file_name, $may_fail) = @_;
12 32

  
13
  read_config 'config/lx_office.conf.default' => %::lx_office_conf;
33
  return unless $class->safe_require($may_fail);
34

  
35
  read_config('config/lx_office.conf.default' => \%::lx_office_conf);
14 36
  _decode_recursively(\%::lx_office_conf);
15 37

  
16 38
  $file_name ||= 'config/lx_office.conf';
17 39

  
18 40
  if (-f $file_name) {
19
    read_config $file_name => my %local_conf;
41
    read_config($file_name => \ my %local_conf);
20 42
    _decode_recursively(\%local_conf);
21 43
    _flat_merge(\%::lx_office_conf, \%local_conf);
22 44
  }
23 45

  
24 46
  _init_environment();
25 47
  _determine_application_paths();
48

  
49
  return 1;
26 50
}
27 51

  
28 52
sub _decode_recursively {

Auch abrufbar als: Unified diff