diff options
author | Tor Lillqvist <tlillqvist@suse.com> | 2011-10-03 10:29:58 +0300 |
---|---|---|
committer | Tor Lillqvist <tlillqvist@suse.com> | 2011-10-03 10:37:34 +0300 |
commit | 6e1a8ad89ef08da2b92ac38a8ee1a625eef3b527 (patch) | |
tree | ffd8bb0cf638b71d9a19f4b24c0bd5772c29766f /solenv | |
parent | No need for -DSHAREDLIB, not tested in any source file (diff) | |
download | core-6e1a8ad89ef08da2b92ac38a8ee1a625eef3b527.tar.gz core-6e1a8ad89ef08da2b92ac38a8ee1a625eef3b527.zip |
Bin Hamburg "build server" and BSCLIENT stuff
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/modules/installer/control.pm | 3 | ||||
-rw-r--r-- | solenv/bin/modules/packager/work.pm | 155 | ||||
-rw-r--r-- | solenv/bin/packager.pl | 3 | ||||
-rw-r--r-- | solenv/inc/settings.mk | 10 | ||||
-rw-r--r-- | solenv/inc/target.mk | 6 | ||||
-rw-r--r-- | solenv/inc/tg_ext.mk | 8 |
6 files changed, 4 insertions, 181 deletions
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm index 316bf175bcc2..a2504e1aefe1 100644 --- a/solenv/bin/modules/installer/control.pm +++ b/solenv/bin/modules/installer/control.pm @@ -565,9 +565,6 @@ sub check_updatepack push(@installer::globals::globallogfileinfo, $infoline); $infoline = "Failed to create directory $directory\n"; push(@installer::globals::globallogfileinfo, $infoline); - if ( defined $ENV{'BSCLIENT'} && ( uc $ENV{'BSCLIENT'} eq 'TRUE' ) ) { - installer::exiter::exit_program("ERROR: No write access to SHIPDRIVE allthough BSCLIENT is set.", "check_updatepack"); - } } } else diff --git a/solenv/bin/modules/packager/work.pm b/solenv/bin/modules/packager/work.pm index f84ae22355f4..e18b6fb5127d 100644 --- a/solenv/bin/modules/packager/work.pm +++ b/solenv/bin/modules/packager/work.pm @@ -162,159 +162,4 @@ sub execute_system_calls } } -############################################################## -# Starting the build server with the generated system calls -############################################################## - -sub start_build_server -{ - my ( $targets ) = @_; - - # preparing the directory structure - - my $prj = $ENV{PRJ}; # for example ".."; - my $platform = $ENV{INPATH}; # wntmsci10.pro, unxsols4.pro - my $platformpath = $prj . $packager::globals::separator . $platform; - if ( ! -d $platformpath ) { packager::files::create_directory($miscpath); } - my $miscpath = $platformpath . $packager::globals::separator . "misc"; - if ( ! -d $miscpath ) { packager::files::create_directory($miscpath); } - $miscpath = $miscpath . $packager::globals::separator . "temp"; - if ( -d $miscpath ) { packager::files::remove_complete_directory($miscpath); } # removing old files ! - if ( ! -d $miscpath ) { packager::files::create_directory($miscpath); } - - my $prjroot = ".." . $packager::globals::separator . ".." . $packager::globals::separator . ".." . $packager::globals::separator . ".."; # platform/misc/temp/uniquetempdir - - my $makefilepath = $prj . $packager::globals::separator . "util" . $packager::globals::separator . "makefile.mk"; - - if ( ! $ENV{'PRJNAME'} ) { packager::exiter::exit_program("ERROR: Environment variable PRJNAME not set!", "do_broadcast"); } - my $prjname = $ENV{PRJNAME}; - - my $pkgformat = $ENV{PKGFORMAT}; - - my $prjdep = $prjname . "\\" . "util"; # always windows like path - my @targetdirs; - my @targetlines = (); - # iterating over all targets - for ( my $i = 0; $i <= $#{$targets}; $i++ ) - { - my $target = ${$targets}[$i]; - my $tempdir = $miscpath . $packager::globals::separator . $target; - $tempdir = packager::files::create_unique_directory ($tempdir); - @targetlines=(); - push( @targetlines, "\ngenerated_target : $target\n\n"); # to be included into the makefile.mk - - if ( defined $pkgformat ) { - push( @targetlines, "\n$target : ".'$$@{$(PKGFORMAT:^".")}'."\n\n"); # to be included into the makefile.mk - } - - generate_makefile($tempdir, $makefilepath, $prjroot, $target, \@targetlines); - - do_broadcast($tempdir, $prjname, $prj, $platform, $prjdep); - push @targetdirs, $tempdir; - } -} - -############################################################## -# Generating the makefile in the temporary directory -############################################################## - -sub generate_makefile -{ - my ( $tempdir, $makefilepath, $prjroot, $target, $targetlines_ref ) = @_; - - my $makefile = packager::files::read_file($makefilepath); - - my @targetlines = (); - push( @targetlines, @{$targetlines_ref}); # to be included into the makefile.mk - - $prjroot = $prjroot . "\n"; - - my $uniquename = $tempdir; - get_filename_from_path(\$uniquename); - $uniquename = $uniquename . "\n"; - - my $counter = 0; - my $increase = 1; - - for ( my $i = 0; $i <= $#{$makefile}; $i++ ) - { - if ( ${$makefile}[$i] =~ /^\s*TARGET\s*=.*/ ) { ${$makefile}[$i] = "TARGET=" . $uniquename; } # setting the new project root - - if ( ${$makefile}[$i] =~ /^\s*PRJ\s*=.*/ ) { ${$makefile}[$i] = "PRJ=" . $prjroot; } # setting the new project root - - if ( ${$makefile}[$i] =~ /^\s*\.INCLUDE[\t ]*:[\t ]*target.mk[\t ]*$/ ) { $increase = 0; } # no more increase of the counter - - if ( $increase ) { $counter++; } - } - - splice(@{$makefile}, $counter, 0, @targetlines); # including the new target lines at position $counter - - my $newmakefilepath = $tempdir . $packager::globals::separator . "makefile.mk"; - packager::files::save_file($newmakefilepath, $makefile); -} - -############################################################## -# Generating the broadcasts for the build server -############################################################## - -sub do_broadcast -{ - use File::Temp; - - my ( $tempdir, $prjname, $prj, $platform, $prjdep ) = @_; - - # Syntax: cmd_bcst -s 18 "Version;Environment;Project;Verzeichnis;Restriction[;Abhaengigkeit1][;Abhaengigkeit n]..." - # Example: cmd_bcst -s 18 "SRC680;wntmsci10.pro;instsetoo_native;;instsetoo_native\bla1;instsetoo_native\util" - - if ( ! $ENV{'WORK_STAMP'} ) { packager::exiter::exit_program("ERROR: Environment variable WORK_STAMP not set!", "do_broadcast"); } - my $workstamp = $ENV{WORK_STAMP}; - - my $prjdir = $tempdir; - $prjdir =~ s/$prj/$prjname/; - $prjdir =~ s/\//\\/g; # convert to windows path syntax - - my $tempfiledir = $ENV{TMP}; - $tempfiledir = $tempdir if ( ! defined $tempfiledir ); - my ( $tmpfile_handle, $tmpfile_name ) = mkstemp( $tempfiledir . $packager::globals::separator . "packagerXXXXX"); - if ( ! $tmpfile_handle ) { - packager::exiter::exit_program("ERROR: Couldn't open temporary file \"$tmpfile_name\"!", "do_broadcast"); - } - print $tmpfile_handle "\"$workstamp;$platform;$prjname;$prjdir;nobase;$prjdep\""; - print "to tmpfile: \"$workstamp;$platform;$prjname;$prjdir;nobase;$prjdep\"\n"; - close $tmpfile_handle; - my $returnvalue = system("cmd_bcst -s 18 \@$tmpfile_name"); - print "cmd_bcst -s 18 \@$tmpfile_name\n"; - unlink "$tmpfile_name"; - - if ( $returnvalue ) # an error occurred - { - if (!($packager::globals::ignoreerrors)) { packager::exiter::exit_program("ERROR: Packing not successful!", "do_broadcast"); } - } -} - -############################################################## -# Returning the name of file or directory from complete path -############################################################## - -sub get_filename_from_path -{ - my ($longfilenameref) = @_; - - if ( $packager::globals::isunix ) - { - if ( $$longfilenameref =~ /^.*\/(\S.+\S?)/ ) - { - $$longfilenameref = $1; - } - } - - if ( $packager::globals::iswin ) - { - if ( $$longfilenameref =~ /^.*\\(\S.+\S?)/ ) - { - $$longfilenameref = $1; - } - } -} - 1; diff --git a/solenv/bin/packager.pl b/solenv/bin/packager.pl index 75d929ab86d6..8f4838e3b94a 100644 --- a/solenv/bin/packager.pl +++ b/solenv/bin/packager.pl @@ -47,8 +47,7 @@ my $packagelist = packager::files::read_file($packager::globals::packlistname); my $targets = packager::work::create_package_todos($packagelist); -if ( $ENV{'BSCLIENT'} ) { packager::work::start_build_server($targets); } -else { packager::work::execute_system_calls($targets); } +packager::work::execute_system_calls($targets); if ( $packager::globals::logging ) { diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk index 785c45ef8404..6d6e0d3a8bce 100644 --- a/solenv/inc/settings.mk +++ b/solenv/inc/settings.mk @@ -69,16 +69,6 @@ WRONG_SOURCEVERSION # $(UPD)minor.mk could be empty as it's contents were already included from minor.mk .INCLUDE : $(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk -.IF "$(BSCLIENT)"=="TRUE" -.IF "$(UPDATER)"!="YES" -incorrect_settings: - @echo "#" - @echo "#" ERROR: setsolar option -bsclient used but UPDATER=YES not set! - @echo "#" - force_dmake_to_error -.ENDIF -.ENDIF - .INCLUDE : udkversion.mk # --- reset defined Environments -------------------- diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk index 4ef0a232a1f7..c9114beea07d 100644 --- a/solenv/inc/target.mk +++ b/solenv/inc/target.mk @@ -2049,11 +2049,11 @@ ALLTAR : ALLDEP \ $(SUBDIRS) : $(SUBDIRSDEPS) -.IF "$(mk_tmp)$(BSCLIENT)"!="" +.IF "$(mk_tmp)"!="" $(SUBDIRS) .PHONY : @echo ignoring SUBDIRS -.ELSE # "$(mk_tmp)$(BSCLIENT)"!="" +.ELSE # "$(mk_tmp)"!="" #.IF "$(PRJNAME)"!="sw" .IF "$(GUI)"!="UNX" $(SUBDIRS) .PHONY : @@ -2067,7 +2067,7 @@ $(SUBDIRS) .PHONY : cd $@; $(MAKECMD) subdmake=true $(MFLAGS) $(CALLMACROS) .ENDIF # "$(GUI)"!="UNX" #.ENDIF -.ENDIF # "$(mk_tmp)$(BSCLIENT)"!="" +.ENDIF # "$(mk_tmp)"!="" .ENDIF # "$(SUBDIRS)"!="" # workaround for strange dmake bug: diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk index 2afebe542b8b..0adec0c96683 100644 --- a/solenv/inc/tg_ext.mk +++ b/solenv/inc/tg_ext.mk @@ -191,11 +191,7 @@ $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) : $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) .IF "$(GUI)"=="WNT" $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE:s/+//) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | tr -d "\015" | patch $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) .ELSE # "$(GUI)"=="WNT" -.IF "$(BSCLIENT)"=="TRUE" - $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) -f $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) -.ELSE # "$(BSCLIENT)"!="" $(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE) -.ENDIF # "$(BSCLIENT)"!="" .ENDIF # "$(GUI)"=="WNT" .ENDIF # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"=="" .IF "$(T_ADDITIONAL_FILES)"!="" @@ -308,11 +304,7 @@ $(MISC)/$(TARFILE_ROOTDIR).done : $(MISC)/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(COMMAND_ECHO)cd $(MISC) && $(TYPE:s/+//) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | tr -d "\015" | patch $(PATCHFLAGS) -p2 #.ENDIF # "$(my4ver:s/.//:s/,//)" >= "300" .ELSE # "$(GUI)"=="WNT" -.IF "$(BSCLIENT)"=="TRUE" - $(COMMAND_ECHO)cd $(MISC) && $(TYPE) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) -f $(PATCHFLAGS) -p2 -.ELSE # "$(BSCLIENT)"!="" $(COMMAND_ECHO)cd $(MISC) && $(TYPE) $(MBACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) $(PATCHFLAGS) -p2 -.ENDIF # "$(BSCLIENT)"!="" .ENDIF # "$(GUI)"=="WNT" .IF "$(CONVERTFILES)"!="" $(COMMAND_ECHO)$(CONVERT) dos $(foreach,i,$(CONVERTFILES) $(MISC)/$(TARFILE_ROOTDIR)/$i) |