ReferencePlatforms/Linux-CentOS-5.0: Difference between revisions

 
(15 intermediate revisions by 8 users not shown)
Line 11: Line 11:
  0c3990be2271bf44c1495aa0003b5552  CentOS-5.0-i386-bin-5of6.iso
  0c3990be2271bf44c1495aa0003b5552  CentOS-5.0-i386-bin-5of6.iso
  9e6f91a5292f46b02777133765fc03fe  CentOS-5.0-i386-bin-6of6.iso
  9e6f91a5292f46b02777133765fc03fe  CentOS-5.0-i386-bin-6of6.iso
TB: Thunderbird build clients use a separate /buildbot partition of 80GB.  Now that we reboot after each build, be sure to "tune2fs -c 0" the buildbot partition to avoid an fsck of it every 20 reboots.


=== Package Selection ===
=== Package Selection ===
Line 24: Line 26:
* '''Applications'''
* '''Applications'''
** Editors
** Editors
** Test-based internet
** Text-based internet
*** Add lynx
*** Add lynx
* '''Development'''
* '''Development'''
Line 104: Line 106:
  make install 2>&1 | tee /tools/dist/logs/python2.5.1-make_install.log
  make install 2>&1 | tee /tools/dist/logs/python2.5.1-make_install.log
  cd /tools/
  cd /tools/
  ln -s python2.5.1 python
  ln -s python-2.5.1 python


== Version 3 ==
== Version 3 ==
Line 217: Line 219:
tar zxvf ~/scratchbox-toolchain-cs2007q3-glibc2.5-arm6-1.0.7-3-i386.tar.gz
tar zxvf ~/scratchbox-toolchain-cs2007q3-glibc2.5-arm6-1.0.7-3-i386.tar.gz
tar zxvf ~/scratchbox-devkit-cputransp-1.0.7-i386.tar.gz
tar zxvf ~/scratchbox-devkit-cputransp-1.0.7-i386.tar.gz
mkdir -p /builds/scratchbox
cd /scratchbox
chown cltbld /builds/scratchbox
cd /builds/scratchbox
wget https://bugzilla.mozilla.org/attachment.cgi?id=334232  
wget https://bugzilla.mozilla.org/attachment.cgi?id=334232  
chmod a+x moz_scratchbox
chmod a+x moz_scratchbox
Line 529: Line 529:
==== Install EPEL ====
==== Install EPEL ====
As root,
As root,
  rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
  rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm


==== Move the JDK ====
==== Move the JDK ====
Line 594: Line 594:
=== access keys from within scratchbox ===
=== access keys from within scratchbox ===
  /bin/mount --bind /scratchbox/users/cltbld/home/cltbld/.ssh /home/cltbld/.ssh/
  /bin/mount --bind /scratchbox/users/cltbld/home/cltbld/.ssh /home/cltbld/.ssh/
=== Upgrade Scratchbox ===
Roughly, the Scratchbox upgrade was done with the following set of commands:
su -
unset PYTHONHOME
unset PYTHONPATH
export PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/cltbld/bin
umount /home/cltbld/.ssh #until no longer mounted
umount /builds/slave #might not be mounted
/scratchbox/sbin/sbox stop
/scratchbox/sbin/sbox_umount_all
sh maemo-scratchbox-install_5.0.sh -U -s /scratchbox
/etc/init.d/sbox start
exit
sh maemo-sdk-install_5.0.sh -y -d -s /scratchbox
/scratchbox/login
echo deb http://repository.maemo.org/fremantle/<token> nokia-binaries >> /etc/apt/sources.list
fakeroot apt-get install autoconf2.13 libnotify-dev libIDL-dev libqt4-dev
exit
/scratchbox/moz_scratchbox
sb-conf select FREMANTLE_ARMEL
wget http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tar.bz2
tar jxf Python-2.5.5.tar.bz2
cd Python-2.5.5
CC='host-gcc' --prefix=/usr/local
make -j4
/scratchbox/moz_scratchbox
openssl md5 openssl-0.9.8m.tar.gz Python-2.5.5.tar.bz2
#MD5(openssl-0.9.8m.tar.gz)= 898bf125370926d5f692a2201124f8ec
#MD5(Python-2.5.5.tar.bz2)= 1d00e2fb19418e486c30b850df625aa3
tar jxf Python-2.5.5.tar.bz2
tar zxf openssl-0.9.8m.tar.gz
cd openssl-0.9.8m
CC=host-gcc CXX=host-g++ ./config shared --prefix=/usr/local
make -j4
make install
cd Python-2.5.5
CC=host-gcc CXX=host-g++ ./configure --prefix=/host_usr
make -j4
make altinstall
find /usr/local -name "*.so*" -exec ldd {} \; | grep "not found" # should have no output


= Post-Install Setup =
= Post-Install Setup =
Line 602: Line 643:
* [http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2-staging/config.py buildbot-configs/mozilla2-staging/config.py]
* [http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2-staging/config.py buildbot-configs/mozilla2-staging/config.py]
* [http://hg.mozilla.org/build/puppet-manifests/file/tip/site-production.pp puppet-manifests/site-production.pp] (or site-staging.pp for slaves that will be in staging permanently).
* [http://hg.mozilla.org/build/puppet-manifests/file/tip/site-production.pp puppet-manifests/site-production.pp] (or site-staging.pp for slaves that will be in staging permanently).
* For a permanent staging slave - edit /etc/sysconfig/puppet to staging-puppet


Once your patches have landed, you need to update the following checkouts:
Once your patches have landed, you need to update the following checkouts:
Line 615: Line 658:
  hg pull && hg up
  hg pull && hg up
* If a machine has been recloned/replaced then you also do this as root@production-puppet  
* If a machine has been recloned/replaced then you also do this as root@production-puppet  
  puppetca --clean moz2-darwin8-slaveNN.build.mozilla.org
  puppetca --clean moz2-linux-slaveNN.build.mozilla.org


== Buildbot Setup ==
== Buildbot Setup ==
The buildbot.tac file will automatically be generated to send the slave to the correct staging master (staging-master or sm-staging-try-master).
The buildbot.tac file will automatically be generated to send the slave to the correct staging master (staging-master or sm-staging-try-master).


== switchover from staging to production ==
===Run the slave through staging===
* add slaves to [http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/config.py buildbot-configs/mozilla2/config.py], get review, land, update masters
see [[ReleaseEngineering:BuildSlaveSetup]]
* stop slave process
* switchover the .ssh keys to use production keys
* manually ssh to the production machines listed below and enter "yes" to the question about accepting the machine signature
# production
ssh -i ~/.ssh/ffxbld_dsa ffxbld@aus2-staging.mozilla.org
ssh -i ~/.ssh/ffxbld_dsa ffxbld@dm-symbolpush01.mozilla.org
ssh -i ~/.ssh/ffxbld_dsa ffxbld@stage.mozilla.org
ssh -i ~/.ssh/ffxbld_dsa ffxbld@stage-old.mozilla.org
ssh -i ~/.ssh/ffxbld_dsa ffxbld@hg.mozilla.org
ssh -i ~/.ssh/ffxbld_dsa ffxbld@cvs.mozilla.org
* edit /e/builds/moz2_slave/buildbot.tac to change "staging-master" to "production-master" or "production-master02".
* clobber all build trees on slave
* start slave process
Confirmed users
3,104

edits