Code

Updated system Mangement
[gosa.git] / gosa-si / gosa-si-server
index f32876de249626da6504a833e860ad5998bb644e..b93f07cc7a58c9c717e13303941b4b720f0f92a0 100755 (executable)
@@ -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);