diff -r 1779dc278077 -r 391d6b7b1eff eric6/Documentation/Source/install.html --- a/eric6/Documentation/Source/install.html Wed Sep 25 19:40:31 2019 +0200 +++ b/eric6/Documentation/Source/install.html Wed Sep 25 19:42:44 2019 +0200 @@ -18,312 +18,405 @@ </style> </head> -<body><a NAME="top" ID="top"></a> +<body> +<a NAME="top" ID="top"></a> <h1>install</h1> + <p> Installation script for the eric6 IDE and all eric6 related tools. </p> <h3>Global Attributes</h3> + <table> <tr><td>BlackLists</td></tr><tr><td>PlatformsBlackLists</td></tr><tr><td>apisDir</td></tr><tr><td>cfg</td></tr><tr><td>configLength</td></tr><tr><td>configName</td></tr><tr><td>currDir</td></tr><tr><td>defaultMacAppBundleName</td></tr><tr><td>defaultMacAppBundlePath</td></tr><tr><td>defaultMacPythonExe</td></tr><tr><td>distDir</td></tr><tr><td>doCleanDesktopLinks</td></tr><tr><td>doCleanup</td></tr><tr><td>doCompile</td></tr><tr><td>eric6SourceDir</td></tr><tr><td>forceCleanDesktopLinks</td></tr><tr><td>installApis</td></tr><tr><td>macAppBundleName</td></tr><tr><td>macAppBundlePath</td></tr><tr><td>macPythonExe</td></tr><tr><td>modDir</td></tr><tr><td>platBinDir</td></tr><tr><td>platBinDirOld</td></tr><tr><td>progLanguages</td></tr><tr><td>progName</td></tr><tr><td>pyModDir</td></tr><tr><td>sourceDir</td></tr> </table> <h3>Classes</h3> + <table> <tr><td>None</td></tr> </table> <h3>Functions</h3> + <table> + <tr> <td><a href="#__pyName">__pyName</a></td> <td>Local function to create the Python source file name for the compiled .ui file.</td> -</tr><tr> +</tr> +<tr> <td><a href="#cleanUp">cleanUp</a></td> <td>Uninstall the old eric files.</td> -</tr><tr> +</tr> +<tr> <td><a href="#cleanUpLinuxSpecifics">cleanUpLinuxSpecifics</a></td> <td>Clean up Linux specific files.</td> -</tr><tr> +</tr> +<tr> <td><a href="#cleanUpMacAppBundle">cleanUpMacAppBundle</a></td> <td>Uninstall the macOS application bundle.</td> -</tr><tr> +</tr> +<tr> <td><a href="#cleanUpWindowsLinks">cleanUpWindowsLinks</a></td> <td>Clean up the Desktop and Start Menu entries for Windows.</td> -</tr><tr> +</tr> +<tr> <td><a href="#cleanupSource">cleanupSource</a></td> <td>Cleanup the sources directory to get rid of leftover files and directories.</td> -</tr><tr> +</tr> +<tr> <td><a href="#compileUiFiles">compileUiFiles</a></td> <td>Compile the .ui files to Python sources.</td> -</tr><tr> +</tr> +<tr> <td><a href="#copyAppStreamFile">copyAppStreamFile</a></td> <td>Modify an appstream file and write it to its destination.</td> -</tr><tr> +</tr> +<tr> <td><a href="#copyDesktopFile">copyDesktopFile</a></td> <td>Modify a desktop file and write it to its destination.</td> -</tr><tr> +</tr> +<tr> <td><a href="#copyToFile">copyToFile</a></td> <td>Copy a string to a file.</td> -</tr><tr> +</tr> +<tr> <td><a href="#copyTree">copyTree</a></td> <td>Copy Python, translation, documentation, wizards configuration, designer template files and DTDs of a directory tree.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createConfig">createConfig</a></td> <td>Create a config file with the respective config entries.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createGlobalPluginsDir">createGlobalPluginsDir</a></td> <td>Create the global plugins directory, if it doesn't exist.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createInstallConfig">createInstallConfig</a></td> <td>Create the installation config dictionary.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createLinuxSpecifics">createLinuxSpecifics</a></td> <td>Install Linux specific files.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createMacAppBundle">createMacAppBundle</a></td> <td>Create a Mac application bundle.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createPyWrapper">createPyWrapper</a></td> <td>Create an executable wrapper for a Python script.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createWindowsLinks">createWindowsLinks</a></td> <td>Create Desktop and Start Menu links.</td> -</tr><tr> +</tr> +<tr> <td><a href="#createWindowsShortcut">createWindowsShortcut</a></td> <td>Create Windows shortcut.</td> -</tr><tr> +</tr> +<tr> <td><a href="#doDependancyChecks">doDependancyChecks</a></td> <td>Perform some dependency checks.</td> -</tr><tr> +</tr> +<tr> <td><a href="#exit">exit</a></td> <td>Exit the install script.</td> -</tr><tr> +</tr> +<tr> <td><a href="#getWinregEntry">getWinregEntry</a></td> <td>Function to get an entry from the Windows Registry.</td> -</tr><tr> +</tr> +<tr> <td><a href="#initGlobals">initGlobals</a></td> <td>Module function to set the values of globals that need more than a simple assignment.</td> -</tr><tr> +</tr> +<tr> <td><a href="#installEric">installEric</a></td> <td>Actually perform the installation steps.</td> -</tr><tr> +</tr> +<tr> <td><a href="#main">main</a></td> <td>The main function of the script.</td> -</tr><tr> +</tr> +<tr> <td><a href="#pipInstall">pipInstall</a></td> <td>Install the given package via pip.</td> -</tr><tr> +</tr> +<tr> <td><a href="#prepareInfoFile">prepareInfoFile</a></td> <td>Function to prepare an Info.py file when installing from source.</td> -</tr><tr> +</tr> +<tr> <td><a href="#shutilCopy">shutilCopy</a></td> <td>Wrapper function around shutil.copy() to ensure the permissions.</td> -</tr><tr> +</tr> +<tr> <td><a href="#usage">usage</a></td> <td>Display a usage message and exit.</td> -</tr><tr> +</tr> +<tr> <td><a href="#windowsDesktopEntries">windowsDesktopEntries</a></td> <td>Function to generate data for the Windows Desktop links.</td> -</tr><tr> +</tr> +<tr> <td><a href="#windowsDesktopNames">windowsDesktopNames</a></td> <td>Function to generate the link names for the Windows Desktop.</td> -</tr><tr> +</tr> +<tr> <td><a href="#windowsProgramsEntry">windowsProgramsEntry</a></td> <td>Function to generate the name of the Start Menu top entry.</td> -</tr><tr> +</tr> +<tr> <td><a href="#wrapperNames">wrapperNames</a></td> <td>Create the platform specific names for the wrapper script.</td> </tr> </table> -<hr /><hr /> +<hr /> +<hr /> <a NAME="__pyName" ID="__pyName"></a> <h2>__pyName</h2> <b>__pyName</b>(<i>py_dir, py_file</i>) + <p> Local function to create the Python source file name for the compiled .ui file. -</p><dl> +</p> +<dl> + <dt><i>py_dir</i></dt> <dd> suggested name of the directory (string) -</dd><dt><i>py_file</i></dt> +</dd> +<dt><i>py_file</i></dt> <dd> suggested name for the compile source file (string) </dd> -</dl><dl> +</dl> +<dl> <dt>Returns:</dt> <dd> tuple of directory name (string) and source file name (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="cleanUp" ID="cleanUp"></a> <h2>cleanUp</h2> <b>cleanUp</b>(<i></i>) + <p> Uninstall the old eric files. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="cleanUpLinuxSpecifics" ID="cleanUpLinuxSpecifics"></a> <h2>cleanUpLinuxSpecifics</h2> <b>cleanUpLinuxSpecifics</b>(<i></i>) + <p> Clean up Linux specific files. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="cleanUpMacAppBundle" ID="cleanUpMacAppBundle"></a> <h2>cleanUpMacAppBundle</h2> <b>cleanUpMacAppBundle</b>(<i></i>) + <p> Uninstall the macOS application bundle. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="cleanUpWindowsLinks" ID="cleanUpWindowsLinks"></a> <h2>cleanUpWindowsLinks</h2> <b>cleanUpWindowsLinks</b>(<i></i>) + <p> Clean up the Desktop and Start Menu entries for Windows. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="cleanupSource" ID="cleanupSource"></a> <h2>cleanupSource</h2> <b>cleanupSource</b>(<i>dirName</i>) + <p> Cleanup the sources directory to get rid of leftover files and directories. -</p><dl> +</p> +<dl> + <dt><i>dirName</i></dt> <dd> name of the directory to prune (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="compileUiFiles" ID="compileUiFiles"></a> <h2>compileUiFiles</h2> <b>compileUiFiles</b>(<i></i>) + <p> Compile the .ui files to Python sources. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="copyAppStreamFile" ID="copyAppStreamFile"></a> <h2>copyAppStreamFile</h2> <b>copyAppStreamFile</b>(<i>src, dst</i>) + <p> Modify an appstream file and write it to its destination. -</p><dl> +</p> +<dl> + <dt><i>src</i></dt> <dd> source file name (string) -</dd><dt><i>dst</i></dt> +</dd> +<dt><i>dst</i></dt> <dd> destination file name (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="copyDesktopFile" ID="copyDesktopFile"></a> <h2>copyDesktopFile</h2> <b>copyDesktopFile</b>(<i>src, dst</i>) + <p> Modify a desktop file and write it to its destination. -</p><dl> +</p> +<dl> + <dt><i>src</i></dt> <dd> source file name (string) -</dd><dt><i>dst</i></dt> +</dd> +<dt><i>dst</i></dt> <dd> destination file name (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="copyToFile" ID="copyToFile"></a> <h2>copyToFile</h2> <b>copyToFile</b>(<i>name, text</i>) + <p> Copy a string to a file. -</p><dl> +</p> +<dl> + <dt><i>name</i></dt> <dd> the name of the file. -</dd><dt><i>text</i></dt> +</dd> +<dt><i>text</i></dt> <dd> the contents to copy to the file. </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="copyTree" ID="copyTree"></a> <h2>copyTree</h2> <b>copyTree</b>(<i>src, dst, filters, excludeDirs=None, excludePatterns=None</i>) + <p> Copy Python, translation, documentation, wizards configuration, designer template files and DTDs of a directory tree. -</p><dl> +</p> +<dl> + <dt><i>src</i></dt> <dd> name of the source directory -</dd><dt><i>dst</i></dt> +</dd> +<dt><i>dst</i></dt> <dd> name of the destination directory -</dd><dt><i>filters</i></dt> +</dd> +<dt><i>filters</i></dt> <dd> list of filter pattern determining the files to be copied -</dd><dt><i>excludeDirs</i></dt> +</dd> +<dt><i>excludeDirs</i></dt> <dd> list of (sub)directories to exclude from copying -</dd><dt><i>excludePatterns=</i></dt> +</dd> +<dt><i>excludePatterns=</i></dt> <dd> list of filter pattern determining the files to be skipped </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createConfig" ID="createConfig"></a> <h2>createConfig</h2> <b>createConfig</b>(<i></i>) + <p> Create a config file with the respective config entries. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createGlobalPluginsDir" ID="createGlobalPluginsDir"></a> <h2>createGlobalPluginsDir</h2> <b>createGlobalPluginsDir</b>(<i></i>) + <p> Create the global plugins directory, if it doesn't exist. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createInstallConfig" ID="createInstallConfig"></a> <h2>createInstallConfig</h2> <b>createInstallConfig</b>(<i></i>) + <p> Create the installation config dictionary. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createLinuxSpecifics" ID="createLinuxSpecifics"></a> <h2>createLinuxSpecifics</h2> <b>createLinuxSpecifics</b>(<i></i>) + <p> Install Linux specific files. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createMacAppBundle" ID="createMacAppBundle"></a> <h2>createMacAppBundle</h2> <b>createMacAppBundle</b>(<i>pydir</i>) + <p> Create a Mac application bundle. -</p><dl> +</p> +<dl> + <dt><i>pydir</i> (str)</dt> <dd> the name of the directory where the Python script will @@ -331,285 +424,362 @@ </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createPyWrapper" ID="createPyWrapper"></a> <h2>createPyWrapper</h2> <b>createPyWrapper</b>(<i>pydir, wfile, saveDir, isGuiScript=True</i>) + <p> Create an executable wrapper for a Python script. -</p><dl> +</p> +<dl> + <dt><i>pydir</i></dt> <dd> the name of the directory where the Python script will eventually be installed (string) -</dd><dt><i>wfile</i></dt> +</dd> +<dt><i>wfile</i></dt> <dd> the basename of the wrapper (string) -</dd><dt><i>saveDir</i></dt> +</dd> +<dt><i>saveDir</i></dt> <dd> directory to save the file into (string) -</dd><dt><i>isGuiScript</i></dt> +</dd> +<dt><i>isGuiScript</i></dt> <dd> flag indicating a wrapper script for a GUI application (boolean) </dd> -</dl><dl> +</dl> +<dl> <dt>Returns:</dt> <dd> the platform specific name of the wrapper (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createWindowsLinks" ID="createWindowsLinks"></a> <h2>createWindowsLinks</h2> <b>createWindowsLinks</b>(<i></i>) + <p> Create Desktop and Start Menu links. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="createWindowsShortcut" ID="createWindowsShortcut"></a> <h2>createWindowsShortcut</h2> <b>createWindowsShortcut</b>(<i>linkPath, targetPath, iconPath</i>) + <p> Create Windows shortcut. -</p><dl> +</p> +<dl> + <dt><i>linkPath</i> (str)</dt> <dd> path of the shortcut file -</dd><dt><i>targetPath</i> (str)</dt> +</dd> +<dt><i>targetPath</i> (str)</dt> <dd> path the shortcut shall point to -</dd><dt><i>iconPath</i> (str)</dt> +</dd> +<dt><i>iconPath</i> (str)</dt> <dd> path of the icon file </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="doDependancyChecks" ID="doDependancyChecks"></a> <h2>doDependancyChecks</h2> <b>doDependancyChecks</b>(<i></i>) + <p> Perform some dependency checks. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="exit" ID="exit"></a> <h2>exit</h2> <b>exit</b>(<i>rcode=0</i>) + <p> Exit the install script. -</p><dl> +</p> +<dl> + <dt><i>rcode</i></dt> <dd> result code to report back (integer) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="getWinregEntry" ID="getWinregEntry"></a> <h2>getWinregEntry</h2> <b>getWinregEntry</b>(<i>name, path</i>) + <p> Function to get an entry from the Windows Registry. -</p><dl> +</p> +<dl> + <dt><i>name</i> (str)</dt> <dd> variable name -</dd><dt><i>path</i> (str)</dt> +</dd> +<dt><i>path</i> (str)</dt> <dd> registry path of the variable </dd> -</dl><dl> +</dl> +<dl> <dt>Returns:</dt> <dd> value of requested registry variable </dd> -</dl><dl> +</dl> +<dl> <dt>Return Type:</dt> <dd> any </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="initGlobals" ID="initGlobals"></a> <h2>initGlobals</h2> <b>initGlobals</b>(<i></i>) + <p> Module function to set the values of globals that need more than a simple assignment. </p> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="installEric" ID="installEric"></a> <h2>installEric</h2> <b>installEric</b>(<i></i>) + <p> Actually perform the installation steps. -</p><dl> +</p> +<dl> <dt>Returns:</dt> <dd> result code (integer) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="main" ID="main"></a> <h2>main</h2> <b>main</b>(<i>argv</i>) + <p> The main function of the script. -</p><dl> +</p> +<dl> + <dt><i>argv</i> (list of str)</dt> <dd> list of command line arguments </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="pipInstall" ID="pipInstall"></a> <h2>pipInstall</h2> <b>pipInstall</b>(<i>packageName, message</i>) + <p> Install the given package via pip. -</p><dl> +</p> +<dl> + <dt><i>packageName</i> (str)</dt> <dd> name of the package to be installed -</dd><dt><i>message</i> (str)</dt> +</dd> +<dt><i>message</i> (str)</dt> <dd> message to be shown to the user </dd> -</dl><dl> +</dl> +<dl> <dt>Returns:</dt> <dd> flag indicating a successful installation </dd> -</dl><dl> +</dl> +<dl> <dt>Return Type:</dt> <dd> bool </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="prepareInfoFile" ID="prepareInfoFile"></a> <h2>prepareInfoFile</h2> <b>prepareInfoFile</b>(<i>fileName</i>) + <p> Function to prepare an Info.py file when installing from source. -</p><dl> +</p> +<dl> + <dt><i>fileName</i></dt> <dd> name of the Python file containing the info (string) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="shutilCopy" ID="shutilCopy"></a> <h2>shutilCopy</h2> <b>shutilCopy</b>(<i>src, dst, perm=0o644</i>) + <p> Wrapper function around shutil.copy() to ensure the permissions. -</p><dl> +</p> +<dl> + <dt><i>src</i></dt> <dd> source file name (string) -</dd><dt><i>dst</i></dt> +</dd> +<dt><i>dst</i></dt> <dd> destination file name or directory name (string) -</dd><dt><i>perm=</i></dt> +</dd> +<dt><i>perm=</i></dt> <dd> permissions to be set (integer) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="usage" ID="usage"></a> <h2>usage</h2> <b>usage</b>(<i>rcode=2</i>) + <p> Display a usage message and exit. -</p><dl> +</p> +<dl> + <dt><i>rcode</i></dt> <dd> the return code passed back to the calling process. </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="windowsDesktopEntries" ID="windowsDesktopEntries"></a> <h2>windowsDesktopEntries</h2> <b>windowsDesktopEntries</b>(<i></i>) + <p> Function to generate data for the Windows Desktop links. -</p><dl> +</p> +<dl> <dt>Returns:</dt> <dd> list of tuples containing the desktop link name, the link target and the icon target </dd> -</dl><dl> +</dl> +<dl> <dt>Return Type:</dt> <dd> list of tuples of (str, str, str) </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="windowsDesktopNames" ID="windowsDesktopNames"></a> <h2>windowsDesktopNames</h2> <b>windowsDesktopNames</b>(<i></i>) + <p> Function to generate the link names for the Windows Desktop. -</p><dl> +</p> +<dl> <dt>Returns:</dt> <dd> list of desktop link names </dd> -</dl><dl> +</dl> +<dl> <dt>Return Type:</dt> <dd> list of str </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="windowsProgramsEntry" ID="windowsProgramsEntry"></a> <h2>windowsProgramsEntry</h2> <b>windowsProgramsEntry</b>(<i></i>) + <p> Function to generate the name of the Start Menu top entry. -</p><dl> +</p> +<dl> <dt>Returns:</dt> <dd> name of the Start Menu top entry </dd> -</dl><dl> +</dl> +<dl> <dt>Return Type:</dt> <dd> str </dd> </dl> <div align="right"><a href="#top">Up</a></div> -<hr /><hr /> +<hr /> +<hr /> <a NAME="wrapperNames" ID="wrapperNames"></a> <h2>wrapperNames</h2> <b>wrapperNames</b>(<i>dname, wfile</i>) + <p> Create the platform specific names for the wrapper script. -</p><dl> +</p> +<dl> + <dt><i>dname</i></dt> <dd> name of the directory to place the wrapper into -</dd><dt><i>wfile</i></dt> +</dd> +<dt><i>wfile</i></dt> <dd> basename (without extension) of the wrapper script </dd> -</dl><dl> +</dl> +<dl> <dt>Returns:</dt> <dd> the names of the wrapper scripts