diff options
author | Rahul P | 2020-04-01 15:34:10 +0530 |
---|---|---|
committer | GitHub | 2020-04-01 15:34:10 +0530 |
commit | e3246ddd5a88623c28ebe41b107e4add286aed3b (patch) | |
tree | fa5fb042d38c86d82c920723b76ebfc9bb483e8a | |
parent | bd71d27800234b94f90e06f12660b9391a4d586e (diff) | |
parent | 4809322f2a611ea66fffd6f084e2799c8be5ed2f (diff) | |
download | eSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.tar.gz eSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.tar.bz2 eSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.zip |
Merge pull request #146 from rahulp13/installers
revert to packaging with src, update readme
-rwxr-xr-x | Debian/install-eSim.sh | 29 | ||||
-rwxr-xr-x | Debian/readme.md | 40 |
2 files changed, 54 insertions, 15 deletions
diff --git a/Debian/install-eSim.sh b/Debian/install-eSim.sh index d7a3c572..d3c2f251 100755 --- a/Debian/install-eSim.sh +++ b/Debian/install-eSim.sh @@ -14,7 +14,7 @@ # NOTES: --- # AUTHOR: Fahim Khan, Rahul Paknikar, Saurabh Bansode # ORGANIZATION: FOSSEE at IIT Bombay. -# CREATED: Wednesday 04 March 2020 16:14 +# CREATED: Wednesday 01 April 2020 16:14 # REVISION: --- # =============================================================================== @@ -51,7 +51,7 @@ function createConfigFile function installNghdl { - echo "Installing NGHDL......................." + echo "Installing NGHDL..........................." unzip nghdl-master.zip mv nghdl-master nghdl cd nghdl/ @@ -100,6 +100,20 @@ function installDependency exit 1 fi + echo "Installing PyQt4..........................." + sudo apt-get install -y python3-pyqt4 + if [ $? -ne 0 ]; then + echo -e "\n\n\"PyQt4\" dependency couldn't be installed.\nKindly resolve above errors and try again." + exit 1 + fi + + echo "Installing Matplotlib......................" + sudo apt-get install -y python3-matplotlib + if [ $? -ne 0 ]; then + echo -e "\n\n\"Matplotlib\" dependency couldn't be installed.\nKindly resolve above errors and try again." + exit 1 + fi + echo "Installing Xpdf............................" sudo apt-get install -y xpdf if [ $? -ne 0 ]; then @@ -153,7 +167,7 @@ function copyKicadLibrary KICAD_ORIGINAL="/usr/share/kicad/template/kicad.pro.original" if [ -f "$KICAD_ORIGINAL" ];then - echo "kicad.pro.original file found....." + echo "kicad.pro.original file found" sudo cp -rv kicadLibrary/template/kicad.pro ${KICAD_PRO} else echo "Making copy of original file" @@ -174,8 +188,8 @@ function createDesktopStartScript { # Generating new esim-start.sh echo '#!/bin/bash' > esim-start.sh - echo "cd $eSim_Home" >> esim-start.sh - echo "./eSim" >> esim-start.sh + echo "cd $eSim_Home/src/frontEnd" >> esim-start.sh + echo "python3 Application.py" >> esim-start.sh # Make it executable sudo chmod 755 esim-start.sh @@ -184,9 +198,6 @@ function createDesktopStartScript # Remove local copy of esim start script rm esim-start.sh - # Make eSim executable - sudo chmod 755 eSim - # Generating esim.desktop file echo "[Desktop Entry]" > esim.desktop getVersion=`tail -1 VERSION` @@ -302,7 +313,7 @@ if [ $option == "--install" ];then elif [ $option == "--uninstall" ];then - echo -n "Are you sure? It will remove complete eSim including KiCad, Ngspice and NGHDL packages(y/n):" + echo -n "Are you sure? It will remove complete eSim including KiCad, Ngspice and NGHDL models and libraries (y/n):" read getConfirmation if [ $getConfirmation == "y" -o $getConfirmation == "Y" ];then echo "Removing eSim............................" diff --git a/Debian/readme.md b/Debian/readme.md index e2d38eb9..c907fb0a 100755 --- a/Debian/readme.md +++ b/Debian/readme.md @@ -2,7 +2,8 @@ eSim Installer (Ubuntu OS) ==== -It contains all the documenation for making eSim executable (using PyInstaller) and eSim Installation Script on Ubuntu 14.04 and above. +It contains all the documenation for making eSim executable (using PyInstaller) and eSim Installation Script on Ubuntu 16.04 and above. + ## eSim Executable: @@ -24,8 +25,8 @@ It contains all the documenation for making eSim executable (using PyInstaller) 3. Install all Python dependencies for eSim within the virtual environment as: - $ pip install pyinstaller $ pip install wheel + $ pip install pyinstaller $ pip install --upgrade 'matplotlib==3.0.3' $ pip install tornado $ pip install --upgrade 'setuptools<45.0.0' @@ -34,8 +35,8 @@ It contains all the documenation for making eSim executable (using PyInstaller) $ cd eSim/build/ $ wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz $ wget https://www.riverbankcomputing.com/static/Downloads/sip/4.19.21/sip-4.19.21.tar.gz - $ tar xzvf sip-4.19.21.tar.gz - $ tar xvzf PyQt4_gpl_x11-4.12.3.tar.gz + $ tar -xzvf sip-4.19.21.tar.gz + $ tar -xvzf PyQt4_gpl_x11-4.12.3.tar.gz $ cd sip-4.19.21/ $ python configure.py --sip-module PyQt4.sip $ make @@ -73,6 +74,33 @@ It contains all the documenation for making eSim executable (using PyInstaller) 9. Verify whether all eSim `src` files (`*.py`) have been included in `Analysis-00.toc` file under the build folder generated by PyInstaller. +## Fully-Static Bundled Version of eSim: + +1. To create a [fully-static bundled version](https://github.com/pyinstaller/pyinstaller/wiki/FAQ#GNULinux) of eSim (through PyInstaller), use a tool like [StaticX](https://github.com/JonathonReinhart/staticx/). + +2. To create fully-static eSim : + + - Activate the virtual environment as: + + $ source eSim/bin/activate + + - Install StaticX as: + + $ pip install staticx + $ pip install patchelf-wrapper + + - Create static eSim as: + + $ staticx /path/to/executable/eSim /path/to/output/executable/eSim + +3. To verify if all dynamic libraries are removed : + + - Type following command in a terminal : + + $ ldd path/to/output/executable/eSim + + - Output of above command should be similar to ` not a dynamic executable` + ## How to package eSim? @@ -80,10 +108,10 @@ It contains all the documenation for making eSim executable (using PyInstaller) 2. Add the installer file in `eSim-<version>` folder. -3. Add the eSim executable file in `eSim-<version>` folder. Also, remove following files from the folder: +3. Add the eSim executable file in `eSim-<version>` folder (only if it is made available). Also, remove following files from the folder: - `.git` folder - `code` folder - - `src` folder + - `src` folder (Applicable only if eSim executable is made) - conf.py - setup.py - index.rst |