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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users