diff --git a/gosa-si/gosa-si-server b/gosa-si/gosa-si-server
index 9bd722dca7bb080788ccbcc8193c255fa4b1cc3e..866f60bf5ffbecfbbf463751726d01afb9abd118 100755 (executable)
--- a/gosa-si/gosa-si-server
+++ b/gosa-si/gosa-si-server
my $ldap_handle;
if (not defined $session_id ) { $session_id = 0 };
+ if ($session_id =~ /[^0-9]*/) { $session_id = 0 };
if ($session_id == 0) {
daemon_log("$session_id DEBUG: get_ldap_handle invoked without a session_id, create a new ldap_handle", 7);
sub create_fai_server_db {
- my ($table_name, $kernel, $dont_create_packages_list) = @_;
+ my ($table_name, $kernel, $dont_create_packages_list, $session_id) = @_;
my $result;
+
+ if (not defined $session_id) { $session_id = 0; }
my $ldap_handle = &get_ldap_handle();
if(defined($ldap_handle)) {
- daemon_log("INFO: create_fai_server_db: start", 5);
+ daemon_log("$session_id INFO: create_fai_server_db: start", 5);
my $mesg= $ldap_handle->search(
base => $ldap_base,
scope => 'sub',
}
}
}
- daemon_log("INFO: create_fai_server_db: finished", 5);
+ daemon_log("$session_id INFO: create_fai_server_db: finished", 5);
# TODO: Find a way to post the 'create_packages_list_db' event
if(!defined($dont_create_packages_list)) {
- &create_packages_list_db($ldap_handle);
+ #&create_packages_list_db;
+ &create_packages_list_db(undef, undef, $session_id);
}
}
}
}
}
- daemon_log("$session_id DEBUG: Inserting ".scalar @sql_list." entries to DB",6);
+
+ daemon_log("$session_id DEBUG: Inserting ".scalar @sql_list." entries to DB",9);
if(@sql_list) {
unshift @sql_list, "DELETE FROM $table_name";
$fai_server_db->exec_statementlist(\@sql_list);
}
sub create_sources_list {
- my ($ldap_handle) = @_;
+ my $ldap_handle = &get_ldap_handle;
my $result="/tmp/gosa_si_tmp_sources_list";
# Remove old file
}
sub create_packages_list_db {
- my ($ldap_handle, $sources_file) = @_ ;
+ my ($ldap_handle, $sources_file, $session_id);
if (not defined $ldap_handle) {
$ldap_handle= &get_ldap_handle();
return;
}
}
-
if (not defined $sources_file) {
- $sources_file = &create_sources_list($ldap_handle);
+ $sources_file = &create_sources_list;
}
+ if (not defined $session_id) { $session_id = 0; }
my $line;
daemon_log("INFO: create_packages_list_db: start", 5);
my( $baseurl, $dist, $sections ) = ($line =~ /^deb\s([^\s]+)\s+([^\s]+)\s+(.*)$/);
my $section;
foreach $section (split(' ', $sections)){
- &parse_package_info( $baseurl, $dist, $section );
+ &parse_package_info( $baseurl, $dist, $section, $session_id );
}
}
}
}
sub parse_package_info {
- my ($baseurl, $dist, $section)= @_;
+ my ($baseurl, $dist, $section, $session_id)= @_;
my ($package);
my ($path) = ($baseurl =~ m%://[^/]*(.*)$%);
foreach $package ("Packages.gz"){
daemon_log("DEBUG: create_packages_list: fetch $baseurl, $dist, $section", 7);
get_package( "$baseurl/dists/$dist/$section/binary-$arch/$package", "$outdir/$dist/$section" );
- parse_package( "$outdir/$dist/$section", $dist, $path );
+ parse_package( "$outdir/$dist/$section", $dist, $path, $session_id );
}
- find(\&cleanup_and_extract, keys( %repo_dirs ) );
+ find(\&cleanup_and_extract($session_id), keys( %repo_dirs ));
}
sub get_package {
}
sub parse_package {
- my ($path, $dist, $srv_path)= @_;
+ my ($path, $dist, $srv_path, $session_id)= @_;
+ if (not defined $session_id) { $session_id = 0;}
my ($package, $version, $section, $description);
my @sql_list;
my $PACKAGES;
if(not stat("$path.in")) {
- daemon_log("ERROR: create_packages_list: parse_package: file '$path.in' is not readable",1);
+ daemon_log("$session_id ERROR: create_packages_list: parse_package: file '$path.in' is not readable",1);
return;
}
open($PACKAGES, "<$path.in");
if(not defined($PACKAGES)) {
- daemon_log("ERROR: create_packages_list_db: parse_package: can not open '$path.in'",1);
+ daemon_log("$session_id ERROR: create_packages_list_db: parse_package: can not open '$path.in'",1);
return;
}
}
sub cleanup_and_extract {
+ my ($session_id) = @_ ;
my $fileinfo = $repo_files{ $File::Find::name };
if( defined $fileinfo ) {
if( -f "$dir/DEBIAN/templates" ) {
- daemon_log("DEBUG: Found debconf templates in '$package' - $newver", 5);
+ daemon_log("$session_id DEBUG: Found debconf templates in '$package' - $newver", 5);
my $tmpl= "";
{