[pygccxml-commit] SF.net SVN: pygccxml: [818] graphical_installer/setup.py
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-12-28 06:07:38
|
Revision: 818 http://svn.sourceforge.net/pygccxml/?rev=818&view=rev Author: roman_yakovenko Date: 2006-12-27 22:07:36 -0800 (Wed, 27 Dec 2006) Log Message: ----------- Modified Paths: -------------- graphical_installer/setup.py Modified: graphical_installer/setup.py =================================================================== --- graphical_installer/setup.py 2006-12-27 20:31:01 UTC (rev 817) +++ graphical_installer/setup.py 2006-12-28 06:07:36 UTC (rev 818) @@ -2,54 +2,55 @@ import os import re import sys +import utils +import config import shutil import tarfile -import widgets -from environment import config - def execute( command, *args, **keywd): cmd_line = [ command ] for key, value in keywd.items(): cmd_line.append( '--%s=%s' % ( key, value ) ) cmd_line.extend( args ) cmd = ' '.join( cmd_line ) - config.logger.info( 'executing command: %s' % cmd ) + utils.logger.info( 'executing command: %s' % cmd ) input, output = os.popen4( cmd ) input.close() reports = [] while True: data = output.readline() - config.logger.info( data ) + utils.logger.info( data ) if not data: break exit_status = output.close() if None is exit_status: exit_status = 0 else: - config.logger.info( 'executing command: %s - done(%d)' %( cmd, exit_status ) ) + utils.logger.info( 'executing command: %s - done(%d)' %( cmd, exit_status ) ) return exit_status def build_gccxml(): - config.logger.info( 'create environment for building GCC_XML' ) + utils.logger.info( 'create environment for building GCC_XML' ) gccxml_src_dir = os.path.join( config.working_dir , os.path.splitext( config.archives.gccxml )[0] ) build_dir = gccxml_src_dir + '-build' if not os.path.exists( build_dir ): - config.logger.info( 'creating GCC_XML build directory "%s"' % build_dir ) + utils.logger.info( 'creating GCC_XML build directory "%s"' % build_dir ) os.makedirs( build_dir ) - config.logger.info( 'creating GCC_XML build directory "%s" - done' % build_dir ) + utils.logger.info( 'creating GCC_XML build directory "%s" - done' % build_dir ) else: - config.logger.info( 'GCC_XML build directory "%s" already exists' % build_dir ) + utils.logger.info( 'GCC_XML build directory "%s" already exists' % build_dir ) if os.path.exists( config.gccxml_install_dir ): - config.logger.info( 'creating GCC_XML install directory "%s"' % config.gccxml_install_dir) + utils.logger.info( 'creating GCC_XML install directory "%s"' % config.gccxml_install_dir) shutil.rmtree( config.gccxml_install_dir ) - config.logger.info( 'creating GCC_XML install directory "%s"- done' % config.gccxml_install_dir ) + utils.logger.info( 'creating GCC_XML install directory "%s"- done' % config.gccxml_install_dir ) else: - config.logger.info( 'GCC_XML install directory "%s" already exists' % config.gccxml_install_dir) + utils.logger.info( 'GCC_XML install directory "%s" already exists' % config.gccxml_install_dir) + os.chdir( build_dir ) + cmake = os.path.join( config.working_dir , os.path.splitext( config.archives.cmake )[0] @@ -79,18 +80,35 @@ tmp = file( gccxml_config_file, 'w+' ) tmp.write( gccxml_config ) tmp.close() - config.logger.info( 'copying GCC_XML files to the install directory' ) + utils.logger.info( 'copying GCC_XML files to the install directory' ) shutil.copytree( os.path.join( build_dir, 'bin' ), config.gccxml_install_dir ) - config.logger.info( 'copying GCC_XML files to the install directory - done' ) + utils.logger.info( 'copying GCC_XML files to the install directory - done' ) else: execute( config.cmake.native_build, 'install' ) - #TODO remove build directory - + utils.logger.info( 'removing GCC_XML build directory' ) + shutil.rmtree( build_dir, True ) + utils.logger.info( 'removing GCC_XML build directory - done' ) + if __name__ == "__main__": - config.gccxml_install_dir = widgets.load_dir( "Select directory GCC_XML will be installed in" ) + config.gccxml_install_dir = utils.load_dir( "Select directory GCC_XML will be installed in" ) + if not config.gccxml_install_dir: + utils.logger.info( 'If you want to install GCC_XML you have to provide a directory it will be installed in.' ) + sys.exit(1) + else: + utils.logger.info( 'GCC_XML will be installed in "%s" directory.' % config.gccxml_install_dir) #decompressing all archives for arch in config.archives.all: - config.logger.info( 'extracting "%s"' % arch ) + utils.logger.info( 'extracting "%s"' % arch ) tarfile.TarFile( arch, "r" ).extractall( config.working_dir ) - config.logger.info( 'extracting "%s" - done' % arch ) + utils.logger.info( 'extracting "%s" - done' % arch ) build_gccxml() + + for arch in config.archives.all: + x_dir = os.path.join( config.working_dir, os.path.splitext( arch )[0] ) + utils.logger.info( 'removing "%s" directory' % x_dir ) + shutil.rmtree( x_dir ) + utils.logger.info( 'removing "%s" directory - done' % x_dir ) + + utils.logger.info( 'GCC_XML was successfully installed in "%s" directory' % config.gccxml_install_dir ) + utils.logger.info( 'Uninstall instruction - delete GCC_XML install directory.' ) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |