[pygccxml-commit] SF.net SVN: pygccxml: [1024] installers
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2007-04-29 07:58:35
|
Revision: 1024 http://svn.sourceforge.net/pygccxml/?rev=1024&view=rev Author: roman_yakovenko Date: 2007-04-29 00:58:36 -0700 (Sun, 29 Apr 2007) Log Message: ----------- Modified Paths: -------------- installers/install_gccxml.py installers/utils.py Modified: installers/install_gccxml.py =================================================================== --- installers/install_gccxml.py 2007-04-29 06:37:59 UTC (rev 1023) +++ installers/install_gccxml.py 2007-04-29 07:58:36 UTC (rev 1024) @@ -24,9 +24,7 @@ utils.logger.info( 'GCC_XML build directory "%s" already exists' % build_dir ) if os.path.exists( config.gccxml_install_dir ): - utils.logger.info( 'creating GCC_XML install directory "%s"' % config.gccxml_install_dir) - shutil.rmtree( config.gccxml_install_dir ) - utils.logger.info( 'creating GCC_XML install directory "%s"- done' % config.gccxml_install_dir ) + utils.rmtree_safe( config.gccxml_install_dir ) else: utils.logger.info( 'GCC_XML install directory "%s" already exists' % config.gccxml_install_dir) @@ -75,9 +73,7 @@ if not os.path.exists( ff_bin ): shutil.copyfile( ff_shared, ff_bin ) - utils.logger.info( 'removing GCC_XML build directory' ) - shutil.rmtree( build_dir, True ) - utils.logger.info( 'removing GCC_XML build directory - done' ) + utils.rmtree_safe( build_dir ) def install(): if 2 == len(sys.argv): @@ -104,15 +100,13 @@ build_gccxml(working_dir) finally: - utils.logger.info( 'removing temporal directory "%s"' % working_dir ) - shutil.rmtree( working_dir ) - utils.logger.info( 'removing temporal directory "%s" - done' % working_dir ) + utils.rmtree_safe( working_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.' ) def create_dist_package(): - working_dir = os.path.abspath( os.path.dirname(sys.modules[__name__].__file__) ) + working_dir = os.path.abspath( os.path.dirname(sys.modules[__name__].__file__) ) try: gccxml_cvs_dir_name = os.path.splitext( config.archives.gccxml )[0] gccxml_cvs_dir_path = os.path.join( working_dir, gccxml_cvs_dir_name ) @@ -121,7 +115,8 @@ utils.logger.info( 'coping gccxml directory - done' ) #TODO: remove cvs files from the directory utils.logger.info( 'archiving gccxml "%s" directory ' % gccxml_cvs_dir_path ) - tar = tarfile.open( os.path.join( working_dir, config.archives.gccxml ), "w" ) + gccxml_tar_file = os.path.join( working_dir, config.archives.gccxml ) + tar = tarfile.open( gccxml_tar_file, "w" ) tar.add( gccxml_cvs_dir_path, gccxml_cvs_dir_name ) tar.close() utils.logger.info( 'archiving gccxml "%s" directory - done' % gccxml_cvs_dir_path ) @@ -146,8 +141,9 @@ shutil.move( cmake_dir, cmake_archive_dir ) utils.logger.info( 'archiving cmake "%s" directory ' % cmake_archive_dir ) - tar = tarfile.open( os.path.join( working_dir, config.archives.cmake ), "w" ) - tar.add( cmake_archive_dir, config.archives.cmake ) + cmake_tar_file = os.path.join( working_dir, config.archives.cmake ) + tar = tarfile.open( cmake_tar_file, "w" ) + tar.add( cmake_archive_dir, os.path.splitext( config.archives.cmake )[0] ) tar.close() utils.logger.info( 'archiving cmake "%s" directory - done' % cmake_archive_dir ) @@ -171,8 +167,16 @@ utils.logger.info( 'unzipping "%s" file - done' % config.setup_builder.cmake_linux ) finally: pass - #shutil.rmtree( working_dir ) + #create final zip file + package_dir = os.path.join( os.path.split( working_dir )[0] + , 'gccxml_%s_installer' % sys.platform ) + utils.rmtree_safe( package_dir ) + shutil.copytree( working_dir, package_dir ) + utils.rmtree_safe( os.path.join( package_dir, '.svn' ) ) + os.remove( cmake_tar_file ) + os.remove( gccxml_tar_file ) + if __name__ == "__main__": - #install() - create_dist_package() + install() + #create_dist_package() Modified: installers/utils.py =================================================================== --- installers/utils.py 2007-04-29 06:37:59 UTC (rev 1023) +++ installers/utils.py 2007-04-29 07:58:36 UTC (rev 1024) @@ -1,5 +1,6 @@ import os import sys +import stat import shutil import tarfile import zipfile @@ -63,10 +64,14 @@ def rmtree_safe( dir_ ): + for root, dirs, files in os.walk(dir_): + map( lambda f: os.chmod( os.path.join( root, f ), stat.S_IWRITE ) + , files ) + if not os.path.exists( dir_ ): return logger.info( 'removing "%s" directory ' % dir_ ) - shutil.rmtree( dir_ ) + shutil.rmtree( dir_, True ) logger.info( 'removing "%s" directory - done' % dir_ ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |