[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.
|