X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Fgosa-si-server;h=b93f07cc7a58c9c717e13303941b4b720f0f92a0;hb=dbf1dbdec6f43603fcf9dc0f0bdb30dadc0f9908;hp=f32876de249626da6504a833e860ad5998bb644e;hpb=f60f3b37f09fa6668da057845f4b3aa06cf5ecd6;p=gosa.git diff --git a/gosa-si/gosa-si-server b/gosa-si/gosa-si-server index f32876de2..b93f07cc7 100755 --- a/gosa-si/gosa-si-server +++ b/gosa-si/gosa-si-server @@ -241,7 +241,7 @@ EOF #=============================================================================== sub read_configfile { my $cfg; - if( defined( $cfg_file) && ( length($cfg_file) > 0 )) { + if( defined( $cfg_file) && ( (-s $cfg_file) > 0 )) { if( -r $cfg_file ) { $cfg = Config::IniFiles->new( -file => $cfg_file ); } else { @@ -968,6 +968,7 @@ sub _start { $kernel->yield('create_fai_server_db', $fai_server_tn ); $kernel->yield('create_fai_release_db', $fai_release_tn ); $kernel->sig(USR1 => "sig_handler"); + $kernel->sig(USR2 => "create_packages_list_db"); } sub sig_handler { @@ -1888,11 +1889,13 @@ sub create_sources_list { ); if($mesg->count) { foreach my $entry(@{$mesg->{'entries'}}) { - my ($server, $tag, $release, $sections)= split /\|/, $entry->get_value('FAIrepository'); - my $line = "deb $server $release"; - $sections =~ s/,/ /g; - $line.= " $sections"; - print $fh $line."\n"; + foreach my $value(@{$entry->get_value('FAIrepository', asref => 1)}) { + my ($server, $tag, $release, $sections)= split /\|/, $value; + my $line = "deb $server $release"; + $sections =~ s/,/ /g; + $line.= " $sections"; + print $fh $line."\n"; + } } } } @@ -1904,10 +1907,15 @@ sub create_sources_list { sub create_packages_list_db { my ($ldap_handle, $sources_file) = @_ ; - if (not defined $ldap_handle) { - daemon_log("0 ERROR: no ldap_handle available to create_packages_list_db", 1); - return; - } + if (not defined $ldap_handle) { + $ldap_handle= &get_ldap_handle(); + + if (not defined $ldap_handle) { + daemon_log("0 ERROR: no ldap_handle available to create_packages_list_db", 1); + return; + } + } + if (not defined $sources_file) { $sources_file = &create_sources_list($ldap_handle); } @@ -2183,6 +2191,7 @@ $login_users_db = GOSA::DBsqlite->new($login_users_file_name); $login_users_db->create_table($login_users_tn, \@login_users_col_names); # connect to fai_server_db and fai_release_db +unlink($fai_server_file_name); $fai_server_db = GOSA::DBsqlite->new($fai_server_file_name); $fai_server_db->create_table($fai_server_tn, \@fai_server_col_names); $fai_server_db->create_table($fai_release_tn, \@fai_release_col_names);