ReferencePlatforms/Linux-CentOS-5.0: Difference between revisions
No edit summary |
|||
Line 2: | Line 2: | ||
= Things Done For You = | = Things Done For You = | ||
== Version | == Version 1 == | ||
=== Install CentOS 5.0 from CDs === | === Install CentOS 5.0 from CDs === | ||
Line 81: | Line 81: | ||
=== Make GCC 4.1 (redhat branch) === | === Make GCC 4.1 (redhat branch) === | ||
wget http://gcc-ca.internet.bs/releases/gcc-4.2.3/gcc-4.2.3.tar.bz2 | |||
tar -jvxf gcc-4.2.3.tar.bz2 | |||
tar | |||
mkdir gcc-obj-release | mkdir gcc-obj-release | ||
cd gcc-obj-release/ | cd gcc-obj-release/ | ||
../gcc-4. | ../gcc-4.2.3/configure --enable-long-long --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib --prefix=/tools/gcc-4.2.3 2>&1 | tee ../gcc-4.2.3-configure.log | ||
make 2>&1 | tee ../gcc-4. | make 2>&1 | tee ../gcc-4.2.3-make.log | ||
make install 2>&1 | tee ../gcc-4. | make install 2>&1 | tee ../gcc-4.2.3-make_install.log | ||
cd /tools | |||
ln -s gcc-4.2.3 gcc | |||
=== Build Python 2.5.1 === | === Build Python 2.5.1 === | ||
Line 104: | Line 104: | ||
ln -s python2.5.1/ python | ln -s python2.5.1/ python | ||
=== Make directories === | === Make directories === | ||
mkdir -p /tools/dist/logs | mkdir -p /tools/dist/logs | ||
Line 140: | Line 139: | ||
export PYTHONPATH="/tools/twisted/lib/python2.5/site-packages/:$PYTHONPATH" | export PYTHONPATH="/tools/twisted/lib/python2.5/site-packages/:$PYTHONPATH" | ||
=== Installing Mercurial === | === Installing Mercurial === | ||
wget http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz | wget http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz | ||
Line 148: | Line 146: | ||
export PATH="/tools/python/bin:$PATH" | export PATH="/tools/python/bin:$PATH" | ||
python setup.py install | python setup.py install | ||
=== Installing Nagios NRPE Daemon === | === Installing Nagios NRPE Daemon === | ||
Line 183: | Line 160: | ||
Post-install instructions are written for the latest version (currently, Version 4).<br /> | 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. | You should have a /builds drive added to the VM before completing this section. | ||
== Installing BuildBot == | == Installing BuildBot == |
Revision as of 14:52, 11 March 2008
This procedure will re-create the CentOS 5.0-based reference VM image. The current version is Version 4
Things Done For You
Version 1
Install CentOS 5.0 from CDs
f749d7e17fa01604b9956304efba2333 CentOS-5.0-i386-bin-1of6.iso 963258ceafda5c5e6f79be86028b6b3d CentOS-5.0-i386-bin-2of6.iso a08ec9ccfdc89c24f3d6567219f90c42 CentOS-5.0-i386-bin-3of6.iso b31c239009b780d1c89c311c192e43be CentOS-5.0-i386-bin-4of6.iso 0c3990be2271bf44c1495aa0003b5552 CentOS-5.0-i386-bin-5of6.iso 9e6f91a5292f46b02777133765fc03fe CentOS-5.0-i386-bin-6of6.iso
Package Selection
The Easy Way: the installer kickstart file.
The Hard Way:
While installing, select a the GNOME Desktop and then select Custom package development; the following categories were selected:
- Desktop Environments
- Gnome Desktop Environment
- Applications
- Editors
- Test-based internet
- Add lynx
- Development
- Development Tools
- Development Libraries
- X Software Development
- GNOME Software Development
- Legacy Software Development
- Servers
- Turn all off, except for "Printing Support
- Base System
- Turn off Dialup Networking
- Turn on System Tools
Some Sys-prepping
On first boot, CentOS will ask some questions:
- Turn the firewall off (we run our build machines on their own network, behind a firewall)
- Disable SELinux
- Enable NTP
- Login; install VMwareTools-3.0.1-32039.rpm
- vmware-config-tools.pl
- add clock=pit and vdso=no lines to /boot/grub/grub.conf
- 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
- chkconfig vncserver on
- Copy over cltbld's ssh keys from another tinderbox
- Edit /etc/mail/sendmail.cf and add mail.build.mozilla.org as the "Smart Relay"
- rm /etc/sshd/ssh_host_*
Add the following lines to ~/.bash_profile
export CVS_RSH=ssh export JAVA_HOME=/builds/jdk export TBOX_CLIENT_CVS_DIR="/builds/tinderbox/mozilla/tools"
Install Sun Java JDK
Note: we should archive this binary somewhere
- Go to http://java.sun.com/javase/downloads/
- Click through to JDK 5.0 Update 10
- Download the "Linux self-extracting file"... not the RPM
d916c24bed9eef7aebc2626115e14a11 jdk-1_5_0_10-linux-i586.bin
- Save to /tools
cd /tools chmod 0755 ./dist/jdk-1_5_0_10-linux-i586.bin ./dist/jdk-1_5_0_10-linux-i586.bin # type 'yes' to accept the license ln -s jdk1.5.0_10/ jdk
Make GCC 4.1 (redhat branch)
wget http://gcc-ca.internet.bs/releases/gcc-4.2.3/gcc-4.2.3.tar.bz2 tar -jvxf gcc-4.2.3.tar.bz2 mkdir gcc-obj-release cd gcc-obj-release/ ../gcc-4.2.3/configure --enable-long-long --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib --prefix=/tools/gcc-4.2.3 2>&1 | tee ../gcc-4.2.3-configure.log make 2>&1 | tee ../gcc-4.2.3-make.log make install 2>&1 | tee ../gcc-4.2.3-make_install.log cd /tools ln -s gcc-4.2.3 gcc
Build Python 2.5.1
(Some VMs use Python 2.5 or Python 2.4.4 but this is what is on the ref platform.)
wget http://python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2 tar xfvj dist/Python-2.5.1.tar.bz2 cd Python-2.5.1/ ./configure --prefix=/tools/python-2.5.1 2>&1 | tee /tools/dist/logs/python2.5.1-configure.log make 2>&1 | tee /tools/dist/logs/python2.5.1-make.log make install 2>&1 | tee /tools/dist/logs/python2.5.1-make_install.log cd /tools/ ln -s python2.5.1/ python
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"
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 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).
You should have a /builds drive added to the VM before completing this section.
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-076 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
The mozconfig for building mozilla should contain the following settings:
CC=/tools/gcc/bin/gcc CXX=/tools/gcc/bin/g++