Maybe some of you have tried the excellent Enlightenment 17. Although still under heavy development, its definitly worth the look. Luckily for us gentoo user, there is ebuilds already done which makes the compiling task easy. Still, when is time to upgrade, it's a not all automatic. The problem is; all packages keeps de same version (9999 for development). So, if you re-emerge e, it will not re-emerge all the dependencies, because they are already installed and the version number has NOT changed. So You have to check all the dependencies and make sure to re-emerge them all, in order. its a bit of a pain in the butt when you just want to see the latest development the team has made. So I wrote a script to make it even easier. I wrote it few months ago while I was doing it by hand. and Few days ago, I thought I might upgrade E17 again and check it out. so I tried out my script which worked with not too many bug fixes ;) hehe.
click more for the script and to send comments
It's not 100% production quality, but it does the job ;) maybe you'll laugh on the incomplete part, maybe not.
$ cat ~/bin/emerge_e17
#!/bin/sh
# krypton ~ # epm -qa | grep 9999 | cut -d \- -f 1 | xargs echo
# eet embryo engrave e_utils examine edje epsilon epeg engage ewl evas ecore esmart e
# http://www0.get-e.org/EFL_User_Guide/English/_pages/print.html
e17_ignored_libs="imlib2 edb"
e17_libs="eet evas ecore epeg embryo edje epsilon esmart emotion ewl engrave emotion"
e17_wm="e"
e17_dm="entrance"
e17_apps="entice elicit embrace eclair evfs entropy exhibit eclair ephoto erss evidence"
e17_misc="e_utils examine engage"
e17_proto="etk exhibit entropy"
e_modules="calendar flame monitor mount rain screenshot slideshow snow tclock weather"
default="$e17_libs e engage entice elicit eclair"
function choose_packages() {
if [ -f /tmp/.e17.package_list ]
then
echo `cat /tmp/.e17.package_list`
else
echo "what would you like to (re)install ?"
echo "-1 - The Default ($default)"
echo "0 - imlib2"
echo "1 - libraries ($e17_libs)"
echo "2 - Window Manager (e17)"
echo "3 - Extra packages ($e17_apps $e17_misc $e17_proto)"
echo "4 - Extra Modules ($e_modules)"
echo "5 - Themes (none)"
read answer
echo "you choose ($answer) but I'll go anyway with the default because I'm lazy."
echo "$default" > /tmp/.e17.package_list
echo `cat /tmp/.e17.package_list`
fi
}
function compile_app_list() {
did_something=0
for package in $1
do
if [ ! -e /tmp/.e17.$package ]
then
echo "emerging $package...."
emerge $package
err_code=$?
if [ $err_code -eq 0 ]
then
touch /tmp/.e17.$package
did_something=1
else
echo "... emerge returned error code $err_code"
fi
fi
done
echo $did_something
}
function main() {
list=`choose_packages`
rep=`compile_app_list "$list"`
if [ $rep -eq 0 ]
then
echo "All package has already been emerged, you would like to start over ? (y/n)"
read answer
if [ "$answer" == "y" ]
then
rm -f /tmp/.e17.*
list=choose_packages
compile_app_list $list
fi
fi
}
main
enjoy
