scripts/install-debugclients.py

branch
maintenance
changeset 8043
0acf98cd089a
parent 7924
8a96736d465e
parent 7960
e8fc383322f7
child 8273
698ae46f40a4
equal deleted inserted replaced
7991:866adc8c315b 8043:0acf98cd089a
1 #!/usr/bin/env python3 1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*- 2 # -*- coding: utf-8 -*-
3 3
4 # Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> 4 # Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
5 # 5 #
6 # This is the install script for the eric6 debug client. It may be used 6 # This is the install script for the eric debug client. It may be used
7 # to just install the debug clients for remote debugging. 7 # to just install the debug clients for remote debugging.
8 # 8 #
9 9
10 """ 10 """
11 Installation script for the eric6 debug clients. 11 Installation script for the eric debug clients.
12 """ 12 """
13 13
14 import io 14 import io
15 import sys 15 import sys
16 import os 16 import os
67 print(" {0} [-chz] [-d dir]".format(progName)) 67 print(" {0} [-chz] [-d dir]".format(progName))
68 else: 68 else:
69 print(" {0} [-chz][-d dir] [-i dir]".format(progName)) 69 print(" {0} [-chz][-d dir] [-i dir]".format(progName))
70 print("where:") 70 print("where:")
71 print(" -h, --help display this help message") 71 print(" -h, --help display this help message")
72 print(" -d dir where eric6 debug client files will be installed") 72 print(" -d dir where eric debug client files will be installed")
73 print(" (default: {0})".format(modDir)) 73 print(" (default: {0})".format(modDir))
74 if not sys.platform.startswith("win"): 74 if not sys.platform.startswith("win"):
75 print(" -i dir temporary install prefix") 75 print(" -i dir temporary install prefix")
76 print(" (default: {0})".format(distDir)) 76 print(" (default: {0})".format(distDir))
77 print(" -c don't cleanup old installation first") 77 print(" -c don't cleanup old installation first")
103 103
104 @param src name of the source directory 104 @param src name of the source directory
105 @param dst name of the destination directory 105 @param dst name of the destination directory
106 @param filters list of filter pattern determining the files to be copied 106 @param filters list of filter pattern determining the files to be copied
107 @param excludeDirs list of (sub)directories to exclude from copying 107 @param excludeDirs list of (sub)directories to exclude from copying
108 @keyparam excludePatterns list of filter pattern determining the files to 108 @param excludePatterns list of filter pattern determining the files to
109 be skipped 109 be skipped
110 """ 110 """
111 if excludeDirs is None: 111 if excludeDirs is None:
112 excludeDirs = [] 112 excludeDirs = []
113 if excludePatterns is None: 113 if excludePatterns is None:
184 """ 184 """
185 Wrapper function around shutil.copy() to ensure the permissions. 185 Wrapper function around shutil.copy() to ensure the permissions.
186 186
187 @param src source file name (string) 187 @param src source file name (string)
188 @param dst destination file name or directory name (string) 188 @param dst destination file name or directory name (string)
189 @keyparam perm permissions to be set (integer) 189 @param perm permissions to be set (integer)
190 """ 190 """
191 shutil.copy(src, dst) 191 shutil.copy(src, dst)
192 if os.path.isdir(dst): 192 if os.path.isdir(dst):
193 dst = os.path.join(dst, os.path.basename(src)) 193 dst = os.path.join(dst, os.path.basename(src))
194 os.chmod(dst, perm) 194 os.chmod(dst, perm)
208 else: 208 else:
209 targetDir = os.path.join(modDir, installPackage) 209 targetDir = os.path.join(modDir, installPackage)
210 210
211 try: 211 try:
212 # Install the files 212 # Install the files
213 # copy the various parts of eric6 debug clients 213 # copy the various parts of eric debug clients
214 copyTree( 214 copyTree(
215 os.path.join(eric6SourceDir, "DebugClients"), targetDir, 215 os.path.join(eric6SourceDir, "DebugClients"), targetDir,
216 ['*.py', '*.pyc', '*.pyo', '*.pyw'], 216 ['*.py', '*.pyc', '*.pyo', '*.pyw'],
217 [os.path.join(sourceDir, ".ropeproject")], 217 [os.path.join(sourceDir, ".ropeproject")],
218 excludePatterns=["eric6config.py*"]) 218 excludePatterns=["eric6config.py*"])
238 238
239 # Parse the command line. 239 # Parse the command line.
240 global progName, modDir, doCleanup, doCompile, distDir 240 global progName, modDir, doCleanup, doCompile, distDir
241 global sourceDir 241 global sourceDir
242 242
243 if sys.version_info < (3, 5, 0) or sys.version_info >= (4, 0, 0): 243 if sys.version_info < (3, 6, 0) or sys.version_info >= (4, 0, 0):
244 print('Sorry, the eric6 debugger requires Python 3.5 or better' 244 print('Sorry, the eric debugger requires Python 3.6 or better'
245 ' for running.') 245 ' for running.')
246 exit(5) 246 exit(5)
247 247
248 progName = os.path.basename(argv[0]) 248 progName = os.path.basename(argv[0])
249 249
316 os.path.join(eric6SourceDir, "DebugClients"), 316 os.path.join(eric6SourceDir, "DebugClients"),
317 ddir=os.path.join(modDir, installPackage), 317 ddir=os.path.join(modDir, installPackage),
318 rx=skipRe, 318 rx=skipRe,
319 quiet=True) 319 quiet=True)
320 sys.stdout = sys.__stdout__ 320 sys.stdout = sys.__stdout__
321 print("\nInstalling eric6 debug clients ...") 321 print("\nInstalling eric debug clients ...")
322 res = installEricDebugClients() 322 res = installEricDebugClients()
323 323
324 print("\nInstallation complete.") 324 print("\nInstallation complete.")
325 print() 325 print()
326 326

eric ide

mercurial