#!/usr/bin/perl
#
# $Header: //sapdb/V76/c_00/b_34/sys/src/install/perl/packages/saputl/instsaputl#1 $
# $DateTime: 2006/09/04 17:37:38 $
# $Change: 134683 $
#
# Desc:

import SAPDB::Install::StdIO;
import SAPDB::Install::System;
import SAPDB::Install::System::Unix;
import SAPDB::Install::System::Unix::Dir;
import SAPDB::Install::Misc;
import SAPDB::Install::Registry;
import SAPDB::Install::Tools;
import SAPDB::Install::SetUser;
import SAPDB::Install::Cwd;
import SAPDB::Install::Trace;

$progpath{'name'} = 'independent program path';
$progpath{'default'}=getSysProgPath().'/sdb/programs'; #default
$progpath{'opt'} = 'indep_prog=s';
#$progpath{'mode'}=0775; => use default now (0555)
$progpath{'update'}=0;

@paths = (\%datapath,\%progpath);
$main_path=\%progpath;
$skip=0;
@opts=();


$DEBUG = 0;

sub preinstall{
       	local (*registry) = @_;
     	my ($indep_data,$indep_prog)=readIndepPath();
        if($indep_data){
                        $datapath{'value'}=$indep_data;
						#$SAPDB::Install::Values::log->LogPath=("$indep_data/wrk");
						$path_instreg = $indep_data.'/config/install';
                        
                        
        }
        if($indep_prog){
                $progpath{'value'}=$indep_prog;
        }

		#
		#	special handling of used libs sapu16 and sapni
		#	during update (used by niserver / vserver service)	
		#
		
		if($^O !~ /mswin/i and $indep_prog =~ /\S/){
		
			foreach my $file ('libsapu16.so','libsapni.so',
							  'libsapu16.sl','libsapni.sl'){
				if(-f "$indep_prog/lib/$file"){
					if(open(TFD,">>$indep_prog/lib/$file")){
						close(TFD);
					}
					else{
						unbusy("$indep_prog/lib/$file");
					}
				}
			}
			
		}
}
 

sub postprepare{

}


sub postinstall{

}

sub registerWin{
		return 1;
}

sub registerUX{
	return 1;
}


*register = $^O =~ /^MsWin/i ? \&registerWin : \&registerUX;



sub unregisterWin{
	return 1;
}

sub unregisterUX{
	return 1;
}

*unregister = $^O =~ /^MsWin/i ? \&unregisterWin : \&unregisterUX;


sub preuninstall{
	return 1;
}


sub postuninstall{
	return 1;
}



1;
                                                                                                         
