summaryrefslogtreecommitdiff
path: root/install-linux.sh
diff options
context:
space:
mode:
authorFahim2016-02-04 20:40:54 +0530
committerFahim2016-02-04 20:40:54 +0530
commit4db6d2d6f6b9d017f0cd03ba92a018bace2c9224 (patch)
tree017f94aa2aa35939155405510d3d665d14bad381 /install-linux.sh
parente278966c739caa65b317102ee3a8e121d612e399 (diff)
downloadeSim-4db6d2d6f6b9d017f0cd03ba92a018bace2c9224.tar.gz
eSim-4db6d2d6f6b9d017f0cd03ba92a018bace2c9224.tar.bz2
eSim-4db6d2d6f6b9d017f0cd03ba92a018bace2c9224.zip
Improved eSim installation script
Diffstat (limited to 'install-linux.sh')
-rwxr-xr-xinstall-linux.sh142
1 files changed, 92 insertions, 50 deletions
diff --git a/install-linux.sh b/install-linux.sh
index a3df3a28..913c4bcc 100755
--- a/install-linux.sh
+++ b/install-linux.sh
@@ -19,10 +19,36 @@
# REVISION: ---
#===============================================================================
+#All variables goes here
+config_dir="$HOME/.esim"
+config_file="config.ini"
+eSim_Home=`pwd`
ngspiceFlag=0
##All Functions goes here
+
+function createConfigFile
+{
+ #Creating config.ini file and adding configuration information
+ #Check if config file is present
+ if [ -d $config_dir ];then
+ rm $config_dir/$config_file && touch $config_dir/$config_file
+ else
+ mkdir $config_dir && touch $config_dir/$config_file
+ fi
+
+ echo "[eSim]" >> $config_dir/$config_file
+ echo "eSim_HOME = $eSim_Home" >> $config_dir/$config_file
+ echo "LICENSE = %(eSim_HOME)s/LICENSE" >> $config_dir/$config_file
+ echo "KicadLib = %(eSim_HOME)s/kicadSchematicLibrary" >> $config_dir/$config_file
+ echo "IMAGES = %(eSim_HOME)s/images" >> $config_dir/$config_file
+ echo "VERSION = %(eSim_HOME)s/VERSION" >> $config_dir/$config_file
+
+
+}
+
+
function installNghdl
{
echo -n "Do you want to install nghdl? (y/n): "
@@ -46,6 +72,13 @@ if [ $getNghdl == "y" -o $getNghdl == "Y" ];then
ngspiceFlag=1
cd ..
fi
+ #Creating empty eSim_kicad.lib in home directory
+ if [ -f $HOME/eSim_kicad.lib ];then
+ echo "eSim_kicad.lib is already available"
+ else
+ touch $HOME/eSim_kicad.lib
+ fi
+
elif [ $getNghdl == "n" -o $getNghdl == "N" ];then
echo "Proceeding without installing nghdl"
else
@@ -56,12 +89,18 @@ fi
function addKicadPPA
{
- echo "Adding Kicad PPA to install latest Kicad version"
#sudo add-apt-repository ppa:js-reynaud/ppa-kicad
- ##Updating to Kicad-4
- sudo add-apt-repository --yes ppa:js-reynaud/kicad-4
- sudo apt-get update
-
+ kicadppa="reynaud/kicad-4"
+ #Checking if ghdl ppa is already exist
+ grep -h "^deb.*$kicadppa*" /etc/apt/sources.list.d/* > /dev/null 2>&1
+ if [ $? -ne 0 ]
+ then
+ echo "Adding kicad-4 PPA to install latest ghdl version"
+ sudo add-apt-repository --yes ppa:js-reynaud/kicad-4
+ sudo apt-get update
+ else
+ echo "Kicad-4 is available in synaptic"
+ fi
}
function installDependency
@@ -104,57 +143,53 @@ function copyKicadLibrary
}
-function copySourceCode
+function createDesktopStartScript
{
+
+ #Generating new esim-start.sh
+ echo "#!/bin/bash" > esim-start.sh
+ echo "cd $eSim_Home/src/frontEnd" >> esim-start.sh
+ echo "python Application.py" >> esim-start.sh
+
+ #Make it executable
+ sudo chmod 755 esim-start.sh
+ #Copy esim start script
+ sudo cp -vp esim-start.sh /usr/bin/esim
- #Creating eSim directory
- esim_loc="/opt/eSim"
-
- if [ -d "$esim_loc" ];then
- #sudo rm -r "$esim_loc"
- #sudo mkdir -v "$esim_loc"
-
- #Copy source code to eSim directory
- sudo cp -rvp src/configuration/* "$esim_loc/src/configuration"
- sudo cp -rvp src/modelParamXML/* "$esim_loc/src/modelParamXML"
- sudo cp -rvp src/modelEditor/* "$esim_loc/src/modelEditor"
- sudo cp -rvp src/projManagement/* "$esim_loc/src/projManagement"
- sudo cp -rvp src/ngspiceSimulation/* "$esim_loc/src/ngspiceSimulation"
- sudo cp -rvp src/kicadtoNgspice/* "$esim_loc/src/kicadtoNgspice"
- sudo cp -rvp src/browser/* "$esim_loc/src/browser"
- sudo cp -rvp src/frontEnd/* "$esim_loc/src/frontEnd"
- sudo cp -rvp src/ngspicetoModelica/* "$esim_loc/src/ngspicetoModelica"
- sudp cp -rvp src/pspicetoKicad/* "$esim_loc/src/pspicetoKicad"
- sudo cp -rvp kicadSchematicLibrary "$esim_loc"
- sudo cp -rvp images "$esim_loc"
- else
- sudo mkdir -v "$esim_loc"
- #Copy source code to eSim directory
- sudo cp -rvp src "$esim_loc"
- sudo cp -rvp kicadSchematicLibrary "$esim_loc"
- sudo cp -rvp images "$esim_loc"
- fi
-
- if [ "$?" -eq 1 ];then
- echo "Unable to create /opt/eSim "
- exit 1;
- else
- echo "Created /opt/eSim"
- fi
+ #Generating esim.desktop file
+ echo "[Desktop Entry]" > esim.desktop
+ ocopySourcsional Condenser Sound Microphone With Stand Code
+ getVersion=`tail -1 VERSION`
+ echo "Version=$getVersion" >> esim.desktop
+ echo "Name=eSim" >> esim.desktop
+ echo "Comment=EDA Tools" >> esim.desktop
+ echo "GenericName=eSim" >> esim.desktop
+ echo "Keywords=eda-tools" >> esim.desktop
+ echo "Exec=esim %u" >> esim.desktop
+ echo "Terminal=false" >> esim.desktop
+ echo "X-MultipleArgs=false" >> esim.desktop
+ echo "Type=Application" >> esim.desktop
+ getIcon="$config_dir/logo.png"
+ echo "Icon=$getIcon" >> esim.desktop
+ echo "Categories=Development;" >> esim.desktop
+ echo "MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;" >> esim.desktop
+ echo "StartupNotify=true" >> esim.desktop
+ echo "Actions=NewWindow;NewPrivateWindow;" >> esim.desktop
+
#Copy desktop icon file to Desktop
- cp -vp esim.desktop $HOME/Desktop/
+ cp -vp esim.desktop $HOME/Desktop/eSim
- #Copy esim start script
- sudo cp -vp esim-start.sh /usr/bin/esim
-
- #Change mode of eSim directory
- sudo chmod -R 777 "$esim_loc"
+ #Copying logo.png to .esim directory to access as icon
+ cp images/logo.png $config_dir
+}
+####################################################################
+# MAIN START FROM HERE #
+####################################################################
-}
###Checking if file is passsed as argument to script
@@ -204,21 +239,23 @@ if [ $option == "--install" ];then
echo "Install with proxy"
#Calling functions
+ createConfigFile
installNghdl
addKicadPPA
installDependency
copyKicadLibrary
- copySourceCode
+ createDesktopStartScript
elif [ $getProxy == "n" -o $getProxy == "N" ];then
echo "Install without proxy"
#Calling functions
+ createConfigFile
installNghdl
addKicadPPA
installDependency
copyKicadLibrary
- copySourceCode
+ createDesktopStartScript
if [ $? -ne 0 ];then
echo -e "\n\n\nFreeEDA ERROR: Unable to install required packages. Please check your internet connection.\n\n"
@@ -235,7 +272,12 @@ elif [ $option == "--uninstall" ];then
echo -n "Are you sure ? As it will remove complete eSim including your subcircuit and model library packages(y/n):"
read getConfirmation
if [ $getConfirmation == "y" -o $getConfirmation == "Y" ];then
- sudo rm -rf /opt/eSim/
+ sudo rm -rf $HOME/.esim $HOME/Desktop/eSim esim-start.sh esim.desktop /usr/bin/esim
+ if [ $? -eq 0 ];then
+ echo "Uninstalled successfully"
+ else
+ echo "Error while removing some file/directory.Please remove it manually"
+ fi
elif [ $getConfirmation == "n" -o $getConfirmation == "N" ];then
exit 0
else