Sat, 11 Sep 2021 19:47:02 +0200
Jedi: integrated the Assistant Jedi plugin as a fixed part of eric.
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | #!/usr/bin/env python3 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7921
diff
changeset
|
4 | # Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | # |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
6 | # This is the install script for eric. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
9 | Installation script for the eric IDE and all eric related tools. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
12 | import compileall |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
13 | import contextlib |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
14 | import datetime |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
15 | import fnmatch |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
16 | import getpass |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
17 | import glob |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
18 | import io |
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
19 | import json |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | import os |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
21 | import py_compile |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | import re |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
23 | import shlex |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import shutil |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7584
diff
changeset
|
25 | import subprocess # secok |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
26 | import time |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
27 | import sys |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | # Define the globals. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | progName = None |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
31 | currDir = os.getcwd() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | modDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | pyModDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | platBinDir = None |
4455
ca13a6f6c452
Prepared the Python3 debug client for some obsolescences of the inspect.py module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4435
diff
changeset
|
35 | platBinDirOld = None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | distDir = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | apisDir = None |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
38 | installApis = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | doCleanup = True |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
40 | doCleanDesktopLinks = False |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
41 | forceCleanDesktopLinks = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | doCompile = True |
7333 | 43 | yes2All = False |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
44 | ignorePyqt6Tools = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | cfg = {} |
3468
869d0b6e1e16
Added an API file for QSS and corrected an issue in the APIs manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
46 | progLanguages = ["Python", "Ruby", "QSS"] |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
47 | sourceDir = "eric" |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
48 | eric7SourceDir = os.path.join(sourceDir, "eric7") |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
49 | configName = 'eric7config.py' |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
50 | defaultMacAppBundleName = "eric7.app" |
3714
4080395e3426
Changed the uninstall code for Mac platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3705
diff
changeset
|
51 | defaultMacAppBundlePath = "/Applications" |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
52 | defaultMacPythonExe = "{0}/Resources/Python.app/Contents/MacOS/Python".format( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
53 | sys.exec_prefix) |
7584
328d92d8db48
install: fixed an issue causing a faulty application bundle being created for macOS installations when installing into a Python virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7566
diff
changeset
|
54 | if not os.path.exists(defaultMacPythonExe): |
328d92d8db48
install: fixed an issue causing a faulty application bundle being created for macOS installations when installing into a Python virtual environment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7566
diff
changeset
|
55 | defaultMacPythonExe = "" |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
56 | macAppBundleName = defaultMacAppBundleName |
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
57 | macAppBundlePath = defaultMacAppBundlePath |
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
58 | macPythonExe = defaultMacPythonExe |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
60 | createInstallInfoFile = True |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
61 | installInfoName = "eric7install.json" |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
62 | installInfo = {} |
7813
5d0dbec7b815
Main Window: added code to update the saved install information after an update.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7812
diff
changeset
|
63 | installCwd = "" |
7804
1cbc27e34ec6
Implementing code to record and/or guess some information about the installation process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7799
diff
changeset
|
64 | |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
65 | # Define blacklisted versions of the prerequisites |
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
66 | BlackLists = { |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
67 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
68 | "PyQt6": [], |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
69 | "QScintilla2": [], |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
70 | } |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
71 | PlatformsBlackLists = { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
72 | "windows": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
73 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
74 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
75 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
76 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
77 | |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
78 | "linux": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
79 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
80 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
81 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
82 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
83 | |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
84 | "mac": { |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
85 | "sip": [], |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
86 | "PyQt6": [], |
1914
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
87 | "QScintilla2": [], |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
88 | }, |
fa4d57a6c3a9
Added platform specific blacklists due to recent PyQt4 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1770
diff
changeset
|
89 | } |
565
21191e634b47
Added checks for blacklisted versions of sip, PyQt4 and QScintilla2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
90 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
91 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
92 | def exit(rcode=0): |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
93 | """ |
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
94 | Exit the install script. |
3019
7912530a33e2
Fixed a few documentation strings that got broken while doing the line shortening job. That concludes the later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3003
diff
changeset
|
95 | |
7912530a33e2
Fixed a few documentation strings that got broken while doing the line shortening job. That concludes the later.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3003
diff
changeset
|
96 | @param rcode result code to report back (integer) |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
97 | """ |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
98 | global currDir |
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
99 | |
5963
14522ec8cd08
Made QtWebKit/QtWebKitWidgets or QtWebEngineWidgets a mandatory installation prerequisite and reverted the code, that made the HTML code info viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5810
diff
changeset
|
100 | print() |
14522ec8cd08
Made QtWebKit/QtWebKitWidgets or QtWebEngineWidgets a mandatory installation prerequisite and reverted the code, that made the HTML code info viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5810
diff
changeset
|
101 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
102 | if sys.platform.startswith(("win", "cygwin")): |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
103 | with contextlib.suppress(): |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7584
diff
changeset
|
104 | input("Press enter to continue...") # secok |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
105 | |
1658
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
106 | os.chdir(currDir) |
c61997a63efe
Changed the install script to deal with installations initiated from a directory not containing the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1538
diff
changeset
|
107 | |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
108 | sys.exit(rcode) |
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
109 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
110 | |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
111 | def usage(rcode=2): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | Display a usage message and exit. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | @param rcode the return code passed back to the calling process. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | """ |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
117 | global progName, modDir, distDir, apisDir |
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
118 | global macAppBundleName, macAppBundlePath, macPythonExe |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
120 | print() |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
121 | print("Usage:") |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
122 | if sys.platform == "darwin": |
7333 | 123 | print(" {0} [-chxz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
124 | " [-m name] [-n path] [-p python] [--no-apis] [--no-info]" |
8548
c87eb20797b7
Activated support for the 'qt6-applications' project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
125 | " [--no-tools] [--yes]" |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
126 | .format(progName)) |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
127 | elif sys.platform.startswith(("win", "cygwin")): |
7333 | 128 | print(" {0} [-chxz] [-a dir] [-b dir] [-d dir] [-f file]" |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
129 | " [--clean-desktop] [--no-apis] [--no-info] [--no-tools] [--yes]" |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
130 | .format(progName)) |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
131 | else: |
7333 | 132 | print(" {0} [-chxz] [-a dir] [-b dir] [-d dir] [-f file] [-i dir]" |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
133 | " [--no-apis] [--no-info] [--no-tools] [--yes]" |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
134 | .format(progName)) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
135 | print("where:") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
136 | print(" -h, --help display this help message") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
137 | print(" -a dir where the API files will be installed") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | if apisDir: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
139 | print(" (default: {0})".format(apisDir)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | else: |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
141 | print(" (no default value)") |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
142 | print(" --no-apis don't install API files") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
143 | print(" -b dir where the binaries will be installed") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
144 | print(" (default: {0})".format(platBinDir)) |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
145 | print(" -d dir where eric python files will be installed") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
146 | print(" (default: {0})".format(modDir)) |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
147 | print(" -f file configuration file naming the various installation" |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
148 | " paths") |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
149 | if not sys.platform.startswith(("win", "cygwin")): |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
150 | print(" -i dir temporary install prefix") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
151 | print(" (default: {0})".format(distDir)) |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
152 | if sys.platform == "darwin": |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
153 | print(" -m name name of the Mac app bundle") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
154 | print(" (default: {0})".format(macAppBundleName)) |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
155 | print(" -n path path of the directory the Mac app bundle will") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
156 | print(" be created in") |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
157 | print(" (default: {0})".format(macAppBundlePath)) |
3955
9c3e54d351e2
Changed some code in the install script to improve virtualenv support for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3950
diff
changeset
|
158 | print(" -p python path of the python executable") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
159 | print(" (default: {0})".format(macPythonExe)) |
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
160 | print(" -c don't cleanup old installation first") |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
161 | if sys.platform.startswith(("win", "cygwin")): |
7821
12406e6ba24c
install.py: added option --no-tools to ignore installation of pyqt5-tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7814
diff
changeset
|
162 | print(" --clean-desktop delete desktop links before installation") |
7921
0d429bd82699
install.py: added the '--no-info' flag to supress the generation of the install info file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
163 | print(" --no-info don't create the install info file") |
8548
c87eb20797b7
Activated support for the 'qt6-applications' project.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
164 | print(" --no-tools don't install qt6-applications") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
165 | print(" -x don't perform dependency checks (use on your own" |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
166 | " risk)") |
3935
f6ba54e022fa
Added install option --pyqt= to specify the PyQt variant to use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3931
diff
changeset
|
167 | print(" -z don't compile the installed python files") |
7333 | 168 | print(" --yes answer 'yes' to all questions") |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
169 | print() |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
170 | print("The file given to the -f option must be valid Python code" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
171 | " defining a") |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
172 | print("dictionary called 'cfg' with the keys 'ericDir', 'ericPixDir'," |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
173 | " 'ericIconDir',") |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
174 | print("'ericDTDDir', 'ericCSSDir', 'ericStylesDir', 'ericDocDir'," |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
175 | " 'ericExamplesDir',") |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
176 | print("'ericTranslationsDir', 'ericTemplatesDir', 'ericCodeTemplatesDir',") |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
177 | print("'ericOthersDir','bindir', 'mdir' and 'apidir.") |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
178 | print("These define the directories for the installation of the various" |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
179 | " parts of eric.") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | |
390
daa7c6ae6248
Change install script to always keep it open on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
386
diff
changeset
|
181 | exit(rcode) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | def initGlobals(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
186 | Module function to set the values of globals that need more than a |
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
187 | simple assignment. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
189 | global platBinDir, modDir, pyModDir, apisDir, platBinDirOld |
6304
68f9aa03bf75
install: show a message to the user if the distutile package cannot be imported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6275
diff
changeset
|
190 | |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
191 | import sysconfig |
6304
68f9aa03bf75
install: show a message to the user if the distutile package cannot be imported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6275
diff
changeset
|
192 | |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
193 | if sys.platform.startswith(("win", "cygwin")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | platBinDir = sys.exec_prefix |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | if platBinDir.endswith("\\"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | platBinDir = platBinDir[:-1] |
4456
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
197 | platBinDirOld = platBinDir |
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
198 | platBinDir = os.path.join(platBinDir, "Scripts") |
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
199 | if not os.path.exists(platBinDir): |
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
200 | platBinDir = platBinDirOld |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | else: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
202 | pyBinDir = os.path.normpath(os.path.dirname(sys.executable)) |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
203 | if os.access(pyBinDir, os.W_OK): |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
204 | # install the eric scripts along the python executable |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
205 | platBinDir = pyBinDir |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
206 | else: |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
207 | # install them in the user's bin directory |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
208 | platBinDir = os.path.expanduser("~/bin") |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
209 | if ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
210 | platBinDir != "/usr/local/bin" and |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
211 | os.access("/usr/local/bin", os.W_OK) |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
212 | ): |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
213 | platBinDirOld = "/usr/local/bin" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | |
8501
7b5f10581c35
Removed the support for the deprecated distutils package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8476
diff
changeset
|
215 | modDir = sysconfig.get_path('platlib') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | pyModDir = modDir |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
218 | pyqtDataDir = os.path.join(modDir, "PyQt6") |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
219 | if os.path.exists(os.path.join(pyqtDataDir, "qsci")): |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
220 | # it's the installer |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
221 | qtDataDir = pyqtDataDir |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
222 | elif os.path.exists(os.path.join(pyqtDataDir, "Qt", "qsci")): |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
223 | # it's the wheel |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
224 | qtDataDir = os.path.join(pyqtDataDir, "Qt") |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
225 | else: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
226 | # determine dynamically |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
227 | try: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
228 | from PyQt6.QtCore import QLibraryInfo |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
229 | qtDataDir = QLibraryInfo.path(QLibraryInfo.DataPath) |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
230 | except ImportError: |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2586
diff
changeset
|
231 | qtDataDir = None |
8214
51f0d3e047ec
install script: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
232 | apisDir = os.path.join(qtDataDir, "qsci", "api") if qtDataDir else None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | def copyToFile(name, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | Copy a string to a file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | @param name the name of the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | @param text the contents to copy to the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | """ |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
242 | with open(name, "w") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
243 | f.write(text) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
246 | def copyDesktopFile(src, dst): |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
247 | """ |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
248 | Modify a desktop file and write it to its destination. |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
249 | |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
250 | @param src source file name (string) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
251 | @param dst destination file name (string) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
252 | """ |
6275
8ce9f9c467ec
Fixed some install script issues related to defining the bin dir via -b switch.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6216
diff
changeset
|
253 | global cfg, platBinDir |
6216
2a0eeba143e7
install script: corrected the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6214
diff
changeset
|
254 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
255 | with open(src, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
256 | text = f.read() |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
257 | |
6275
8ce9f9c467ec
Fixed some install script issues related to defining the bin dir via -b switch.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6216
diff
changeset
|
258 | text = text.replace("@BINDIR@", platBinDir) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
259 | text = text.replace("@MARKER@", "") |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
260 | text = text.replace("@PY_MARKER@", "") |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
261 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
262 | with open(dst, "w", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
263 | f.write(text) |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
264 | os.chmod(dst, 0o644) |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
265 | |
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
266 | |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
267 | def copyAppStreamFile(src, dst): |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
268 | """ |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
269 | Modify an appstream file and write it to its destination. |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
270 | |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
271 | @param src source file name (string) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
272 | @param dst destination file name (string) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
273 | """ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
274 | if os.path.exists(os.path.join("eric", "eric7", "UI", "Info.py")): |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
275 | # Installing from archive |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
276 | from eric.eric7.UI.Info import Version |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
277 | elif os.path.exists(os.path.join("eric7", "UI", "Info.py")): |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
278 | # Installing from source tree |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
279 | from eric7.UI.Info import Version |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
280 | else: |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
281 | Version = "Unknown" |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
282 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
283 | with open(src, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
284 | text = f.read() |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
285 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
286 | text = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
287 | text.replace("@MARKER@", "") |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
288 | .replace("@VERSION@", Version.split(None, 1)[0]) |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
289 | .replace("@DATE@", time.strftime("%Y-%m-%d")) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
290 | ) |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
291 | |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
292 | with open(dst, "w", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
293 | f.write(text) |
5214
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
294 | os.chmod(dst, 0o644) |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
295 | |
0473e5256ca9
Fixes to comply with the current AppStream file format and contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5145
diff
changeset
|
296 | |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
297 | def wrapperNames(dname, wfile): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | """ |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
299 | Create the platform specific names for the wrapper script. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | @param dname name of the directory to place the wrapper into |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | @param wfile basename (without extension) of the wrapper script |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
303 | @return the names of the wrapper scripts |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | """ |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
305 | wnames = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
306 | (dname + "\\" + wfile + ".cmd", dname + "\\" + wfile + ".bat") |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
307 | if sys.platform.startswith(("win", "cygwin")) else |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
308 | (dname + "/" + wfile, ) |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
309 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
311 | return wnames |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
314 | def createPyWrapper(pydir, wfile, saveDir, isGuiScript=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | Create an executable wrapper for a Python script. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
318 | @param pydir the name of the directory where the Python script will |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
319 | eventually be installed (string) |
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
320 | @param wfile the basename of the wrapper (string) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
321 | @param saveDir directory to save the file into (string) |
902
c06241839b12
Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
900
diff
changeset
|
322 | @param isGuiScript flag indicating a wrapper script for a GUI |
c06241839b12
Fixed a source docu string in the new installer script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
900
diff
changeset
|
323 | application (boolean) |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
324 | @return the platform specific name of the wrapper (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | # all kinds of Windows systems |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
327 | if sys.platform.startswith(("win", "cygwin")): |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
328 | wname = wfile + ".cmd" |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
329 | if isGuiScript: |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
330 | wrapper = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
331 | '''@echo off\n''' |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
332 | '''start "" "{2}\\pythonw.exe"''' |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
333 | ''' "{0}\\{1}.pyw"''' |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
334 | ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format( |
7302
875a9a29c38f
install: fixed an issue installing eric into a venv on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7288
diff
changeset
|
335 | pydir, wfile, os.path.dirname(sys.executable)) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
336 | ) |
899
4687532058ba
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
896
diff
changeset
|
337 | else: |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
338 | wrapper = ( |
7302
875a9a29c38f
install: fixed an issue installing eric into a venv on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7288
diff
changeset
|
339 | '''@"{0}" "{1}\\{2}.py"''' |
1402
474db48f495c
Fixed an issue in creating the startup scripts for Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1400
diff
changeset
|
340 | ''' %1 %2 %3 %4 %5 %6 %7 %8 %9\n'''.format( |
7302
875a9a29c38f
install: fixed an issue installing eric into a venv on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7288
diff
changeset
|
341 | sys.executable, pydir, wfile) |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
342 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | # Mac OS X |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | elif sys.platform == "darwin": |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
346 | major = sys.version_info.major |
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
347 | pyexec = "{0}/bin/pythonw{1}".format(sys.exec_prefix, major) |
2618
bc7339209500
Fixed an issue in the install script related to the usage of a virtual environment on Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
348 | if not os.path.exists(pyexec): |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
349 | pyexec = "{0}/bin/python{1}".format(sys.exec_prefix, major) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
350 | wname = wfile |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
351 | wrapper = ('''#!/bin/sh\n''' |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
352 | '''\n''' |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
353 | '''exec "{0}" "{1}/{2}.py" "$@"\n''' |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
354 | .format(pyexec, pydir, wfile)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | # *nix systems |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | else: |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
358 | wname = wfile |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
359 | wrapper = ('''#!/bin/sh\n''' |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
360 | '''\n''' |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
361 | '''exec "{0}" "{1}/{2}.py" "$@"\n''' |
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
362 | .format(sys.executable, pydir, wfile)) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
363 | |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
364 | wname = os.path.join(saveDir, wname) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | copyToFile(wname, wrapper) |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7584
diff
changeset
|
366 | os.chmod(wname, 0o755) # secok |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | return wname |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | |
5651
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
371 | def copyTree(src, dst, filters, excludeDirs=None, excludePatterns=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | Copy Python, translation, documentation, wizards configuration, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | designer template files and DTDs of a directory tree. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | @param src name of the source directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | @param dst name of the destination directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | @param filters list of filter pattern determining the files to be copied |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | @param excludeDirs list of (sub)directories to exclude from copying |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7894
diff
changeset
|
380 | @param excludePatterns list of filter pattern determining the files to |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
381 | be skipped |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
5651
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
383 | if excludeDirs is None: |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
384 | excludeDirs = [] |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
385 | if excludePatterns is None: |
982465f8389c
Fixed a few code style issues related to the usage of mutable types for default arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5628
diff
changeset
|
386 | excludePatterns = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | names = os.listdir(src) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | except OSError: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
390 | # ignore missing directories (most probably the i18n directory) |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
391 | return |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | for name in names: |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
394 | skipIt = False |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
395 | for excludePattern in excludePatterns: |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
396 | if fnmatch.fnmatch(name, excludePattern): |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
397 | skipIt = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | break |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
399 | if not skipIt: |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
400 | srcname = os.path.join(src, name) |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
401 | dstname = os.path.join(dst, name) |
5597
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
402 | for fileFilter in filters: |
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5588
diff
changeset
|
403 | if fnmatch.fnmatch(srcname, fileFilter): |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
404 | if not os.path.isdir(dst): |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
405 | os.makedirs(dst) |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
406 | shutil.copy2(srcname, dstname) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
407 | os.chmod(dstname, 0o644) |
1115
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
408 | break |
3032cc87dee2
Enhanced the install script a little bit.
detlev@die-offenbachs.de
parents:
945
diff
changeset
|
409 | else: |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3613
diff
changeset
|
410 | if os.path.isdir(srcname) and srcname not in excludeDirs: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
411 | copyTree(srcname, dstname, filters, |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
412 | excludePatterns=excludePatterns) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | def createGlobalPluginsDir(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | Create the global plugins directory, if it doesn't exist. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | global cfg, distDir |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
421 | pdir = os.path.join(cfg['mdir'], "eric7plugins") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | fname = os.path.join(pdir, "__init__.py") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | if not os.path.exists(fname): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | if not os.path.exists(pdir): |
3507
b09e10d4f343
Changed the install script to accept a '-n' option to set the name of the directory where the Mac application bundle should be created in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3468
diff
changeset
|
425 | os.mkdir(pdir, 0o755) |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
426 | with open(fname, "w") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
427 | f.write( |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
428 | '''# -*- coding: utf-8 -*- |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | Package containing the global plugins. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
433 | ''' |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
434 | ) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
435 | os.chmod(fname, 0o644) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
438 | def cleanupSource(dirName): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
439 | """ |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
440 | Cleanup the sources directory to get rid of leftover files |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
441 | and directories. |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
442 | |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
443 | @param dirName name of the directory to prune (string) |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
444 | """ |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
445 | # step 1: delete all Ui_*.py files without a corresponding |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
446 | # *.ui file |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
447 | dirListing = os.listdir(dirName) |
3597
137370f7114b
Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3596
diff
changeset
|
448 | for formName, sourceName in [ |
137370f7114b
Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3596
diff
changeset
|
449 | (f.replace('Ui_', "").replace(".py", ".ui"), f) |
137370f7114b
Added the '-y' switch to the install script to allow to install Python2 and Python3 variants of eric5 in parallel by giving the startup script a '_py2' or '_py3' postfix.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3596
diff
changeset
|
450 | for f in dirListing if fnmatch.fnmatch(f, "Ui_*.py")]: |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
451 | if not os.path.exists(os.path.join(dirName, formName)): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
452 | os.remove(os.path.join(dirName, sourceName)) |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
453 | if os.path.exists(os.path.join(dirName, sourceName + "c")): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
454 | os.remove(os.path.join(dirName, sourceName + "c")) |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
455 | |
5055
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
456 | # step 2: delete the __pycache__ directory and all remaining *.pyc files |
3594
778ae276540f
Fixed an issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3593
diff
changeset
|
457 | if os.path.exists(os.path.join(dirName, "__pycache__")): |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
458 | shutil.rmtree(os.path.join(dirName, "__pycache__")) |
5055
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
459 | for name in [f for f in os.listdir(dirName) |
7db1b9496e52
Some enhancements to the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4915
diff
changeset
|
460 | if fnmatch.fnmatch(f, "*.pyc")]: |
3612
786d97a08a14
Extended the install script and fixed a few issue related to installations with Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3609
diff
changeset
|
461 | os.remove(os.path.join(dirName, name)) |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
462 | |
6637
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
463 | # step 3: delete *.orig files |
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
464 | for name in [f for f in os.listdir(dirName) |
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
465 | if fnmatch.fnmatch(f, "*.orig")]: |
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
466 | os.remove(os.path.join(dirName, name)) |
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
467 | |
54a92e8dca00
install: extended the source cleanup function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6636
diff
changeset
|
468 | # step 4: descent into subdirectories and delete them if empty |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
469 | for name in os.listdir(dirName): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
470 | name = os.path.join(dirName, name) |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
471 | if os.path.isdir(name): |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
472 | cleanupSource(name) |
3595
a8433c7a0d8c
Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3594
diff
changeset
|
473 | if len(os.listdir(name)) == 0: |
a8433c7a0d8c
Fixed another issue in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3594
diff
changeset
|
474 | os.rmdir(name) |
3593
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
475 | |
e3435c1ce0cf
Extended the install script to clean out the source directory when installing from sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3542
diff
changeset
|
476 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | def cleanUp(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | Uninstall the old eric files. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
481 | global platBinDir, platBinDirOld |
2306
0f020f39977b
Extended the Mac support to be able to install multiple configurations in parallel (e.g. for Qt4 and Qt5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2275
diff
changeset
|
482 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | try: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
484 | from eric7config import getConfig |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | except ImportError: |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
486 | # eric wasn't installed previously |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | return |
7211
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
488 | except SyntaxError: |
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
489 | # an incomplete or old config file was found |
1c97f3142fa8
install/uninstall: implemented code to cope with the situation that the names contained in the eric6config.py file were generated with a non-utf8 encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7203
diff
changeset
|
490 | return |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | global pyModDir, progLanguages |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
494 | # Remove the menu entry for Linux systems |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
495 | if sys.platform.startswith("linux"): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
496 | cleanUpLinuxSpecifics() |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
497 | # Remove the Desktop and Start Menu entries for Windows systems |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
498 | elif sys.platform.startswith(("win", "cygwin")): |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
499 | cleanUpWindowsLinks() |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
500 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | # Remove the wrapper scripts |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | rem_wnames = [ |
8566
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
503 | "eric7_api", "eric7_browser", "eric7_compare", "eric7_configure", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
504 | "eric7_diff", "eric7_doc", "eric7_editor", "eric7_hexeditor", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
505 | "eric7_iconeditor", "eric7_plugininstall", "eric7_pluginrepository", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
506 | "eric7_pluginuninstall", "eric7_qregularexpression", "eric7_re", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
507 | "eric7_shell", "eric7_snap", "eric7_sqlbrowser", "eric7_tray", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
508 | "eric7_trpreviewer", "eric7_uipreviewer", "eric7_unittest", "eric7" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
511 | try: |
4456
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
512 | dirs = [platBinDir, getConfig('bindir')] |
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
513 | if platBinDirOld: |
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
514 | dirs.append(platBinDirOld) |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
515 | for rem_wname in rem_wnames: |
4456
9a2304647d95
Changed installation destination on Windows to be the Scripts subdirectory of the Python installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4455
diff
changeset
|
516 | for d in dirs: |
6495
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
517 | for rwname in wrapperNames(d, rem_wname): |
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
518 | if os.path.exists(rwname): |
6e73d31af3af
Changed the extension of the generated script files for Windows from '.bat' to '.cmd'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6476
diff
changeset
|
519 | os.remove(rwname) |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
520 | |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
521 | # Cleanup our config file(s) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
522 | for name in ['eric7config.py', 'eric7config.pyc', 'eric7.pth']: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
523 | e6cfile = os.path.join(pyModDir, name) |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
524 | if os.path.exists(e6cfile): |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
525 | os.remove(e6cfile) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
526 | e6cfile = os.path.join(pyModDir, "__pycache__", name) |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
527 | path, ext = os.path.splitext(e6cfile) |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
528 | for f in glob.glob("{0}.*{1}".format(path, ext)): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
529 | os.remove(f) |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
530 | |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
531 | # Cleanup the install directories |
3003
cb43c34239b1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
532 | for name in ['ericExamplesDir', 'ericDocDir', 'ericDTDDir', |
cb43c34239b1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
533 | 'ericCSSDir', 'ericIconDir', 'ericPixDir', |
cb43c34239b1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
534 | 'ericTemplatesDir', 'ericCodeTemplatesDir', |
cb43c34239b1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
535 | 'ericOthersDir', 'ericStylesDir', 'ericDir']: |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
536 | if os.path.exists(getConfig(name)): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
537 | shutil.rmtree(getConfig(name), True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
539 | # Cleanup translations |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
540 | for name in glob.glob( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
541 | os.path.join(getConfig('ericTranslationsDir'), 'eric7_*.qm')): |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
542 | if os.path.exists(name): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
543 | os.remove(name) |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
544 | |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
545 | # Cleanup API files |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
546 | with contextlib.suppress(AttributeError): |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
547 | apidir = getConfig('apidir') |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
548 | for progLanguage in progLanguages: |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
549 | for name in getConfig('apis'): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
550 | apiname = os.path.join(apidir, progLanguage.lower(), name) |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
551 | if os.path.exists(apiname): |
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
552 | os.remove(apiname) |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
553 | for apiname in glob.glob( |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
554 | os.path.join(apidir, progLanguage.lower(), "*.bas")): |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
555 | if os.path.basename(apiname) != "eric7.bas": |
3697
c947a7eaace4
Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
556 | os.remove(apiname) |
1381
b66bcd609f83
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1346
diff
changeset
|
557 | |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
558 | if sys.platform == "darwin": |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
559 | # delete the Mac app bundle |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
560 | cleanUpMacAppBundle() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
561 | except OSError as msg: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
562 | sys.stderr.write( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
563 | 'Error: {0}\nTry install with admin rights.\n'.format(msg)) |
1385
9eaf0cda4fb4
Fixed an issue in the install script trying to install without admin rights.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1381
diff
changeset
|
564 | exit(7) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
567 | def cleanUpLinuxSpecifics(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
568 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
569 | Clean up Linux specific files. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
570 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
571 | if os.getuid() == 0: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
572 | for name in [ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
573 | "/usr/share/applications/eric7.desktop", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
574 | "/usr/share/appdata/eric7.appdata.xml", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
575 | "/usr/share/metainfo/eric7.appdata.xml", |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
576 | "/usr/share/pixmaps/eric.png", |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
577 | "/usr/share/icons/eric.png", |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
578 | |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
579 | # TODO: enable this once PyQt 6.2.0/Qt 6.2.0 is released |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
580 | #~ "/usr/share/applications/eric7_browser.desktop", |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
581 | #~ "/usr/share/pixmaps/ericWeb.png", |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
582 | #~ "/usr/share/icons/ericWeb.png", |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
583 | ]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
584 | if os.path.exists(name): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
585 | os.remove(name) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
586 | elif os.getuid() >= 1000: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
587 | # it is assumed that user ids start at 1000 |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
588 | for name in [ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
589 | "~/.local/share/applications/eric7.desktop", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
590 | "~/.local/share/appdata/eric7.appdata.xml", |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
591 | "~/.local/share/metainfo/eric7.appdata.xml", |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
592 | "~/.local/share/pixmaps/eric.png", |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
593 | "~/.local/share/icons/eric.png", |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
594 | |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
595 | # TODO: enable this once PyQt 6.2.0/Qt 6.2.0 is released |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
596 | #~ "~/.local/share/applications/eric7_browser.desktop", |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
597 | #~ "~/.local/share/pixmaps/ericWeb.png", |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
598 | #~ "~/.local/share/icons/ericWeb.png", |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
599 | ]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
600 | path = os.path.expanduser(name) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
601 | if os.path.exists(path): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
602 | os.remove(path) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
603 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
604 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
605 | def cleanUpMacAppBundle(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
606 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
607 | Uninstall the macOS application bundle. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
608 | """ |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
609 | from eric7config import getConfig |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
610 | try: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
611 | macAppBundlePath = getConfig("macAppBundlePath") |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
612 | macAppBundleName = getConfig("macAppBundleName") |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
613 | except AttributeError: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
614 | macAppBundlePath = defaultMacAppBundlePath |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
615 | macAppBundleName = defaultMacAppBundleName |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
616 | for bundlePath in [os.path.join(defaultMacAppBundlePath, |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
617 | macAppBundleName), |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
618 | os.path.join(macAppBundlePath, |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
619 | macAppBundleName), |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
620 | ]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
621 | if os.path.exists(bundlePath): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
622 | shutil.rmtree(bundlePath) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
623 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
624 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
625 | def cleanUpWindowsLinks(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
626 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
627 | Clean up the Desktop and Start Menu entries for Windows. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
628 | """ |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
629 | global doCleanDesktopLinks, forceCleanDesktopLinks |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
630 | |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
631 | try: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
632 | from pywintypes import com_error # __IGNORE_WARNING__ |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
633 | except ImportError: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
634 | # links were not created by install.py |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
635 | return |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
636 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
637 | regPath = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
638 | "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" + |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
639 | "\\User Shell Folders" |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
640 | ) |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
641 | |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
642 | if doCleanDesktopLinks or forceCleanDesktopLinks: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
643 | # 1. cleanup desktop links |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
644 | regName = "Desktop" |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
645 | desktopEntry = getWinregEntry(regName, regPath) |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
646 | if desktopEntry: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
647 | desktopFolder = os.path.normpath(os.path.expandvars(desktopEntry)) |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
648 | for linkName in windowsDesktopNames(): |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
649 | linkPath = os.path.join(desktopFolder, linkName) |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
650 | if os.path.exists(linkPath): |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
651 | try: |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
652 | os.remove(linkPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
653 | except OSError: |
6663
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
654 | # maybe restrictions prohibited link removal |
fe9da2b5d148
install.py: updated help texts and added an option (--clean-desktop) to delete the desktop links before installation on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6660
diff
changeset
|
655 | print("Could not remove '{0}'.".format(linkPath)) |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
656 | |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
657 | # 2. cleanup start menu entry |
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
658 | regName = "Programs" |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
659 | programsEntry = getWinregEntry(regName, regPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
660 | if programsEntry: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
661 | programsFolder = os.path.normpath(os.path.expandvars(programsEntry)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
662 | eric7EntryPath = os.path.join(programsFolder, windowsProgramsEntry()) |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
663 | if os.path.exists(eric7EntryPath): |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
664 | try: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
665 | shutil.rmtree(eric7EntryPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
666 | except OSError: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
667 | # maybe restrictions prohibited link removal |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
668 | print("Could not remove '{0}'.".format(eric7EntryPath)) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
669 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
670 | |
2177
a59ffbc5fe4c
Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2160
diff
changeset
|
671 | def shutilCopy(src, dst, perm=0o644): |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
672 | """ |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
673 | Wrapper function around shutil.copy() to ensure the permissions. |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
674 | |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
675 | @param src source file name (string) |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
676 | @param dst destination file name or directory name (string) |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7894
diff
changeset
|
677 | @param perm permissions to be set (integer) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
678 | """ |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
679 | shutil.copy(src, dst) |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
680 | if os.path.isdir(dst): |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
681 | dst = os.path.join(dst, os.path.basename(src)) |
2177
a59ffbc5fe4c
Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2160
diff
changeset
|
682 | os.chmod(dst, perm) |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
683 | |
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
684 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | def installEric(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | Actually perform the installation steps. |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
688 | |
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
689 | @return result code (integer) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | """ |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
691 | global distDir, doCleanup, cfg, progLanguages, sourceDir, configName |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
692 | global installApis |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | # Create the platform specific wrappers. |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
695 | scriptsDir = "install_scripts" |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
696 | if not os.path.isdir(scriptsDir): |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
697 | os.mkdir(scriptsDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | wnames = [] |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
699 | for name in ["eric7_api", "eric7_doc"]: |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
700 | wnames.append(createPyWrapper(cfg['ericDir'], name, scriptsDir, False)) |
8566
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
701 | for name in ["eric7_browser", "eric7_compare", "eric7_configure", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
702 | "eric7_diff", "eric7_editor", "eric7_hexeditor", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
703 | "eric7_iconeditor", "eric7_plugininstall", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
704 | "eric7_pluginrepository", "eric7_pluginuninstall", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
705 | "eric7_qregularexpression", "eric7_re", "eric7_snap", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
706 | "eric7_sqlbrowser", "eric7_tray", "eric7_trpreviewer", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
707 | "eric7_uipreviewer", "eric7_unittest", "eric7_shell", |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
708 | "eric7"]: |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
709 | wnames.append(createPyWrapper(cfg['ericDir'], name, scriptsDir)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | # set install prefix, if not None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | if distDir: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
713 | for key in list(cfg.keys()): |
7121
1d6f6aa6b18f
install.py: added a patch provided by Guðjón Guðjónsson.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7039
diff
changeset
|
714 | cfg[key] = os.path.normpath( |
1d6f6aa6b18f
install.py: added a patch provided by Guðjón Guðjónsson.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7039
diff
changeset
|
715 | os.path.join(distDir, cfg[key].lstrip(os.sep))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
717 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | # Install the files |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | # make the install directories |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8128
diff
changeset
|
720 | for key in cfg: |
3948
6c3720179d6b
Extended the install script to improve cooperation with packagers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3943
diff
changeset
|
721 | if cfg[key] and not os.path.isdir(cfg[key]): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | os.makedirs(cfg[key]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
724 | # copy the eric config file |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | if distDir: |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
726 | shutilCopy(configName, cfg['mdir']) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
727 | if os.path.exists(configName + 'c'): |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
728 | shutilCopy(configName + 'c', cfg['mdir']) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | else: |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
730 | shutilCopy(configName, modDir) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
731 | if os.path.exists(configName + 'c'): |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
732 | shutilCopy(configName + 'c', modDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
734 | # copy the various parts of eric |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
735 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
736 | eric7SourceDir, cfg['ericDir'], |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
737 | ['*.py', '*.pyc', '*.pyo', '*.pyw'], |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
738 | [os.path.join(sourceDir, "Examples"), |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
739 | os.path.join(sourceDir, ".ropeproject")], |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
740 | excludePatterns=["eric7config.py*"]) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
741 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
742 | os.path.join(eric7SourceDir, "Plugins"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
743 | os.path.join(cfg['ericDir'], "Plugins"), |
6939
af0ca76e26fd
install.py: fixed an issue causing the trove classifiers file of the setup wizard not being installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6906
diff
changeset
|
744 | ['*.svgz', '*.svg', '*.png', '*.style', '*.tmpl', '*.txt']) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
745 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
746 | os.path.join(eric7SourceDir, "Documentation"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
747 | cfg['ericDocDir'], |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
390
diff
changeset
|
748 | ['*.html', '*.qch']) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
749 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
750 | os.path.join(eric7SourceDir, "CSSs"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
751 | cfg['ericCSSDir'], |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
752 | ['*.css']) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
753 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
754 | os.path.join(eric7SourceDir, "Styles"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
755 | cfg['ericStylesDir'], |
8047
b5594178c7fa
Made some more JSON file related changes and exported some dark styles in the new file format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
756 | ['*.qss', '*.e4h', '*.e6h', '*.ehj']) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
757 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
758 | os.path.join(eric7SourceDir, "i18n"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
759 | cfg['ericTranslationsDir'], |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
760 | ['*.qm']) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
761 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
762 | os.path.join(eric7SourceDir, "icons"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
763 | cfg['ericIconDir'], |
6760 | 764 | ['*.svgz', '*.svg', '*.png', 'LICENSE*.*', 'readme.txt']) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
765 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
766 | os.path.join(eric7SourceDir, "pixmaps"), |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
767 | cfg['ericPixDir'], |
6760 | 768 | ['*.svgz', '*.svg', '*.png', '*.xpm', '*.ico', '*.gif']) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
769 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
770 | os.path.join(eric7SourceDir, "DesignerTemplates"), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
771 | cfg['ericTemplatesDir'], |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
390
diff
changeset
|
772 | ['*.tmpl']) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3019
diff
changeset
|
773 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
774 | os.path.join(eric7SourceDir, "CodeTemplates"), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
775 | cfg['ericCodeTemplatesDir'], |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
390
diff
changeset
|
776 | ['*.tmpl']) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
778 | # copy some data files needed at various places |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
779 | copyTree( |
8354
12ebd3934fef
Renamed 'E5Utilities' to 'EricUtilities' and 'E5Network' to 'EricNetwork'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8343
diff
changeset
|
780 | os.path.join(eric7SourceDir, "EricNetwork", "data"), |
12ebd3934fef
Renamed 'E5Utilities' to 'EricUtilities' and 'E5Network' to 'EricNetwork'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8343
diff
changeset
|
781 | os.path.join(cfg['ericDir'], "EricNetwork", "data"), |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
782 | ['*.dat', '*.txt']) |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
783 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
784 | os.path.join(eric7SourceDir, "IconEditor", "cursors"), |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
785 | os.path.join(cfg['ericDir'], "IconEditor", "cursors"), |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
786 | ['*.xpm']) |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
787 | copyTree( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
788 | os.path.join(eric7SourceDir, "UI", "data"), |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
789 | os.path.join(cfg['ericDir'], "UI", "data"), |
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
790 | ['*.css']) |
8566
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
791 | copyTree( |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
792 | os.path.join(eric7SourceDir, "WebBrowser"), |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
793 | os.path.join(cfg['ericDir'], "WebBrowser"), |
0df55126fdf4
Preliminary change to install the eric7 web browser unconditionally (for development and testing only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
794 | ['*.xbel', '*.xml', '*.html', '*.png', '*.gif', '*.js']) |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
795 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | # copy the wrappers |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | for wname in wnames: |
2177
a59ffbc5fe4c
Fixed an error in the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2160
diff
changeset
|
798 | shutilCopy(wname, cfg['bindir'], perm=0o755) |
622
54c2a58acef4
Modified install script such, that it allows an installation from source as well. The situation will be determined automatically.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
620
diff
changeset
|
799 | os.remove(wname) |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
800 | shutil.rmtree(scriptsDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
801 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | # copy the license file |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
803 | shutilCopy(os.path.join(sourceDir, "docs", "LICENSE.GPL3"), |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
804 | cfg['ericDir']) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
806 | # create the global plugins directory |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
807 | createGlobalPluginsDir() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
808 | |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
809 | except OSError as msg: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
810 | sys.stderr.write( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2969
diff
changeset
|
811 | 'Error: {0}\nTry install with admin rights.\n'.format(msg)) |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
812 | return(7) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
813 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | # copy some text files to the doc area |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | for name in ["LICENSE.GPL3", "THANKS", "changelog"]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | try: |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
817 | shutilCopy(os.path.join(sourceDir, "docs", name), |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
818 | cfg['ericDocDir']) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
819 | except OSError: |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
820 | print("Could not install '{0}'.".format( |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
821 | os.path.join(sourceDir, "docs", name))) |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
822 | for name in glob.glob(os.path.join(sourceDir, 'docs', 'README*.*')): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
823 | try: |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
824 | shutilCopy(name, cfg['ericDocDir']) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
825 | except OSError: |
4512
23e8b848efb0
Fixed some incorrect string format strings using the new checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4456
diff
changeset
|
826 | print("Could not install '{0}'.".format(name)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
828 | # copy some more stuff |
8047
b5594178c7fa
Made some more JSON file related changes and exported some dark styles in the new file format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
829 | for name in ('default.ekj', 'default_Mac.ekj', |
b5594178c7fa
Made some more JSON file related changes and exported some dark styles in the new file format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
830 | 'default.e4k', 'default_Mac.e4k'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | try: |
6942
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
832 | shutilCopy(os.path.join(sourceDir, "others", name), |
2602857055c5
Major restructuring of the source tree to get prepared for a setup.py based installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6939
diff
changeset
|
833 | cfg['ericOthersDir']) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
834 | except OSError: |
6960
1d4e02425869
install.py: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6956
diff
changeset
|
835 | print("Could not install '{0}'.".format( |
1d4e02425869
install.py: fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6956
diff
changeset
|
836 | os.path.join(sourceDir, "others", name))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
837 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | # install the API file |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
839 | if installApis: |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
840 | for progLanguage in progLanguages: |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
841 | apidir = os.path.join(cfg['apidir'], progLanguage.lower()) |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
842 | print("Installing {0} API files to '{1}'.".format( |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
843 | progLanguage, apidir)) |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
844 | if not os.path.exists(apidir): |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
845 | os.makedirs(apidir) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
846 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
847 | progLanguage, "*.api")): |
40
c2e5472b112c
Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
21
diff
changeset
|
848 | try: |
2160
1874d4410904
Changed the install script to ensure proper permissions of the installed files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2145
diff
changeset
|
849 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
850 | except OSError: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
851 | print("Could not install '{0}' (no permission)." |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
852 | .format(apiName)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
853 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
854 | progLanguage, "*.bas")): |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
855 | try: |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
856 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
857 | except OSError: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
858 | print("Could not install '{0}' (no permission)." |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
859 | .format(apiName)) |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
860 | if progLanguage == "Python": |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
861 | # copy Python3 API files to the same destination |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
862 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
863 | "Python3", "*.api")): |
3697
c947a7eaace4
Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
864 | try: |
c947a7eaace4
Updated the base classes files and modified the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
865 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
866 | except OSError: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
867 | print("Could not install '{0}' (no permission)." |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
868 | .format(apiName)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
869 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
3943
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
870 | "Python3", "*.bas")): |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
871 | if os.path.exists(os.path.join( |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
872 | apidir, os.path.basename( |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
873 | apiName.replace(".bas", ".api")))): |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
874 | try: |
37d88bed7bb9
Extended install script to mark more files with Python variant markers and added the '--noapis' switch to suppress API files installation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3942
diff
changeset
|
875 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
876 | except OSError: |
6214
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
877 | print("Could not install '{0}' (no permission)." |
89a53d80e729
install, uninstall: Modified the install and uninstall scripts such, that they can be used without being administrator (i.e. if installing into a virtual environment).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6213
diff
changeset
|
878 | .format(apiName)) |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
879 | |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
880 | # copy MicroPython API files to the same destination |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
881 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
882 | "MicroPython", "*.api")): |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
883 | try: |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
884 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
885 | except OSError: |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
886 | print("Could not install '{0}' (no permission)." |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
887 | .format(apiName)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
888 | for apiName in glob.glob(os.path.join(eric7SourceDir, "APIs", |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
889 | "MicroPython", "*.bas")): |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
890 | if os.path.exists(os.path.join( |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
891 | apidir, os.path.basename( |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
892 | apiName.replace(".bas", ".api")))): |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
893 | try: |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
894 | shutilCopy(apiName, apidir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
895 | except OSError: |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
896 | print("Could not install '{0}' (no permission)." |
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7141
diff
changeset
|
897 | .format(apiName)) |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
898 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
899 | # Create menu entry for Linux systems |
146
afeb742e7148
Added installation of a .desktop file for Linux systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
133
diff
changeset
|
900 | if sys.platform.startswith("linux"): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
901 | createLinuxSpecifics() |
3931
ff8e034662d6
Modified the install script to allow parallel installation for Python2 and Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3897
diff
changeset
|
902 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
903 | # Create Desktop and Start Menu entries for Windows systems |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
904 | elif sys.platform.startswith(("win", "cygwin")): |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
905 | createWindowsLinks() |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
906 | |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
907 | # Create a Mac application bundle |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
908 | elif sys.platform == "darwin": |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
909 | createMacAppBundle(cfg['ericDir']) |
2383
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
910 | |
e999256385bd
Extended the installation routine by the creation of a desktop file for the eric5 web browser.
"Detlev Offenbach <detlev@die-offenbachs.de>"
parents:
2312
diff
changeset
|
911 | return 0 |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
912 | |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
913 | |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
914 | def createLinuxSpecifics(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
915 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
916 | Install Linux specific files. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
917 | """ |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
918 | global distDir, sourceDir |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
919 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
920 | if distDir: |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
921 | dst = os.path.normpath(os.path.join(distDir, "usr/share/icons")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
922 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
923 | os.makedirs(dst) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
924 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
925 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
926 | os.path.join(dst, "eric.png")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
927 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
928 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
929 | os.path.join(dst, "ericWeb.png")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
930 | dst = os.path.normpath( |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
931 | os.path.join(distDir, "usr/share/applications")) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
932 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
933 | os.makedirs(dst) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
934 | copyDesktopFile(os.path.join(sourceDir, "linux", "eric7.desktop.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
935 | os.path.join(dst, "eric7.desktop")) |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
936 | # TODO: enable this once PyQt 6.2.0/Qt 6.2.0 is released |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
937 | if False: |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
938 | copyDesktopFile( |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
939 | os.path.join(sourceDir, "linux", "eric7_browser.desktop.in"), |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
940 | os.path.join(dst, "eric7_browser.desktop")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
941 | dst = os.path.normpath( |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
942 | os.path.join(distDir, "usr/share/metainfo")) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
943 | if not os.path.exists(dst): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
944 | os.makedirs(dst) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
945 | copyAppStreamFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
946 | os.path.join(sourceDir, "linux", "eric7.appdata.xml.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
947 | os.path.join(dst, "eric7.appdata.xml")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
948 | elif os.getuid() == 0: |
7519
0e93f5167e71
install.py: fixed an issue caused by renaming the old 'default' icon directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7453
diff
changeset
|
949 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
950 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
951 | "/usr/share/icons/eric.png") |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
952 | copyDesktopFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
953 | os.path.join(sourceDir, "linux", "eric7.desktop.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
954 | "/usr/share/applications/eric7.desktop") |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
955 | if os.path.exists("/usr/share/metainfo"): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
956 | copyAppStreamFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
957 | os.path.join(sourceDir, "linux", "eric7.appdata.xml.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
958 | "/usr/share/metainfo/eric7.appdata.xml") |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
959 | elif os.path.exists("/usr/share/appdata"): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
960 | copyAppStreamFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
961 | os.path.join(sourceDir, "linux", "eric7.appdata.xml.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
962 | "/usr/share/appdata/eric7.appdata.xml") |
7519
0e93f5167e71
install.py: fixed an issue caused by renaming the old 'default' icon directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7453
diff
changeset
|
963 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
964 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
965 | "/usr/share/icons/ericWeb.png") |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
966 | # TODO: enable this once PyQt 6.2.0/Qt 6.2.0 is released |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
967 | if False: |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
968 | copyDesktopFile( |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
969 | os.path.join(sourceDir, "linux", "eric7_browser.desktop.in"), |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
970 | "/usr/share/applications/eric7_browser.desktop") |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
971 | elif os.getuid() >= 1000: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
972 | # it is assumed, that user ids start at 1000 |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
973 | localPath = os.path.join(os.path.expanduser("~"), |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
974 | ".local", "share") |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
975 | # create directories first |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
976 | for directory in [os.path.join(localPath, name) |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
977 | for name in ("icons", "applications", |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
978 | "metainfo", "appdata")]: |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
979 | if not os.path.isdir(directory): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
980 | os.makedirs(directory) |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
981 | # now copy the files |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
982 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
983 | os.path.join(eric7SourceDir, "pixmaps", "eric_icon.png"), |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
984 | os.path.join(localPath, "icons", "eric.png")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
985 | copyDesktopFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
986 | os.path.join(sourceDir, "linux", "eric7.desktop.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
987 | os.path.join(localPath, "applications", "eric7.desktop")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
988 | copyAppStreamFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
989 | os.path.join(sourceDir, "linux", "eric7.appdata.xml.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
990 | os.path.join(localPath, "metainfo", "eric7.appdata.xml")) |
7192
a22eee00b052
Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7185
diff
changeset
|
991 | copyAppStreamFile( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
992 | os.path.join(sourceDir, "linux", "eric7.appdata.xml.in"), |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
993 | os.path.join(localPath, "appdata", "eric7.appdata.xml")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
994 | shutilCopy( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
995 | os.path.join(eric7SourceDir, "pixmaps", "ericWeb48_icon.png"), |
8254
259484b0fc75
install.py, uninstall.py: changed the Linux path where our icons get installed
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
996 | os.path.join(localPath, "icons", "ericWeb.png")) |
8339
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
997 | # TODO: enable this once PyQt 6.2.0/Qt 6.2.0 is released |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
998 | if False: |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
999 | copyDesktopFile( |
75908476226e
Prepared the install and uninstall scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
1000 | os.path.join(sourceDir, "linux", "eric7_browser.desktop.in"), |
8366
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
1001 | os.path.join(localPath, "applications", |
2a9f5153c438
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8360
diff
changeset
|
1002 | "eric7_browser.desktop")) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1003 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1004 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1005 | def createWindowsLinks(): |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1006 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1007 | Create Desktop and Start Menu links. |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1008 | """ |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1009 | try: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1010 | # check, if pywin32 is available |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1011 | from win32com.client import Dispatch # __IGNORE_WARNING__ |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1012 | except ImportError: |
6592
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1013 | installed = pipInstall( |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1014 | "pywin32", |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1015 | "\nThe Python package 'pywin32' could not be imported.", |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8254
diff
changeset
|
1016 | force=False |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1017 | ) |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1018 | if installed: |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1019 | # create the links via an external script to get around some |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1020 | # startup magic done by pywin32.pth |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1021 | args = [ |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1022 | sys.executable, |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1023 | os.path.join(os.path.dirname(__file__), |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1024 | "create_windows_links.py"), |
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1025 | ] |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7584
diff
changeset
|
1026 | subprocess.call(args) # secok |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1027 | else: |
6592
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1028 | print( |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1029 | "\nThe Python package 'pywin32' is not installed. Desktop and" |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1030 | " Start Menu entries will not be created." |
bba271a63b81
install: added capability to install the pywin32 package upon request in order to create shortcut links.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
1031 | ) |
6594
7ecac3b1c7aa
install: second attempt to cope with tricks done by pywin32 at interpreter startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6593
diff
changeset
|
1032 | return |
6509
884182bfd25c
install, uninstall: started to add capability to generate Desktop and Start Menu entries on Windows platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6500
diff
changeset
|
1033 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1034 | regPath = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1035 | "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" + |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1036 | "\\User Shell Folders" |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1037 | ) |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1038 | |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1039 | # 1. create desktop shortcuts |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1040 | regName = "Desktop" |
7566
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1041 | desktopEntry = getWinregEntry(regName, regPath) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1042 | if desktopEntry: |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1043 | desktopFolder = os.path.normpath(os.path.expandvars(desktopEntry)) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1044 | for linkName, targetPath, iconPath in windowsDesktopEntries(): |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1045 | linkPath = os.path.join(desktopFolder, linkName) |
7845da7a7ec2
install.py: added fault handler for desktop shortcut creation on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7519
diff
changeset
|
1046 | createWindowsShortcut(linkPath, targetPath, iconPath) |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1047 | |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1048 | # 2. create start menu entry and shortcuts |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1049 | regName = "Programs" |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1050 | programsEntry = getWinregEntry(regName, regPath) |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1051 | if programsEntry: |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1052 | programsFolder = os.path.normpath(os.path.expandvars(programsEntry)) |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1053 | eric7EntryPath = os.path.join(programsFolder, windowsProgramsEntry()) |
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1054 | if not os.path.exists(eric7EntryPath): |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1055 | try: |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1056 | os.makedirs(eric7EntryPath) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7835
diff
changeset
|
1057 | except OSError: |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1058 | # maybe restrictions prohibited link creation |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1059 | return |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1060 | |
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1061 | for linkName, targetPath, iconPath in windowsDesktopEntries(): |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8310
diff
changeset
|
1062 | linkPath = os.path.join(eric7EntryPath, linkName) |
6510
d8fd663f86ef
install, uninstall: added code to create and remove Desktop and Start Menu entries on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6509
diff
changeset
|
1063 | createWindowsShortcut(linkPath, targetPath, iconPath) |
6500
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1064 | |
0373580fc86c
install.py, uninstall.py: performed some refactorings and prepared to create links on Windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6495
diff
changeset
|
1065 | |
1390
f4a7915db1e6
Fixed the Mac part of the install script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1389
diff
changeset
|
1066 | def createMacAppBundle(pydir): |
1387
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
1067 | """ |
1734bc5f4f82
Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1385
diff
changeset
|
1068 | Create a Mac application bundle. |
1390 |