Last active
August 29, 2015 14:10
-
-
Save ViktorNova/643ce82f0d20130b0168 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#~ NINETEEN.SH | |
#~ This script allows you to easily install/update Enlightenment 19 stable on | |
#~ Ubuntu 14.04 LTS, or remove E19 from your system. | |
#~ Tip: | |
#~ Get the Faenza and Faience icon sets for your enlightened desktop before | |
#~ running the script. | |
#~ See http://www.noobslab.com/2014/06/faience-and-faenza-icons-for.html | |
#~ To execute the script: | |
#~ 1. Open Terminal | |
#~ 2. Change to the download folder | |
#~ 3. Make the script executable with chmod +x | |
#~ 4. Run it with ./nineteen.sh | |
#~ Warning: | |
#~ Enlightenment programs installed from .deb packages (or tarballs) will | |
#~ inevitably conflict with E19 programs compiled from source code, do NOT mix | |
#~ source code with precompiled binaries! | |
#~ Written by Philippe Jean Guillaumie (batden AT sfr DOT fr). | |
#~ Feel free to use this script as you see fit. | |
#~ Modified by Thiago Martins (thiagocmartinsc AT gmail DOT com). | |
#~ Comments: | |
#~ http://ubuntuforums.org/showthread.php?t=2203190 | |
#~ ChangeLog: | |
#~ 2014-05-22 add warning. | |
#~ 2014-05-24 add libbluetooth-dev to dependencies. | |
#~ 2014-05-26 add link to ubuntuforums. | |
#~ 2014-05-31 do not disable connman module. | |
#~ 2014-06-01 add themes folder for elementary. | |
#~ 2014-06-02 add targets to deep_clean function. | |
#~ 2014-06-05 add linux-tools to bin_deps function. | |
#~ 2014-06-07 update noobslab link. | |
#~ 2014-08-06 add grive detection. | |
#~ 2014-08-13 add recommendation. | |
#~ 2014-08-19 add more targets to deep_clean function. | |
#~ 2014-09-16 add option to egrep. | |
#~ 2014-09-19 moving to E19 stable version. | |
trap '{ printf "\n$bdr%s $off%s\n\n" " KEYBOARD INTERRUPT."; exit 130; }' INT | |
#~ VARIABLES | |
bld="\e[1m" #~ Bold text. | |
bdr="\e[1;31m" #~ Bold red text. | |
bdg="\e[1;32m" #~ Bold green text. | |
bdy="\e[1;33m" #~ Bold yellow text. | |
off="\e[0m" #~ Turn off ansi colors. | |
export CPPFLAGS=-I/usr/local/include | |
export LDFLAGS=-L/usr/local/lib | |
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig | |
export CC="ccache gcc" | |
export CXX="ccache g++" | |
NCPU="$(getconf _NPROCESSORS_ONLN)" | |
NJOBS="$((NCPU*2))" | |
export MAKE="make -j $NJOBS" | |
PREFIX=/usr/local | |
E19="$HOME/Enlightenment19" | |
TITLE="wmctrl -r :ACTIVE: -N" | |
GEN="./configure --prefix=$PREFIX" | |
RELEASE=$(lsb_release -sc) | |
CODE=$(locale | grep LANGUAGE | cut -d= -f2 | cut -d_ -f1) | |
DROPB="https://dl.dropboxusercontent.com/u/" | |
DOCUDIR=$(test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \ | |
source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs | |
echo ${XDG_DOCUMENTS_DIR:-$HOME}) | |
DEPS_EN="aspell-$CODE manpages imagemagick xserver-xephyr \ | |
manpages-dev automake autopoint build-essential ccache \ | |
check cowsay doxygen freeglut3-dev git libasound2-dev \ | |
libblkid-dev libbluetooth-dev libbullet-dev libfontconfig1-dev \ | |
libfreetype6-dev libfribidi-dev libgif-dev libglib2.0-dev \ | |
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ | |
libharfbuzz-dev libiconv-hook-dev libjpeg-dev libblkid-dev \ | |
libluajit-5.1-dev libmount-dev libpam0g-dev libpng12-dev \ | |
libpoppler-dev libpulse-dev libraw-dev librsvg2-dev \ | |
libsndfile1-dev libspectre-dev libssl-dev libtiff5-dev libtool \ | |
libudev-dev libudisks2-dev libunibreak-dev libvlc-dev libwebp-dev \ | |
libxcb-shape0-dev libxcb-keysyms1-dev libxcomposite-dev \ | |
libxcursor-dev libxine-dev libxinerama-dev libxp-dev libxrandr-dev \ | |
libxss-dev libxtst-dev ragel valgrind wmctrl" | |
TRIM_EN=${DEPS_EN:46} | |
DEPS="aspell-$CODE manpages.$CODE imagemagick xserver-xephyr \ | |
manpages-dev manpages-$CODE-dev manpages-$CODE-extra automake \ | |
autopoint build-essential ccache check cowsay doxygen freeglut3-dev \ | |
git libasound2-dev libblkid-dev libbluetooth-dev libbullet-dev \ | |
libfontconfig1-dev libfreetype6-dev libfribidi-dev \ | |
libgif-dev libglib2.0-dev libgstreamer1.0-dev \ | |
libgstreamer-plugins-base1.0-dev libharfbuzz-dev libiconv-hook-dev \ | |
libjpeg-dev libblkid-dev libluajit-5.1-dev libmount-dev libpam0g-dev \ | |
libpng12-dev libpoppler-dev libpulse-dev libraw-dev librsvg2-dev \ | |
libsndfile1-dev libspectre-dev libssl-dev libtiff5-dev libtool \ | |
libudev-dev libudisks2-dev libunibreak-dev libvlc-dev libwebp-dev \ | |
libxcb-shape0-dev libxcb-keysyms1-dev libxcomposite-dev \ | |
libxcursor-dev libxine-dev libxinerama-dev libxp-dev libxrandr-dev \ | |
libxss-dev libxtst-dev ragel valgrind wmctrl" | |
TRIM=${DEPS:48} | |
GETEFL="wget -qO- http://download.enlightenment.org/rel/libs/efl/efl-1.11.3.tar.gz | tar xz --transform 's/^efl-1.11.3/efl/'" | |
GETEVL="wget -qO- http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.2.tar.gz | tar xz --transform 's/^evas_generic_loaders-1.11.2/evas_generic_loaders/'" | |
GETEGP="wget -qO- http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-1.11.0.tar.gz | tar xz --transform 's/^emotion_generic_players-1.11.0/emotion_generic_players/'" | |
GETELM="wget -qO- http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.3.tar.gz | tar xz --transform 's/^elementary-1.11.3/elementary/'" | |
GETE19="wget -qO- http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.19.1.tar.gz | tar xz --transform 's/^enlightenment-0.19.1/enlightenment/'" | |
GETETY="wget -qO- http://download.enlightenment.org/rel/apps/terminology/terminology-0.7.0.tar.gz | tar xz --transform 's/^terminology-0.7.0/terminology/'" | |
#GETEBPFL="wget -qO- http://download.enlightenment.org/rel/bindings/python/python-efl-1.11.0.tar.gz | tar xz --transform 's/^python-efl-1.11.0/python-efl/'" | |
#GETECON="wget -qO- http://download.enlightenment.org/rel/apps/econnman/econnman-1.1.tar.gz | tar xz --transform 's/^econnman-1.1/econnman/'" | |
EPROG="efl evas_generic_loaders emotion_generic_players elementary | |
enlightenment terminology" | |
#~ Enable this option to force messages to display in English | |
#~ during the build process (bug reporting): | |
#~ export LC_ALL=C | |
#~ TESTS | |
printf "\n$bld%s $off%s\n" "SYSTEM REQUIREMENTS CHECK..."; sleep 1 | |
if [ $RELEASE == trusty ]; then | |
printf "\n$bdg%s $off%s\n\n" "Ubuntu $RELEASE... OK"; sleep 1 | |
else | |
printf "\n$bdr%s $off%s\n\n" " UNSUPPORTED VERSION." | |
beep_exit | |
exit 1 | |
fi | |
dpkg -l | egrep -w 'e17|enlightenment' &>/dev/null | |
if [ $? == 0 ]; then | |
printf "\n$bdr%s $off%s\n" " ANOTHER VERSION OF ENLIGHTENMENT IS INSTALLED." | |
printf "$bdr%s $off%s\n\n" " SCRIPT ABORTED." | |
beep_exit | |
exit 1 | |
fi | |
if [ "$(pidof enlightenment)" ]; then | |
printf "\n$bdr%s $off%s\n\n" " | |
PLEASE LOG IN TO UBUNTU TO EXECUTE THIS SCRIPT." | |
beep_exit | |
exit 1 | |
fi | |
#~ FUNCTIONS | |
warn () { | |
zenity --no-wrap --info --text " | |
If you proceed with the installation,\n\ | |
nearly 1.5 GB of additional disk space\n\ | |
will be used.\n | |
Bear in mind that running other applications\n\ | |
during the build process will affect\n\ | |
compilation time." | |
} | |
beep_exit () { | |
canberra-gtk-play --id="suspend-error" &>/dev/null | |
} | |
beep_ok () { | |
canberra-gtk-play --id="complete" &>/dev/null | |
} | |
bin_deps () { | |
sudo apt-get update && sudo apt-get dist-upgrade --yes | |
if [ ! -f $DOCUDIR/installed.txt ]; then | |
dpkg --get-selections > $DOCUDIR/installed.txt | |
sed -i '/linux-generic*/d' $DOCUDIR/installed.txt | |
sed -i '/linux-headers*/d' $DOCUDIR/installed.txt | |
sed -i '/linux-image*/d' $DOCUDIR/installed.txt | |
sed -i '/linux-signed*/d' $DOCUDIR/installed.txt | |
sed -i '/linux-tools*/d' $DOCUDIR/installed.txt | |
fi | |
if [ $CODE == en ]; then | |
sudo apt-get install --yes $DEPS_EN | |
sleep 1 | |
else | |
sudo apt-get install --yes $DEPS | |
sleep 1 | |
fi | |
} | |
ls_ppa () { | |
PPA=$(awk '$1 == "Package:" { print $2 }' \ | |
/var/lib/apt/lists/*ppa*Packages) | |
for I in $(echo $PPA | xargs -n1 | sort -u); do | |
dpkg-query -Wf'${db:Status-abbrev}' $I &>/dev/null | |
if [ $? == 0 ]; then | |
sed -i "/$I/d" $DOCUDIR/installed.txt | |
fi | |
done | |
} | |
ls_dir () { | |
COUNT=$(ls -d */ | wc -l) | |
if [ $COUNT == 6 ]; then | |
printf "$bdg%s $off%s\n\n" " | |
All programs have been downloaded successfully." | |
sleep 2 | |
elif [ $COUNT == 0 ]; then | |
printf "\n$bdr%s $off%s\n\n" " | |
PLEASE CHECK YOUR NETWORK CONNECTION AND TRY AGAIN." | |
#~ (Relaunch the script and select option #1) | |
beep_exit | |
exit 1 | |
else | |
printf "\n$bdy%s $off%s\n\n" " | |
WARNING: ONLY $COUNT OF 6 PROGRAMS HAVE BEEN DOWNLOADED." | |
sleep 4 | |
fi | |
} | |
build () { | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I | |
printf "\n$bld%s $off%s\n\n" "Building $I..." | |
case $I in | |
efl) $GEN --enable-harfbuzz --enable-image-loader-webp \ | |
--enable-multisense --enable-xine --enable-xinput22 | |
;; | |
enlightenment) $GEN --enable-mount-eeze --disable-packagekit \ | |
--disable-wl-desktop-shell | |
;; | |
*) $GEN | |
;; | |
esac | |
echo | |
make | |
if [ $? -ne 0 ]; then | |
printf "\n$bdr%s $off%s\n\n" " BUILD ERROR—TRY AGAIN LATER." | |
#~ (Relaunch the script at a later time and select option #1) | |
rm -rf $E19/$I | |
beep_exit | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
done | |
} | |
build_no_nls () { | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I | |
printf "\n$bld%s $off%s\n\n" "Building $I..." | |
case $I in | |
efl) $GEN --enable-image-loader-webp --enable-multisense \ | |
--enable-xine --enable-xinput22 --disable-harfbuzz --disable-nls | |
;; | |
elementary) $GEN --disable-nls | |
;; | |
enlightenment) $GEN --enable-mount-eeze --disable-nls \ | |
--disable-packagekit --disable-wl-desktop-shell | |
;; | |
*) $GEN | |
;; | |
esac | |
echo | |
make | |
if [ $? -ne 0 ]; then | |
printf "\n$bdr%s $off%s\n\n" " BUILD ERROR—TRY AGAIN LATER." | |
#~ (Relaunch the script at a later time and select option #1) | |
rm -rf $E19/$I | |
beep_exit | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
echo | |
done | |
} | |
rebuild () { | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I | |
printf "\n$bld%s $off%s\n\n" "Updating $I..." | |
make distclean &>/dev/null | |
git reset --hard &>/dev/null | |
git pull | |
echo | |
case $I in | |
efl) $GEN --enable-harfbuzz --enable-image-loader-webp \ | |
--enable-multisense --enable-xine --enable-xinput22 | |
;; | |
enlightenment) $GEN --enable-mount-eeze --disable-packagekit \ | |
--disable-wl-desktop-shell | |
;; | |
*) $GEN | |
;; | |
esac | |
echo | |
make | |
if [ $? -ne 0 ]; then | |
printf "\n$bdr%s $off%s\n\n" " BUILD ERROR—TRY AGAIN LATER." | |
#~ (Relaunch the script at a later time and select option #2) | |
beep_exit | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
echo | |
done | |
} | |
rebuild_no_nls () { | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I | |
printf "\n$bld%s $off%s\n\n" "Updating $I..." | |
make distclean &>/dev/null | |
git reset --hard &>/dev/null | |
git pull | |
echo | |
case $I in | |
efl) $GEN --enable-image-loader-webp --enable-multisense \ | |
--enable-xine --enable-xinput22 --disable-harfbuzz --disable-nls | |
;; | |
elementary) $GEN --disable-nls | |
;; | |
enlightenment) $GEN --enable-mount-eeze --disable-nls \ | |
--disable-packagekit --disable-wl-desktop-shell | |
;; | |
*) $GEN | |
;; | |
esac | |
echo | |
make | |
if [ $? -ne 0 ]; then | |
printf "\n$bdr%s $off%s\n\n" " BUILD ERROR—TRY AGAIN LATER." | |
#~ (Relaunch the script at a later time and select option #2) | |
beep_exit | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
echo | |
done | |
} | |
remove () { | |
printf "\n$bld%s $off%s\n\n" "Cleaning $I..." | |
sudo make uninstall &>/dev/null | |
make maintainer-clean &>/dev/null | |
echo | |
} | |
deep_clean () { | |
printf "\n$bld%s $off%s\n\n" "Deeper cleaning..."; sleep 1 | |
cd $E19 | |
sudo rm -rf enlightenment/ | |
sudo rm -rf elementary/ | |
sudo rm -rf emotion_generic_players/ | |
sudo rm -rf evas_generic_loaders/ | |
sudo rm -rf terminology/ | |
sudo rm -rf efl/ | |
rm custom* &>/dev/null | |
cd $HOME | |
rm -rf Enlightenment19/ | |
rm -rf .e/ | |
rm -rf .elementary/ | |
rm -rf .cache/efreet/ | |
rm -rf .cache/evas_gl_common_caches/ | |
rm -rf .config/terminology/ | |
cd /usr/local/etc/ | |
sudo rm -rf enlightenment/ | |
cd /usr/local/include/ | |
sudo rm -rf ecore* | |
sudo rm -rf edje* | |
sudo rm -rf eet* | |
sudo rm -rf eeze* | |
sudo rm -rf efl* | |
sudo rm -rf efreet* | |
sudo rm -rf eina* | |
sudo rm -rf eio* | |
sudo rm -rf eldbus* | |
sudo rm -rf elementary* | |
sudo rm -rf embryo* | |
sudo rm -rf emotion* | |
sudo rm -rf enlightenment* | |
sudo rm -rf eo* | |
sudo rm -rf ephysics* | |
sudo rm -rf ethumb* | |
sudo rm -rf evas* | |
cd /usr/local/lib/ | |
sudo rm -rf ecore* | |
sudo rm -rf edje* | |
sudo rm -rf eeze* | |
sudo rm -rf efl* | |
sudo rm -rf efreet* | |
sudo rm -rf elementary* | |
sudo rm -rf emotion* | |
sudo rm -rf enlightenment* | |
sudo rm -rf eo* | |
sudo rm -rf ephysics* | |
sudo rm -rf ethumb* | |
sudo rm -rf evas* | |
sudo rm -rf libecore* | |
sudo rm -rf libedje* | |
sudo rm -rf libeet* | |
sudo rm -rf libeeze* | |
sudo rm -rf libefreet* | |
sudo rm -rf libeina* | |
sudo rm -rf libeio* | |
sudo rm -rf libeldbus* | |
sudo rm -rf libelementary* | |
sudo rm -rf libembryo* | |
sudo rm -rf libemotion* | |
sudo rm -rf libeo* | |
sudo rm -rf libeolian* | |
sudo rm -rf libephysics* | |
sudo rm -rf libethumb* | |
sudo rm -rf libevas* | |
cd /usr/local/lib/cmake/ | |
sudo rm -rf Ecore* | |
sudo rm -rf Edje* | |
sudo rm -rf Eet* | |
sudo rm -rf Eeze* | |
sudo rm -rf Efreet* | |
sudo rm -rf Eina* | |
sudo rm -rf Eldbus* | |
sudo rm -rf Elementary* | |
sudo rm -rf Eo* | |
sudo rm -rf Ethumb* | |
sudo rm -rf Evas* | |
cd /usr/local/share/ | |
sudo rm -rf dbus* | |
sudo rm -rf ecore* | |
sudo rm -rf edje* | |
sudo rm -rf eeze* | |
sudo rm -rf efreet* | |
sudo rm -rf elementary* | |
sudo rm -rf elua* | |
sudo rm -rf embryo* | |
sudo rm -rf emotion* | |
sudo rm -rf enlightenment* | |
sudo rm -rf eo* | |
sudo rm -rf ethumb* | |
sudo rm -rf evas* | |
sudo rm -rf terminology* | |
cd /usr/local/share/applications/ | |
sudo sed -i '/enlightenment_filemanager/d' mimeinfo.cache | |
cd /usr/share/ | |
sudo rm -rf xsessions/enlightenment.desktop | |
cd unity-greeter/ | |
sudo rm custom_enlightenment_badge.png &>/dev/null | |
cd ../dbus-1/services/ | |
sudo rm -rf org.enlightenment.Efreet.service | |
sudo rm -rf org.enlightenment.Ethumb.service | |
echo | |
} | |
#~ SELECTION | |
INPUT=0 | |
printf "$bld%s $off%s\n" "Please enter the number of your choice." | |
if [ $INPUT -lt 1 ]; then | |
printf "\n$bld%s $off%s\n" "1. Install Enlightenment 19." | |
printf "$bld%s $off%s\n" "2. Update my E19 installation." | |
printf "$bld%s $off%s\n" "3. Uninstall E19 programs only." | |
printf "$bld%s $off%s\n\n" "4. Uninstall E19 programs AND \ | |
binary dependencies." | |
sleep 1 | |
printf "$bld%s $off%s\n\n" "(Or press Ctrl-C to quit)" | |
read INPUT | |
fi | |
#~ INSTALLATION | |
if [ $INPUT == 1 ]; then | |
clear; printf "\n$bld%s $off%s\n\n" " | |
Proceeding to install Enlightenment 19..." | |
canberra-gtk-play --id="window-attention" &>/dev/null | |
warn 2>/dev/null; sleep 1 | |
if grep -q ppa /var/lib/apt/lists/*ppa* &>/dev/null; then | |
bin_deps | |
ls_ppa | |
else | |
unset -f ls_ppa | |
bin_deps | |
fi | |
cd $HOME; mkdir -p $E19; cd $E19 | |
$TITLE "Downloading Source Code..." | |
printf "\n$bld%s $off%s\n\n" "Fetching Enlightenment tarballs..." | |
echo -n efl... ; eval ${GETEFL} ; echo done. | |
echo -n evas_generic_loaders... ; eval ${GETEVL} ; echo done. | |
echo -n emotion_generic_players... ; eval ${GETEGP}; echo done. | |
echo -n elementary... ; eval ${GETELM}; echo done. | |
echo -n enlightenment... ; eval ${GETE19}; echo done. | |
echo -n terminology... ; eval ${GETETY}; echo done. | |
# echo -n python-efl... ; eval ${GETEBPFL}; echo done. | |
# echo -n econnman... ; eval ${GETECON}; echo done. | |
ls_dir | |
$TITLE "Processing Enlightenment Programs..." | |
echo | |
read -p "Build internationalization support in Enlightenment? [Y/n] " answer | |
case $answer in | |
[yY] ) build | |
;; | |
[nN] ) build_no_nls | |
;; | |
* ) build | |
;; | |
esac | |
printf "\n%s\n\n" "Almost done..." | |
wget $DROPB/58695863/custom_enlightenment_badge.png &>/dev/null | |
sudo cp -f custom_enlightenment_badge.png /usr/share/unity-greeter | |
mkdir -p $HOME/.elementary/themes/ | |
sudo ln -sf \ | |
/usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Ethumb.service | |
sudo ln -sf \ | |
/usr/local/share/dbus-1/services/org.enlightenment.Efreet.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Efreet.service | |
sudo ln -sf /usr/local/share/xsessions/enlightenment.desktop \ | |
/usr/share/xsessions/enlightenment.desktop | |
sudo updatedb | |
beep_ok | |
$TITLE "Installation Complete." | |
echo; cowsay "That's All Folks!"; echo | |
#~ UPDATE | |
elif [ $INPUT == 2 ]; then | |
clear; printf "\n$bld%s $off%s\n\n" " | |
Proceeding to update Enlightenment 19..." | |
sleep 1 | |
printf "\n$bld%s $off%s\n\n" "Checking required Ubuntu packages..." | |
if [ $CODE == en ]; then | |
sudo apt-get install --yes $DEPS_EN | |
sleep 1 | |
else | |
sudo apt-get install --yes $DEPS | |
sleep 1 | |
fi | |
echo | |
$TITLE "Processing Enlightenment Programs..." | |
echo | |
read -p "Build internationalization support in Enlightenment? [Y/n] " answer | |
case $answer in | |
[yY] ) rebuild; echo | |
;; | |
[nN] ) rebuild_no_nls; echo | |
;; | |
* ) rebuild; echo | |
;; | |
esac | |
printf "\n%s\n\n" "Almost done..." | |
cd $E19 | |
wget -nc $DROPB/58695863/custom_enlightenment_badge.png &>/dev/null | |
sudo cp -f custom_enlightenment_badge.png /usr/share/unity-greeter | |
mkdir -p $HOME/.elementary/themes/ | |
sudo ln -sf \ | |
/usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Ethumb.service | |
sudo ln -sf \ | |
/usr/local/share/dbus-1/services/org.enlightenment.Efreet.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Efreet.service | |
sudo ln -sf /usr/local/share/xsessions/enlightenment.desktop \ | |
/usr/share/xsessions/enlightenment.desktop | |
sudo updatedb | |
beep_ok | |
$TITLE "Update Complete." | |
echo; cowsay -f www "That's All Folks!"; echo | |
#~ UNINSTALL E19 | |
elif [ $INPUT == 3 ]; then | |
clear; printf "\n$bld%s $off%s\n\n" " | |
Proceeding to uninstall Enlightenment 19..." | |
sleep 1 | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I && remove | |
done | |
deep_clean | |
sudo updatedb | |
beep_ok | |
echo; cowsay -d "That's All Folks!"; echo | |
#~ COMPLETE UNINSTALL | |
elif [ $INPUT == 4 ]; then | |
clear; printf "\n$bld%s $off%s\n\n" " | |
Complete uninstallation of E19 and deps..." | |
sleep 1 | |
if [ -x /usr/bin/grive ]; then | |
sleep 1 | |
printf "$bdr%s $off%s\n" " GRIVE IS INSTALLED ON YOUR SYSTEM." | |
printf "$bdr%s $off%s\n" " GOOGLE DRIVE WILL NOT FUNCTION PROPERLY IF" | |
printf "$bdr%s $off%s\n" " YOU REMOVE ALL THE E19 DEVELOPMENT DEPS." | |
printf "$bdr%s $off%s\n\n" " SORRY FOR THE INCONVENIENCE." | |
#~ (Relaunch the script and select option #3) | |
beep_exit | |
exit 1 | |
fi | |
for I in $EPROG; do | |
$TITLE "Processing $I..." | |
cd $E19/$I && remove | |
done | |
deep_clean | |
$TITLE "Processing Ubuntu Packages..." | |
printf "\n$bld%s $off%s\n\n" "Removing binary dependencies..." | |
if [ $CODE == en ]; then | |
sudo apt-get autoremove $TRIM_EN | |
sleep 1 | |
else | |
sudo apt-get autoremove $TRIM | |
sleep 1 | |
fi | |
if [ $CODE == en ]; then | |
sudo apt-get autoremove $TRIM_EN | |
sleep 1 | |
else | |
sudo apt-get autoremove $TRIM | |
sleep 1 | |
fi | |
sudo dpkg --set-selections < $DOCUDIR/installed.txt | |
sudo apt-get dselect-upgrade | |
sudo apt-get update | |
sudo apt-get dist-upgrade | |
cd $HOME | |
rm -rf .ccache/ | |
rm $DOCUDIR/installed.txt &>/dev/null | |
sudo apt-get autoremove --purge | |
sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep "^rc" | tr -s ' ' | \ | |
cut -d ' ' -f 2) &>/dev/null | |
sudo updatedb | |
beep_ok | |
printf "\n%s\n\n" "Uninstall Complete." | |
else | |
echo; beep_exit; exit 1 | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# NINETEEN.SH | |
# This script allows you to install/update Enlightenment 19 git version on | |
# Ubuntu 14.04 LTS or Debian wheezy/sid, or remove E19 git from your system. | |
# Originally from: http://ubuntuforums.org/showthread.php?t=2203190 | |
# By: Philippe J. Guillaumie (batden AT sfr DOT fr). | |
# Additional updates by: Bryan Hundven (bryanhundven AT gmail DOT com). | |
# | |
# Tip: | |
# Running Ubuntu? Get the Faenza icon set for your enlightened desktop before | |
# running the script for the first time! | |
# See http://www.noobslab.com/2013/10/faience-and-faenza-icons-for.html | |
# | |
# If you are using Debian, you can find Faience theme here: | |
# http://gnome-look.org/content/show.php/Faenza?content=128143 | |
# and the Faenza theme here: | |
# http://gnome-look.org/content/show.php/New+Faience+icon+pack?content=157437 | |
# | |
# To execute the script: | |
# 1. Open Terminal | |
# 2. Change to the download folder | |
# 3. Make the script executable with chmod +x | |
# 4. Run it with ./nineteen.sh | |
# | |
# Feel free to use this script as you see fit. | |
# VARIABLES | |
bld="\e[1m" # Bold text. | |
bdr="\e[1;31m" # Bold red text. | |
bdg="\e[1;32m" # Bold green text. | |
bdy="\e[1;33m" # Bold yellow text. | |
off="\e[0m" # Turn off ansi colors. | |
msg_bold () { | |
printf "\n${bld}%s ${off}%s\n" "$@" | |
} | |
msg_red () { | |
printf "\n${bdr}%s ${off}%s\n" "$@" | |
} | |
msg_green () { | |
printf "\n${bdg}%s ${off}%s\n" "$@" | |
} | |
msg_yellow () { | |
printf "\n${bdy}%s ${off}%s\n" "$@" | |
} | |
trap '{ msg_red " KEYBOARD INTERRUPT."; exit 130; }' INT | |
PREFIX="/usr/local" | |
export CPPFLAGS="-I/usr/local/include -I${PREFIX}/include" | |
export LDFLAGS="-L/usr/local/lib -L${PREFIX}/lib" | |
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PREFIX}/lib/pkgconfig" | |
export CC="ccache gcc" | |
export CXX="ccache g++" | |
NCPU=$(getconf _NPROCESSORS_ONLN) | |
NJOBS=$((NCPU*2)) | |
export MAKE="make -j ${NJOBS}" | |
E19="${HOME}/Enlightenment19" | |
TITLE="wmctrl -r :ACTIVE: -N" | |
GEN="./configure --prefix=${PREFIX}" | |
RELEASE="$(lsb_release -sc)" | |
CODE="$(locale | grep 'LANG=' | cut -d= -f2 | cut -d_ -f1)" | |
DROPB="https://dl.dropboxusercontent.com/u/" | |
NO_NLS=0 | |
DOCUDIR="$(test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \ | |
source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs | |
echo ${XDG_DOCUMENTS_DIR:-$HOME})" | |
DEPS_EN="aspell-${CODE} manpages imagemagick xserver-xephyr \ | |
manpages-dev automake autopoint build-essential ccache \ | |
check doxygen freeglut3-dev git libasound2-dev \ | |
libblkid-dev libbullet-dev libfontconfig1-dev \ | |
libfreetype6-dev libfribidi-dev libgif-dev libglib2.0-dev \ | |
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ | |
libharfbuzz-dev libiconv-hook-dev libjpeg-dev libblkid-dev \ | |
libluajit-5.1-dev libmount-dev libpam0g-dev libpng12-dev \ | |
libpoppler-dev libpulse-dev libraw-dev librsvg2-dev \ | |
libsndfile1-dev libspectre-dev libssl-dev libtiff5-dev libtool \ | |
libudev-dev libudisks2-dev libunibreak-dev libvlc-dev libwebp-dev \ | |
libxcb-shape0-dev libxcb-keysyms1-dev libxcomposite-dev \ | |
libxcursor-dev libxine-dev libxinerama-dev libxp-dev libxrandr-dev \ | |
libxss-dev libxtst-dev ragel valgrind wmctrl cython" | |
TRIM_EN="${DEPS_EN:46}" | |
DEPS="aspell-${CODE} manpages.${CODE} imagemagick xserver-xephyr \ | |
manpages-dev manpages-${CODE}-dev manpages-${CODE}-extra automake \ | |
autopoint build-essential ccache check doxygen freeglut3-dev \ | |
git libasound2-dev libblkid-dev libbullet-dev \ | |
libfontconfig1-dev libfreetype6-dev libfribidi-dev \ | |
libgif-dev libglib2.0-dev libgstreamer1.0-dev \ | |
libgstreamer-plugins-base1.0-dev libharfbuzz-dev libiconv-hook-dev \ | |
libjpeg-dev libblkid-dev libluajit-5.1-dev libmount-dev libpam0g-dev \ | |
libpng12-dev libpoppler-dev libpulse-dev libraw-dev librsvg2-dev \ | |
libsndfile1-dev libspectre-dev libssl-dev libtiff5-dev libtool \ | |
libudev-dev libudisks2-dev libunibreak-dev libvlc-dev libwebp-dev \ | |
libxcb-shape0-dev libxcb-keysyms1-dev libxcomposite-dev \ | |
libxcursor-dev libxine-dev libxinerama-dev libxp-dev libxrandr-dev \ | |
libxss-dev libxtst-dev ragel valgrind wmctrl cython" | |
TRIM="${DEPS:48}" | |
GETEFL="wget -qO- http://download.enlightenment.org/rel/libs/efl/efl-1.11.2.tar.gz | tar xz --transform 's/^efl-1.11.2/efl/'" | |
GETEVL="wget -qO- http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.2.tar.gz | tar xz --transform 's/^evas_generic_loaders-1.11.2/evas_generic_loaders/'" | |
GETEGP="wget -qO- http://download.enlightenment.org/rel/libs/emotion_generic_players/emotion_generic_players-1.11.0.tar.gz | tar xz --transform 's/^emotion_generic_players-1.11.0/emotion_generic_players/'" | |
GETELM="wget -qO- http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.2.tar.gz | tar xz --transform 's/^elementary-1.11.2/elementary/'" | |
GETE19="wget -qO- http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.19.0.tar.gz | tar xz --transform 's/^enlightenment-0.19.0/enlightenment/'" | |
GETETY="wget -qO- http://download.enlightenment.org/rel/apps/terminology/terminology-0.6.1.tar.gz | tar xz --transform 's/^terminology-0.6.1/terminology/'" | |
GETEBPFL="wget -qO- http://download.enlightenment.org/rel/bindings/python/python-efl-1.10.0.tar.gz | tar xz --transform 's/^python-efl-1.10.0/python-efl/'" | |
GETECON="wget -qO- http://download.enlightenment.org/rel/apps/econnman/econnman-1.1.tar.gz | tar xz --transform 's/^econnman-1.1/econnman/'" | |
EPROG="efl evas_generic_loaders emotion_generic_players elementary | |
enlightenment terminology python-efl econnman" | |
tmp_count=0 | |
EPROG_COUNT=$(for i in $(echo ${EPROG}); do tmp_count=$((tmp_count+1)); done && echo ${tmp_count}) | |
unset tmp_count | |
# Enable this option to force messages to display in English | |
# during the build process (bug reporting): | |
# export LC_ALL=C | |
# TESTS | |
msg_bold "SYSTEM REQUIREMENTS CHECK..."; sleep 1 | |
dpkg -l | egrep 'e17|enlightenment' &>/dev/null | |
if [ $? == 0 ]; then | |
msg_red " ANOTHER VERSION OF ENLIGHTENMENT IS INSTALLED." | |
msg_red " SCRIPT ABORTED." | |
exit 1 | |
fi | |
if [ $(pidof enlightenment) ]; then | |
msg_red "PLEASE LOG IN TO UBUNTU TO EXECUTE THIS SCRIPT." | |
exit 1 | |
fi | |
if [ "${RELEASE}" == "trusty" ]; then | |
msg_green "Ubuntu ${RELEASE}... OK"; sleep 1 | |
elif [ "${RELEASE}" == "sid" -o "${RELEASE}" == "wheezy" ]; then | |
msg_green "Debian ${RELEASE}... OK"; sleep 1 | |
else | |
msg_red " UNSUPPORTED VERSION." | |
exit 1 | |
fi | |
# FUNCTIONS | |
warn () { | |
zenity --no-wrap --info --text " | |
If you proceed with the installation,\n\ | |
nearly 1.5 GB of additional disk space\n\ | |
will be used.\n | |
Bear in mind that running other applications\n\ | |
during the build process will affect\n\ | |
compilation time." | |
sleep 1 | |
} | |
should_we_disable_nls () { | |
if [ ${NO_NLS} -eq 1 ]; then | |
GEN=${GEN} --disable-nls | |
msg_green "Building with NLS disabled!" | |
else | |
msg_green "Building with NLS enabled!" | |
fi | |
} | |
bin_deps () { | |
sudo apt-get update && sudo apt-get dist-upgrade --yes | |
if [ ! -f "${DOCUDIR}/installed.txt" ]; then | |
dpkg --get-selections > "${DOCUDIR}/installed.txt" | |
sed -i '/linux-headers*/d' "${DOCUDIR}/installed.txt" | |
sed -i '/linux-image*/d' "${DOCUDIR}/installed.txt" | |
sed -i '/linux-generic*/d' "${DOCUDIR}/installed.txt" | |
sed -i '/linux-signed*/d' "${DOCUDIR}/installed.txt" | |
fi | |
if [ "${CODE}" == "en" ]; then | |
sudo apt-get install --yes ${DEPS_EN} | |
sleep 1 | |
else | |
sudo apt-get install --yes ${DEPS} | |
sleep 1 | |
fi | |
} | |
ls_ppa () { | |
local PPA="$(awk '$1 == "Package:" { print $2 }' \ | |
/var/lib/apt/lists/*ppa*Packages)" | |
for i in $(echo ${PPA} | xargs -n1 | sort -u); do | |
dpkg-query -Wf'${db:Status-abbrev}' ${i} &>/dev/null | |
if [ $? == 0 ]; then | |
sed -i "/${i}/d" "${DOCUDIR}/installed.txt" | |
fi | |
done | |
} | |
build () { | |
for i in ${EPROG}; do | |
${TITLE} "Processing $i..." | |
cd "${E19}/${i}" | |
should_we_disable_nls | |
msg_bold "Building ${i}..." | |
case ${i} in | |
"efl") | |
${GEN} --enable-harfbuzz --enable-image-loader-webp \ | |
--enable-multisense --enable-xine --enable-xinput22 | |
;; | |
"enlightenment") | |
${GEN} --enable-mount-eeze --disable-wl-desktop-shell | |
;; | |
"python-efl") | |
sudo python setup.py install --prefix=${PREFIX} | |
;; | |
*) | |
${GEN} | |
;; | |
esac | |
echo | |
if [ "${EPROG}" != "python-efl" ]; then | |
make | |
fi | |
if [ $? -ne 0 ]; then | |
msg_red " BUILD ERROR—TRY AGAIN LATER." | |
# (Relaunch the script at a later time and select option #1) | |
rm -rf "${E19}/${i}" | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
done | |
} | |
rebuild () { | |
for i in ${EPROG}; do | |
${TITLE} "Processing ${i}..." | |
cd "${E19}/${i}" | |
should_we_disable_nls | |
msg_bold "Updating ${i}..." | |
make distclean &>/dev/null | |
git reset --hard &>/dev/null | |
git pull | |
echo | |
case ${i} in | |
"efl") | |
${GEN} --enable-harfbuzz --enable-image-loader-webp \ | |
--enable-multisense --enable-xine --enable-xinput22 | |
;; | |
"enlightenment") | |
${GEN} --enable-mount-eeze --disable-wl-desktop-shell | |
;; | |
*) | |
${GEN} | |
;; | |
esac | |
echo | |
if [ "${EPROG}" != "python-efl" ]; then | |
make | |
fi | |
if [ $? -ne 0 ]; then | |
msg_red " BUILD ERROR—TRY AGAIN LATER." | |
# (Relaunch the script at a later time and select option #2) | |
exit 1 | |
fi | |
sudo make install | |
sudo ldconfig | |
echo | |
done | |
} | |
remove () { | |
msg_bold "Cleaning $i..." | |
sudo make uninstall &>/dev/null | |
make maintainer-clean &>/dev/null | |
echo | |
} | |
deep_clean () { | |
msg_bold "Deeper cleaning..."; sleep 1 | |
for i in \ | |
"econnman/" \ | |
"python-efl/" \ | |
"terminology/" \ | |
"enlightenment/" \ | |
"elementary/" \ | |
"emotion_generic_players/" \ | |
"evas_generic_loaders/" \ | |
"terminology/" \ | |
"efl/" \ | |
"custom*"; \ | |
do | |
rm -rf "${E19}/${i}" | |
done | |
for i in \ | |
"Enlightenment19/" \ | |
".e/" \ | |
".elementary/" \ | |
".cache/efreet/" \ | |
".cache/evas_gl_common_caches/" \ | |
".config/terminology/"; \ | |
do | |
rm -rf "${HOME}/${i}" | |
done | |
for i in \ | |
"enlightenment/"; \ | |
do | |
sudo rm -rf "${PREFIX}/etc/${i}" | |
done | |
for i in \ | |
"ecore*" \ | |
"edje*" \ | |
"eet*" \ | |
"eeze*" \ | |
"efl*" \ | |
"efreet*" \ | |
"eina*" \ | |
"eio*" \ | |
"eldbus*" \ | |
"elementary*" \ | |
"embryo*" \ | |
"emotion*" \ | |
"enlightenment*" \ | |
"eo*" \ | |
"ephysics*" \ | |
"ethumb*" \ | |
"evas*"; \ | |
do | |
sudo rm -rf "${PREFIX}/include/${i}" | |
done | |
for i in \ | |
"ecore*" \ | |
"edje*" \ | |
"eeze*" \ | |
"efl*" \ | |
"efreet*" \ | |
"elementary*" \ | |
"emotion*" \ | |
"enlightenment*" \ | |
"eo*" \ | |
"ephysics*" \ | |
"ethumb*" \ | |
"evas*"; \ | |
do | |
sudo rm -rf "${PREFIX}/lib/${i}" | |
done | |
for i in \ | |
"Ecore*" \ | |
"Edje*" \ | |
"Eet*" \ | |
"Eeze*" \ | |
"Efreet*" \ | |
"Eina*" \ | |
"Eldbus*" \ | |
"Elementary*" \ | |
"Eo*" \ | |
"Ethumb*" \ | |
"Evas*" \ | |
"Emotion*"; \ | |
do | |
sudo rm -rf "${PREFIX}/lib/cmake/${i}" | |
done | |
for i in \ | |
"ecore*" \ | |
"e_dbus*" \ | |
"edje*" \ | |
"efl*" \ | |
"elementary*" \ | |
"emotion*" \ | |
"evas*" \ | |
"python_efl*.egg-info"; \ | |
do | |
sudo rm -rf "${PREFIX}/lib/python2.7/dist-packages/${i}" | |
done | |
for i in \ | |
"dbus*" \ | |
"ecore*" \ | |
"edje*" \ | |
"eeze*" \ | |
"efreet*" \ | |
"elementary*" \ | |
"embryo*" \ | |
"emotion*" \ | |
"enlightenment*" \ | |
"eo*" \ | |
"ethumb*" \ | |
"evas*" \ | |
"terminology*" \ | |
"econnman*"; \ | |
do | |
sudo rm -rf "${PREFIX}/share/${i}" | |
done | |
for i in \ | |
"connman*"; \ | |
do | |
sudo rm -rf "${PREFIX}/var/lib/{$i}" | |
done | |
cd /usr/share/ | |
sudo rm -rf xsessions/enlightenment.desktop | |
cd unity-greeter/ | |
sudo rm custom_enlightenment_badge.png &>/dev/null | |
cd ../dbus-1/services/ | |
sudo rm -rf org.enlightenment.Efreet.service | |
sudo rm -rf org.enlightenment.Ethumb.service | |
echo | |
} | |
# SELECTION | |
INPUT=0 | |
msg_bold "Please enter the number of your choice." | |
if [ $INPUT -lt 1 ]; then | |
msg_bold "1. Install Enlightenment 19." | |
msg_bold "2. Update my E19 installation." | |
msg_bold "3. Uninstall E19 programs only." | |
msg_bold "4. Uninstall E19 programs AND binary dependencies." | |
sleep 1 | |
msg_bold "(Or press Ctrl-C to quit)" | |
read INPUT | |
fi | |
# INSTALLATION | |
if [ ${INPUT} == 1 ]; then | |
clear | |
msg_bold "Proceeding to install Enlightenment 19..." | |
warn 2>/dev/null; sleep 1 | |
if grep -q ppa /var/lib/apt/lists/*ppa* &>/dev/null; then | |
bin_deps | |
ls_ppa | |
else | |
unset -f ls_ppa | |
bin_deps | |
fi | |
cd "${HOME}"; mkdir -p "${E19}"; cd "${E19}" | |
${TITLE} "Downloading Source Code..." | |
msg_bold "Fetching tarballs code..." | |
echo -n efl... ; eval ${GETEFL} ; echo done. | |
echo -n evas_generic_loaders... ; eval ${GETEVL} ; echo done. | |
echo -n emotion_generic_players... ; eval ${GETEGP}; echo done. | |
echo -n elementary... ; eval ${GETELM}; echo done. | |
echo -n enlightenment... ; eval ${GETE19}; echo done. | |
echo -n terminology... ; eval ${GETETY}; echo done. | |
echo -n python-efl... ; eval ${GETEBPFL}; echo done. | |
echo -n econnman... ; eval ${GETECON}; echo done. | |
COUNT=$(ls "${E19}" | wc -l) | |
if [ ${COUNT} -ge ${EPROG_COUNT} ]; then | |
msg_green "All programs have been downloaded." | |
sleep 2 | |
elif [ ${COUNT} == 0 ]; then | |
msg_red "PLEASE CHECK YOUR NETWORK CONNECTION AND TRY AGAIN." | |
# (Relaunch the script and select option #1) | |
exit 1 | |
else | |
msg_yellow "WARNING: ONLY ${COUNT} OF ${EPROG_COUNT} PROGRAMS HAVE BEEN DOWNLOADED." | |
sleep 3 | |
fi | |
$TITLE "Processing Enlightenment Programs..." | |
echo | |
read -p "Build internationalization support in Enlightenment? [y/n] " answer | |
case "${answer}" in | |
[yY]) | |
: Nothing... NLS is built by default. | |
build | |
;; | |
[nN]) | |
NO_NLS=1 | |
build | |
;; | |
*) | |
msg_yellow "Please answer y or n" | |
;; | |
esac | |
sudo ln -sf \ | |
${PREFIX}/share/dbus-1/services/org.enlightenment.Ethumb.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Ethumb.service | |
sudo ln -sf \ | |
${PREFIX}/share/dbus-1/services/org.enlightenment.Efreet.service \ | |
/usr/share/dbus-1/services/org.enlightenment.Efreet.service | |
cd "${E19}" | |
wget "${DROPB}/58695863/custom_enlightenment_badge.png" &>/dev/null | |
sudo cp -f custom_enlightenment_badge.png /usr/share/unity-greeter | |
sudo ln -sf "${PREFIX}/share/xsessions/enlightenment.desktop" \ | |
/usr/share/xsessions/enlightenment.desktop | |
sudo ldconfig | |
$TITLE "That's All Folks..." | |
printf "\n%s\n\n" " That's All Folks..." | |
# UPDATE | |
elif [ ${INPUT} == 2 ]; then | |
clear | |
msg_bold "Proceeding to update Enlightenment 19..." | |
sleep 1 | |
msg_bold "Checking required Ubuntu/Debian packages..." | |
if [ "${CODE}" == "en" ]; then | |
sudo apt-get install --yes ${DEPS_EN} | |
sleep 1 | |
else | |
sudo apt-get install --yes ${DEPS} | |
sleep 1 | |
fi | |
echo | |
${TITLE} "Processing Enlightenment Programs..." | |
echo | |
read -p "Build internationalization support in Enlightenment? [y/n] " answer | |
case "${answer}" in | |
[yY]) | |
# Rebuild | |
rebuild; echo | |
;; | |
[nN]) | |
# Rebuild without NLS | |
NO_NLS=1 | |
rebuild; echo | |
;; | |
*) | |
msg_yellow "Please answer y or n" | |
;; | |
esac | |
sudo ln -sf \ | |
"${PREFIX}/share/dbus-1/services/org.enlightenment.Ethumb.service" \ | |
/usr/share/dbus-1/services/org.enlightenment.Ethumb.service | |
sudo ln -sf \ | |
"${PREFIX}/share/dbus-1/services/org.enlightenment.Efreet.service" \ | |
/usr/share/dbus-1/services/org.enlightenment.Efreet.service | |
cd "${E19}" | |
wget -nc "$DROPB/58695863/custom_enlightenment_badge.png" &>/dev/null | |
sudo cp -f custom_enlightenment_badge.png /usr/share/unity-greeter | |
sudo ln -sf "${PREFIX}/share/xsessions/enlightenment.desktop" \ | |
/usr/share/xsessions/enlightenment.desktop | |
sudo ldconfig | |
${TITLE} "That's All Folks..." | |
printf "\n%s\n\n" " That's All Folks..." | |
# UNINSTALL E19 | |
elif [ ${INPUT} == 3 ]; then | |
clear | |
msg_bold "Proceeding to uninstall Enlightenment 19..." | |
sleep 1 | |
for i in ${EPROG}; do | |
${TITLE} "Processing $i..." | |
cd "${E19}/${i}" && remove | |
done | |
deep_clean | |
${TITLE} "That's All Folks..." | |
printf "%s\n\n" " That's All Folks..." | |
# COMPLETE UNINSTALL | |
elif [ ${INPUT} == 4 ]; then | |
clear | |
msg_bold "Complete uninstallation of E19 and deps..." | |
sleep 1 | |
for i in ${EPROG}; do | |
${TITLE} "Processing ${i}..." | |
cd "${E19}/${i}" && remove | |
done | |
deep_clean | |
${TITLE} "Processing Ubuntu Packages..." | |
msg_bold "Removing binary dependencies..." | |
if [ "${CODE}" == "en" ]; then | |
sudo apt-get autoremove ${TRIM_EN} | |
sleep 1 | |
else | |
sudo apt-get autoremove ${TRIM} | |
sleep 1 | |
fi | |
sudo dpkg --set-selections < "${DOCUDIR}/installed.txt" | |
sudo apt-get dselect-upgrade | |
sudo apt-get update | |
sudo apt-get dist-upgrade | |
rm "${DOCUDIR}/installed.txt" &>/dev/null | |
sudo updatedb | |
sudo apt-get autoremove --purge | |
sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep '^rc' | tr -s ' ' | \ | |
cut -d ' ' -f 2) &>/dev/null | |
printf "\n%s\n\n" " That's All Folks..." | |
printf "\n%s\n\n" " If you want, you should delete your ~/.ccache to save space." | |
else | |
echo; exit 1 | |
fi | |
# vi: ts=4:sw=4:et |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment