You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

65 lines
1.5 KiB

#!/bin/bash
set -e
sudotool=gksu
tmpScript=/tmp/easylampp.$RANDOM
CpanelLauncher="$HOME/.local/share/applications/XAMPP Control Panel.desktop"
HtdocsFolder="$HOME/.local/share/applications/XAMPP htdocs folder.desktop"
XAMPPtarball=`zenity --file-selection --file-filter=*.tar.gz --title="Select XAMPP for Linux tarball"`
#create new temporary script
#so we can ask user for password just once
touch $tmpScript
(cat <<'EOF'
#!/bin/bash
set -e
if [ -d /opt/lampp ]; then
mv /opt/lampp /opt/lampp.bak.$RANDOM
mkdir /opt/lampp && $sudotool file-roller $1 -e /opt
chown -R $2 /opt/lampp/htdocs
else
file-roller $1 -e /opt
chown -R $2 /opt/lampp/htdocs
fi
EOF
) > $tmpScript
chmod +x $tmpScript
#ask user for password
#pass variable form parent script to temporay script with arguments
$sudotool --description="Installing XAMPP" $tmpScript "$XAMPPtarball" $USER
#create Htdocs & Control panel launcher
touch "$CpanelLauncher"
(cat <<'EOF'
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel
Name=XAMPP Control Panel
Icon=gnome-control-center
EOF
) > "$CpanelLauncher"
chmod +x "$CpanelLauncher"
touch "$HtdocsFolder"
(cat <<'EOF'
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=nautilus /opt/lampp/htdocs
Name=XAMPP htdocs
Icon=folder-remote
EOF
) > "$HtdocsFolder"
chmod +x "$HtdocsFolder"
if zenity --question --text="Do you want to launch XAMPP now ?" --title="Installation Finished" == 0
then
$sudotool /opt/lampp/share/xampp-control-panel/xampp-control-panel
fi
exit 0