def __build_component_src(build_home, url, cmode, force_update): if not os.path.exists(build_home + os.sep + '.build'): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" Util.execute_and_output('rm -rf ' + url[url.rindex("/") + 1:]) SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + '/.build/' + url[url.rindex("/") + 1:] os.chdir(source_home) print "Cd " + source_home is_valid = Makerules.config_make(cmode, force_update, "$(shell cd ../.; pwd)/deps", "$(shell cd .; pwd)") if is_valid == False: os.chdir(build_home) print "Cd " + build_home return False print "Config Make.rules OK!" Util.execute_and_output('rm -f buildc.cfg') print "Remove buildc.cfg OK!" cmd_str =\ """#! /bin/sh topdir=`pwd` parentdir=`cd ../.; pwd` sed -e "1,$ s%=.*@topdir@%= $topdir#@topdir@%g" Make.rules |\ sed -e "1,$ s%\$(shell cd ../.; pwd)/deps%$parentdir/deps%g"\ > .Make.rules mv .Make.rules Make.rules echo "config Make.rules OK!" """ f = open("configure", "w") f.write(cmd_str) f.close() Util.execute_and_output('chmod +x configure') print "Create configure OK!" os.chdir(build_home) print "Cd " + build_home print 'Build src [' + url + '] OK!' return True
def __build_component_src(build_home, url, cmode, force_update): if not os.path.exists(build_home + os.sep + '.build'): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" Util.execute_and_output('rm -rf ' + url[url.rindex("/")+1:]) SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + '/.build/' + url[url.rindex("/")+1:] os.chdir(source_home) print "Cd " + source_home is_valid = Makerules.config_make(cmode, force_update, "$(shell cd ../.; pwd)/deps", "$(shell cd .; pwd)") if is_valid == False: os.chdir(build_home) print "Cd " + build_home return False print "Config Make.rules OK!" Util.execute_and_output('rm -f buildc.cfg') print "Remove buildc.cfg OK!" cmd_str =\ """#! /bin/sh topdir=`pwd` parentdir=`cd ../.; pwd` sed -e "1,$ s%=.*@topdir@%= $topdir#@topdir@%g" Make.rules |\ sed -e "1,$ s%\$(shell cd ../.; pwd)/deps%$parentdir/deps%g"\ > .Make.rules mv .Make.rules Make.rules echo "config Make.rules OK!" """ f = open("configure", "w") f.write(cmd_str) f.close() Util.execute_and_output('chmod +x configure') print "Create configure OK!" os.chdir(build_home) print "Cd " + build_home print 'Build src [' + url + '] OK!' return True
def __build_component_deps(build_home, url, cmode, force_update): if not os.path.exists(build_home + os.sep + '.build'): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" Util.execute_and_output('rm -rf ' + url[url.rindex("/") + 1:]) SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + '/.build/' + url[url.rindex("/") + 1:] os.chdir(source_home) print "Cd " + source_home dotrc = Glo.dot_buildc_rc_path() if not os.path.exists(dotrc): print('Can not found ' + dotrc) print('Please run buildc init and then config .buildc.rc!') sys.exit(Errors.conf_file_not_found) buildc_rc = Load.load_dot_buildc_rc(dotrc) buildc_cfg = Load.load_buildc_cfg(Glo.buildc_cfg_path(), Glo.var_str()) is_valid = Cache.cache_build_by_external_libs(buildc_cfg.external_libs, cmode, force_update) if is_valid == False: os.chdir(build_home) print "Cd " + build_home return False dotrepository = Glo.dot_buildc_repository_path() svn_tree = SvnTree() svn_tree.import_format_tree_from_file(dotrepository) for dependence in buildc_cfg.external_libs: Pack.__copy_dependent_all(dependence, svn_tree, buildc_rc, build_home, cmode) os.chdir(build_home) print "Cd " + build_home print 'Build deps [' + url + '] OK!' return True
def __build_component_deps(build_home, url, cmode, force_update): if not os.path.exists(build_home + os.sep + '.build'): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" Util.execute_and_output('rm -rf ' + url[url.rindex("/")+1:]) SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + '/.build/' + url[url.rindex("/")+1:] os.chdir(source_home) print "Cd " + source_home dotrc = Glo.dot_buildc_rc_path() if not os.path.exists(dotrc): print('Can not found ' + dotrc) print('Please run buildc init and then config .buildc.rc!') sys.exit(Errors.conf_file_not_found) buildc_rc = Load.load_dot_buildc_rc(dotrc) buildc_cfg = Load.load_buildc_cfg(Glo.buildc_cfg_path(), Glo.var_str()) is_valid = Cache.cache_build_by_external_libs(buildc_cfg.external_libs, cmode, force_update) if is_valid == False: os.chdir(build_home) print "Cd " + build_home return False dotrepository = Glo.dot_buildc_repository_path() svn_tree = SvnTree() svn_tree.import_format_tree_from_file(dotrepository) for dependence in buildc_cfg.external_libs: Pack.__copy_dependent_all(dependence, svn_tree, buildc_rc, build_home, cmode) os.chdir(build_home) print "Cd " + build_home print 'Build deps [' + url + '] OK!' return True
def __build_source(build_home, url, cmode, force_update, binary_prefix, pack_path): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + os.sep + '.build' + os.sep + url[ url.rindex("/") + 1:] os.chdir(source_home) print "Cd " + source_home result = Makerules.config_make(cmode, force_update) if result == False: print "Config Make.rules Error!" os.chdir(build_home) print "Cd " + build_home return False print "Config Make.rules OK!" Pack.__make(cmode) print "Make OK!" if pack_path != "": des_path = build_home + os.sep + 'src' + os.sep + pack_path if not os.path.exists(des_path): os.mkdir(des_path) Util.execute_and_output('cp ' + binary_prefix + '* ' + des_path) print "Copy binary file to [" + build_home + os.sep + 'src' + os.sep + pack_path + ']' + " OK!" os.chdir(build_home) print "Cd " + build_home print 'Build source [' + url + '] OK!' return True
def __build_source(build_home, url, cmode, force_update, binary_prefix, pack_path): Util.execute_and_output('mkdir -p ' + build_home + os.sep + '.build') os.chdir(build_home + os.sep + '.build') print "Create dir [.build] OK!" SvnLocalOper.export(url, None, None, Glo.source_svn_user(), Glo.source_svn_passwd(), False) print "Export [" + url + "] OK!" source_home = build_home + os.sep + '.build' + os.sep + url[url.rindex("/")+1:] os.chdir(source_home) print "Cd " + source_home result = Makerules.config_make(cmode, force_update) if result == False: print "Config Make.rules Error!" os.chdir(build_home) print "Cd " + build_home return False print "Config Make.rules OK!" Pack.__make(cmode) print "Make OK!" if pack_path != "": des_path = build_home + os.sep + 'src' + os.sep + pack_path if not os.path.exists(des_path): os.mkdir(des_path) Util.execute_and_output('cp ' + binary_prefix + '* ' + des_path) print "Copy binary file to [" + build_home + os.sep + 'src' + os.sep + pack_path + ']' + " OK!" os.chdir(build_home) print "Cd " + build_home print 'Build source [' + url + '] OK!' return True