Re: Woohoo!! I did it!
- From: Daniel Burrows <Daniel_Burrows brown edu>
- To: gnome-list gnome org
- Subject: Re: Woohoo!! I did it!
- Date: Mon, 23 Nov 1998 18:24:23 -0500
On Sun, Nov 22, 1998 at 10:26:30PM -0600, Shane Lenagh scribbled:
> Got the damn thing to copile, and I got my panel working! For anyone
> still struggling, here are two scripts that I wrote to make the
> compilation less tedious. In a perfect world, these could be run as
> cronjobs every morning (not everyone at once, now...4:00 a.m. is MY time
>:-) and you could automagically have a fresh GNOME each day. I don't
> know how well this will work in reality (this ain't a perfect world, ya'
> know), but I'll know tomorrow morning :-)
>
> shane
I got your scripts and made some modifications, fixed a couple of nasty
bugs, etc. They seem to work pretty well, though (except when things die
horribly.:-) ) The update script now checks things out by default since
the posting about only using cvs checkout but you can uncomment some lines
to get updates instead (and it always checks out non-existant dirs, so
you can add new modules quickly). The modules are grouped in each file,
so you can quickly add new modules (unless they need special handling..)
Anyway, it compiles a lot of the modules find right now. (it keeps
dying from broken CVS stuff but that's not my fault! :-) )
Daniel
--
Daniel Burrows
"I think that the surest sign that there is intelligent
life out there is that none of it has tried to contact us."
-- _Calvin and Hobbes_, Bill Watterson
#!/bin/sh
# where we are keeping our gnome sources
src_dir=/home/daniel/gnome
# file to write detailed compilation log to
log=$src_dir/compile_log
# file to write brief compilation summary to
compile_summary=$src_dir/compile_summary
# autogen prefix directory (both gnome and gtk)
prefix=/usr/local/gnome
# where to send compilation results to
email_alert_addresses="daniel"
# file where update script stores update success message
update_success=$src_dir/update_success
# file where this script will store compile success message
compilation_success=$src_dir/compile_success
# set those aclocal flags
export ACLOCAL_FLAGS="-I $prefix/share/aclocal/"
# Set the path..
PATH=$PATH:$prefix/bin
# Command to do installation (null if not needed..)
get_privs=sudo
# assume the worst, hope for the best ;-)
compilation="failure"
# The modules to compile (special handlers for glib and gtk later..)
modules="glib gtk+ imlib gtk-engines libIDL ORBit gnome-libs libvfs gnome-objc \
libgtop gnome-core gnome-guile gnome-admin gnome-games gnome-network \
gnome-utils balsa"
#
# Email me with results of compilation/failure
# before we exit
#
trap '
if [ $compilation = "failure" ]; then
echo "" | tee $compile_summary >> $log
echo "Compilation failed at `date`" | tee $compile_summary >> $log
cat $compile_summary $log | mail -s "Failed to compile GNOME at `date`" $email_alert_addresses
else
cat $compilation_success | mail -s "Succeeded in compiling GNOME at `date`" $email_alert_addresses
fi
' EXIT
# let's not rest on our laurels
if [ -e $compilation_success ]; then
rm $compilation_success;
fi
# wipe out previous log and summary too
echo "" | tee $compile_summary > $log
echo "Preparing to compile modules: $modules" >> $log
#
# We only need to compile if we have recently (successfully) updated
# from CVS
#
if [ -e $update_success ]; then
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" | tee -a $compile_summary >> $log
echo " Compiling GNOME at `date`" | tee -a $compile_summary >> $log
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" | tee -a $compile_summary >> $log
else
echo "Update failed...get new stuff from CVS and then recompile" | tee -a $compile_summary >> $log
exit 1;
fi
# Nuke old macro files
$get_privs rm -rf $prefix/share/aclocal/*
#
# Compile stuff
#
for module in $modules
do
# gtk+ and glib don't need the --with-* prefixes.
if [ $module = glib ] || [ $module = gtk+ ]
then
with_stuff=""
else
with_stuff="--with-gtk-prefix=$prefix --with-glib-prefix=$prefix"
fi
echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo " Compiling $module at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/$module
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix --with-glib-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
$get_privs make install >> $log 2>&1 &&
$get_privs ldconfig >> $log 2>&1 || exit 1
done
# we made it!
echo "" >> $log
compilation="success"
echo "Congratulations! Compilation of GNOME succeeded at `date`" | tee -a $log > $compilation_success
#!/bin/sh
# where we are keeping our gnome sources
src_dir=/home/daniel/gnome
# file to write update log to
log=$src_dir/update_log
# file where we store update success message
update_success=$src_dir/update_success
# CVS server
CVSROOT=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
# can't rest on our laurels
if [ -e $update_success ]; then
rm $update_success;
fi
cd $src_dir
echo "Updating GNOME from CVS server $CVSROOT at `date`" > $log 2>&1
echo "" >> $log 2>&1
for i in glib gtk+ imlib gtk-engines libIDL ORBit \
gnome-libs libvfs gnome-objc libgtop gnome-core \
gnome-guile gnome-admin gnome-games gnome-network \
gnome-utils CVSROOT
do
if [ -d $i ]
then
rm -rf $i
# alternatively:
# cvs -z3 -d $CVSROOT update -d -P $i >> $log 2>&1 || exit 1
# else
# cvs -z3 ...
# fi
fi
cvs -z3 -d $CVSROOT checkout $i >> $log 2>&1 || exit 1
done
echo "Update of GNOME from CVS server $CVSROOT succeeded at `date`" > $update_success
PGP signature
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]