Woohoo!! I did it!



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
#!/bin/sh

# where we are keeping our gnome sources
src_dir=/home/shane/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="sml13@cornell.edu Shane_Lenagh@itd.sterling.com "
# 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/"

# assume the worst, hope for the best ;-)
compilation="failure"  

#
# 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           

#
# 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

#
# Compile the core GTK+ libraries
#

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling glib at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/glib
./autogen.sh --prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gtk+ at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gtk+
./autogen.sh --prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling imlib at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/imlib
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gtk-engines at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gtk-engines
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

#
# Now compile the CORBA/GNOME core stuff
#

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling libIDL at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/libIDL
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling ORBit at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/ORBit
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-libs at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-libs
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling libvfs at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/libvfs
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-objc at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-objc
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling libgtop at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/libgtop
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-core at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-core
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-guile `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-guile
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-admin at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-admin
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

#
# Now get any games or programs I "need"
#

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-games at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-games
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-network at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-network
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

echo "" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "        Compiling gnome-utils at `date`" | tee -a $compile_summary >> $log
echo "******************************************************" | tee -a $compile_summary >> $log
echo "" | tee -a $compile_summary >> $log
cd $src_dir/gnome-utils
./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
make clean >> $log 2>&1 &&
make >> $log 2>&1 &&
make install >> $log 2>&1 &&

#echo "" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "        Compiling gtkicq at `date`" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "" | tee -a $compile_summary >> $log
#cd $src_dir/gtkicq
#./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
#make clean >> $log 2>&1 &&
#make >> $log 2>&1 &&
#make install >> $log 2>&1 &&

#echo "" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "        Compiling balsa at `date`" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "" | tee -a $compile_summary >> $log
#cd $src_dir/balsa
#./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
#make clean >> $log 2>&1 &&
#make >> $log 2>&1 &&
#make install >> $log 2>&1 &&

#echo "" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "        Compiling gimp at `date`" | tee -a $compile_summary >> $log
#echo "******************************************************" | tee -a $compile_summary >> $log
#echo "" | tee -a $compile_summary >> $log
#cd $src_dir/gimp
#./autogen.sh --prefix=$prefix --with-gtk-prefix=$prefix >> $log 2>&1 &&
#make clean >> $log 2>&1 &&
#make >> $log 2>&1 &&
#make install >> $log 2>&1 &&

# 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/shane/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 
cvs -z3 -d $CVSROOT update -d -P 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 >> $log 2>&1 &&

echo "Update of GNOME from CVS server $CVSROOT succeeded at `date`" > $update_success


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]