If you are running e17 on Gentoo like me, and like using the ebuild system for getting cvs updates, but don't like doing it manually, this script could be useful. It updates all of the necessary e17 packages (feel free to modify the list), and allows you to change things like CFLAGS so that you can run e17 with different CFLAGS (like -g) without having to remember to specify them. (Keep in mind, though, that CFLAGS don't stack.) It also only recompiles packages that have been updated in cvs since the last update, or, if you have genlop installed, ones that were compiled with different CFLAGS previously. Just stick this script in a cron job and get easy updates to e17 however often you want.
Jesse #!/bin/bash STATUS_LOG=/var/log/e_log EMERGE_LOG=/var/log/e_emerge_log export CFLAGS="-O2 -march=pentium4 -pipe -g" export FEATURES="nostrip" export ECVS_SERVER="thinktux.net:/root" rm -f ${STATUS_LOG} ${EMERGE_LOG} build_package() { emerge --oneshot $1 >> ${EMERGE_LOG} if [[ $? -ne 0 ]]; then echo " Merging $1 failed. See ${EMERGE_LOG} for details." >> ${STATUS_LOG} # force a cvs update next time so that this will be rebuilt every time # until it is successful (in case of manual cancel, computer # overheating, etc.) rm -f /usr/portage/distfiles/cvs-src/${1/*\/}/AUTHORS rm -f /usr/portage/distfiles/cvs-src/misc/${1/*\/}/AUTHORS rm -f /usr/portage/distfiles/cvs-src/e17/*/${1/*\/}/AUTHORS else echo " Done merging $1." fi } for package in \ dev-libs/eet \ dev-db/edb \ x11-libs/evas \ x11-libs/ecore \ dev-libs/embryo \ media-libs/imlib2 \ media-libs/imlib2_loaders \ media-libs/edje \ media-libs/epeg \ media-libs/epsilon \ x11-libs/esmart \ media-libs/emotion \ dev-libs/engrave \ x11-libs/ewl \ media-gfx/entice \ x11-misc/entrance \ media-video/eclair \ x11-wm/e \ app-misc/examine \ x11-misc/engage \ dev-util/e_utils \ x11-plugins/e_modules \ media-gfx/elicit \ app-misc/evidence \ ; do echo "${package}:" >> ${STATUS_LOG} if [[ -x $( which genlop ) ]]; then OLD_CFLAGS=$( echo -n $( genlop -i ${package} | grep CFLAGS | sed s/"CFLAGS=\"\(.*\)\""/"\1"/ ) ) if [[ "${CFLAGS}" != "${OLD_CFLAGS}" ]]; then echo " Merging ${package} due to changed CFLAGS." >> ${STATUS_LOG} build_package ${package} continue fi fi EBUILD_PATH="/usr/portage/${package}/${package/*\/}-9999.ebuild" if [[ ! -f ${EBUILD_PATH} ]]; then echo " ${EBUILD_PATH} is not a file!" else # otherwise unpack might just exit with 'WORKDIR is up to date' ebuild ${EBUILD_PATH} clean if ebuild ${EBUILD_PATH} unpack | sed '0,/update -dP/d; /Copying .* from /,$d' | grep -q .; then echo " Merging ${package} due to CVS update." >> ${STATUS_LOG} build_package ${package} else echo " Skipping ${package}." >> ${STATUS_LOG} fi fi done ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users