canmove, Confirmed users
6,439
edits
(remove dup md5sum) |
No edit summary |
||
Line 1: | Line 1: | ||
This procedure will re-create the CentOS 5.0-based reference VM image. | This procedure will re-create the CentOS 5.0-based reference VM image. The current version is '''Version 4''' | ||
== Install CentOS 5.0 from CDs == | = Things Done For You = | ||
== Version 2 == | |||
=== Install CentOS 5.0 from CDs === | |||
f749d7e17fa01604b9956304efba2333 CentOS-5.0-i386-bin-1of6.iso | f749d7e17fa01604b9956304efba2333 CentOS-5.0-i386-bin-1of6.iso | ||
Line 10: | Line 12: | ||
9e6f91a5292f46b02777133765fc03fe CentOS-5.0-i386-bin-6of6.iso | 9e6f91a5292f46b02777133765fc03fe CentOS-5.0-i386-bin-6of6.iso | ||
=== Package Selection === | |||
= Package Selection = | |||
'''The Easy Way''': the installer kickstart file. | '''The Easy Way''': the installer kickstart file. | ||
Line 37: | Line 38: | ||
** Turn ''on'' System Tools | ** Turn ''on'' System Tools | ||
== Some Sys-prepping | === Some Sys-prepping === | ||
On first boot, CentOS will ask some questions: | On first boot, CentOS will ask some questions: | ||
Line 47: | Line 48: | ||
# Login; install VMwareTools-3.0.1-32039.rpm | # Login; install VMwareTools-3.0.1-32039.rpm | ||
# vmware-config-tools.pl | # vmware-config-tools.pl | ||
# add clock=pit | # add clock=pit and vdso=no lines to /boot/grub/grub.conf | ||
# turn on syncTime in VMware config | # turn on syncTime in VMware config | ||
# for s in auditd avahi-daemon acpid bluetooth cpuspeed hplip hidd mcstrans pcscd ntpd cups cups-config-daemon mdmonitor openibd smartd pcmcia isdn atd gpm anacron autofs apmd kudzu yum-updated; do chkconfig $s off; done | # for s in auditd avahi-daemon acpid bluetooth cpuspeed hplip hidd mcstrans pcscd ntpd cups cups-config-daemon mdmonitor openibd smartd pcmcia isdn atd gpm anacron autofs apmd kudzu yum-updated; do chkconfig $s off; done | ||
Line 61: | Line 62: | ||
export TBOX_CLIENT_CVS_DIR="/builds/tinderbox/mozilla/tools" | export TBOX_CLIENT_CVS_DIR="/builds/tinderbox/mozilla/tools" | ||
== Install Sun Java JDK == | === Install Sun Java JDK === | ||
Note: we should archive this binary somewhere | Note: we should archive this binary somewhere | ||
Line 79: | Line 80: | ||
ln -s jdk1.5.0_10/ jdk | ln -s jdk1.5.0_10/ jdk | ||
== Make GCC 4.1 (redhat branch) == | === Make GCC 4.1 (redhat branch) === | ||
md5sum gcc-4.1.1-30.src.rpm | md5sum gcc-4.1.1-30.src.rpm | ||
# 555b8cb95d3d7d851b2ebd5c3cec7837 | # 555b8cb95d3d7d851b2ebd5c3cec7837 | ||
Line 91: | Line 92: | ||
make install 2>&1 | tee ../gcc-4.1.1-make_install.log | make install 2>&1 | tee ../gcc-4.1.1-make_install.log | ||
= Build Python 2.5 = | === Build Python 2.5 === | ||
wget http://www.python.org/ftp/python/2.5/Python-2.5.tar.bz2 | wget http://www.python.org/ftp/python/2.5/Python-2.5.tar.bz2 | ||
Line 104: | Line 105: | ||
cd /tools/ | cd /tools/ | ||
ln -s python2.5.0/ python | ln -s python2.5.0/ python | ||
== Version 3 == | |||
=== Make directories === | |||
mkdir -p /tools/dist/logs | |||
mkdir -p /builds/logs | |||
=== Initial Setup Steps === | |||
export PYTHONHOME="/tools/python" | |||
export PATH="/tools/python/bin:$PATH" | |||
=== Installing Zope Interface === | |||
cd /tools/dist/ | |||
wget http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz | |||
tar xfvz zope.interface-3.3.0.tar.gz | |||
cd zope.interface-3.3.0/ | |||
python setup.py install --prefix=/tools/zope-interface-3.3.0 | |||
cd /tools; ln -s zope-interface-3.3.0/ zope-interface | |||
export PYTHONPATH="/tools/zope-interface/lib/python2.5/site-packages/:$PYTHONPATH" | |||
=== Installing Twisted === | |||
cd /tools/dist/ | |||
wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/TwistedCore-2.4.0.tar.bz2 | |||
wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted-2.4.0.tar.bz2 | |||
tar xfvj TwistedCore-2.4.0.tar.bz2 | |||
tar xfvj Twisted-2.4.0.tar.bz2 | |||
cd TwistedCore-2.4.0 | |||
python setup.py install --prefix=/tools/twisted-core-2.4.0 | |||
pushd /tools/; ln -s twisted-core-2.4.0/ twisted-core; popd | |||
export PYTHONPATH="/tools/twisted-core/lib/python2.5/site-packages:$PYTHONPATH" | |||
cd /tools/dist/Twisted-2.4.0/ | |||
python setup.py install --prefix=/tools/twisted-2.4.0 | |||
cd /tools; ln -s twisted-2.4.0 twisted | |||
export PYTHONPATH="/tools/twisted/lib/python2.5/site-packages/:$PYTHONPATH" | |||
== Version 4 == | |||
=== Installing Mercurial === | |||
wget http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz | |||
tar -zvxf mercurial-0.9.5.tar.gz | |||
cd mercurial-0.9.5 | |||
export PYTHONHOME="/tools/python" | |||
export PATH="/tools/python/bin:$PATH" | |||
python setup.py install | |||
=== Installing Scratchbox === | |||
As root:<br /> | |||
wget http://repository.maemo.org/stable/chinook/maemo-scratchbox-install_4.0.1.sh | |||
chmod a+x ./maemo-scratchbox-install_4.0.sh | |||
./maemo-scratchbox-install_4.0.sh -s /scratchbox | |||
/scratchbox/sbin/sbox_adduser cltbld yes | |||
As cltbld:<br /> | |||
Comment out the PYTHONHOME and PATH entries in ~/.bash_profile. | |||
source ~/.bash_profile | |||
wget http://tablets-dev.nokia.com/chinook/maemo-sdk-install_4.0.1.sh | |||
chmod +x maemo-sdk-install_4.0.sh | |||
bash maemo-sdk-install_4.0.sh | |||
/scratchbox/login | |||
wget http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.9.tar.gz | |||
tar -xzvf libIDL-0.8.9.tar.gz | |||
cd libIDL-0.8.9 | |||
./configure --prefix=/usr | |||
make | |||
make install | |||
Remove the comments from the PYTHONHOME and PATH entries in ~/.bash_profile and source it again. | |||
=== Installing Nagios NRPE Daemon === | |||
wget http://dag.wieers.com/rpm/packages/nagios-plugins/nagios-plugins-1.4.9-1.el5.rf.i386.rpm | |||
wget http://dag.wieers.com/rpm/packages/nagios-nrpe/nagios-nrpe-2.5.2-1.el5.rf.i386.rpm | |||
wget http://dag.wieers.com/rpm/packages/nagios-nrpe/nagios-plugins-nrpe-2.5.2-1.el5.rf.i386.rpm | |||
rpm --nodeps -i *.rpm | |||
chkconfig --level 235 nrpe on | |||
# todo: make sure this is right after configs get checked in | |||
cvs co -d nagios mozilla/tools/nagios | |||
mv nagios/nrpe-linux.cfg /etc/nagios/nrpe.cfg | |||
= Post-Install Setup = | |||
Post-install instructions are written for the latest version (currently, Version 4).<br /> | |||
You should have a /builds drive added to the VM before completing this section. | |||
== Move Scratchbox == | |||
Scratchbox takes up a non-trivial amount of space and should be moved to a different partition. | |||
# Boot into single user mode (append 'init=/bin/sh' to the kernel params from grub). | |||
# mount -o remount,rw / | |||
# mv /scratchbox /builds | |||
# ln -s /builds/scratchbox /scratchbox | |||
# mount -o remount,ro / | |||
# Reboot the VM. | |||
== Installing BuildBot == | |||
Because our Buildbot code changes fairly regularly we don't keep a copy of it on the VM. | |||
export PATH="/tools/twisted/bin:/tools/twisted-core/bin:$PATH" | |||
cd /tools | |||
cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d buildbot-076 -r BUILDBOT_0_7_6_BRANCH mozilla/tools/buildbot | |||
cd /tools/buildbot-trunk | |||
export PYTHONPATH=.:$PYTHONPATH | |||
python setup.py install --prefix=/tools/buildbot-076 | |||
cd /tools/dist | |||
cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d botrunner mozilla/tools/botrunner.py | |||
cp botrunner/botrunner.py /tools/buildbot-trunk/bin/ | |||
rm -rf botrunner/ | |||
cd /tools; ln -s buildbot-trunk buildbot | |||
== Path Setup == | |||
Add the appropriate paths to the cltbld user's .bash_profile | |||
export PYTHONPATH="/tools/buildbot/lib/python2.5/site-packages:/tools/twisted/lib/python2.5/site-packages:/tools/twisted-corelib/python2.5/site-packages/:/tools/zope-interface/lib/python2.5/site-packages/" | |||
export PATH="/opt/local/bin:/tools/buildbot/bin:/tools/twisted/bin:/tools/twisted-core/bin:$PYTHONHOME/bin:$PATH" | |||
== To build mozilla == | == To build mozilla == |