ReferencePlatforms/Mac
Darwin Version
PPC: Darwin xserve03.build.mozilla.org 8.7.2 Darwin Kernel Version 8.7.2: Tue Jul 25 23:14:47 PDT 2006; root:xnu-792.10.96.obj~3/RELEASE_PPC Power Macintosh powerpc
Intel:
ssh
The first step is to get ssh working with the cltbld keys on the new machine. Unfortunately, this presents a bit of a chicken-and-egg problem, as the ssh keys necessary to access cvs are not yet on the machine.
Two possible solutions are:
- checkout the cltbld ssh keys on a machine that already has the keys installed and then scp the .ssh directory over (
cvs -d :ext:cltbld@cvs.mozilla.org:/mofo co -d .ssh release/tinderbox-configs/host/ssh; scp -r .ssh new_machine:~
) - scp the cltbld keys over directly from a machine that already has them installed (
cd ~;scp -r xserve06:~/.ssh .
)
ENV setup
ocvs -d :ext:cltbld@cvs.mozilla.org:/mofo co release/tinderbox-configs/host ln -s release/tinderbox-configs/host/mac-osx-profile .profile
...at which point you'll probably want to restart your shell to use the new .profile.
Ref platform packages
The next step is to retrieve the Mac reference platform packages from CVS:
ocvs -d :ext:cltbld@cvs.mozilla.org:/mofo co ref-platforms/mac
This should yield 4 files:
1703e153e7954c976bc39e3e226ae219 DarwinPorts-1.2-10.4.dmg 65c3aeb974f5f8c75b8daa92c9185122 SharedMenusCocoa.dmg 039b8961863bd240817a6eed38f67704 dports.tar.gz 1d89f956ea2ee3a248449c3c0e0d6834 xcode_2.2.1_8g1165_018213632.dmg
Installing Xcode
- Mount the Xcode disk image, and begin installing the XcodeTools.mpkg.
- When it comes time to choose the Installation Type, choose "Customize"
- Under "Cross-Development," select all the available SDKs, and then click "Install"
Installing DarwinPorts (PPC)
- Install the DarwinPorts package using the DarwinPorts-1.2-10.4.dmg.
- Unpack the dport tarball of packages and move them into place:
cd ~ref-platforms/mac tar zxf dports.tar.gz cd /opt/local/var mv db db.old mkdir db mv ~/ref-platforms/mac/dports.MozillaReferencePlatform db/ cd db/ ln -s dports.MozillaReferencePlatform dports
- Next, you need to install a series of ports, all of which should already be contained (and the right version) in the dports tarball you just unpacked. If you see the port command hitting the network at all while installing the needed ports, something has gone wrong.
Here is a short script that will install all the needed ports. Some of the ports have dependencies, so installing them in a different order would probably cut down on time, but I'm just listing them all here alphabetically for clarity:
#!/bin/bash port -f install apr @1.2.7_0 port -f install apr-util @1.2.7_0 port -f install cvs @1.11.21_0 port -f install db4 @4.3.29_0 port -f install expat @2.0.0_1 port -f install gettext @0.14.6_0 port -f install glib2 @2.10.3_0 port -f install libiconv @1.10_1 port -f install libidl @0.8.6_0 port -f install neon @0.25.5_0 port -f install openssl @0.9.8b_0 port -f install pkgconfig @0.20_0 port -f install subversion @1.3.2_0 port -f install wget @1.10.2_0 port -f install zlib @1.2.3_0
Running port installed
after you're done should show only the 15 ports listed above as installed.
- Open the SharedMenusCocoa image.
- Copy the SharedMenusCocoa.framework directory from SharedMenusCocoa/build to /Library/Frameworks
- Follow the instructions on the Camino build reference page for creating the links in the older SDKs.
chown scripts
After you've created your initial /builds/tinderbox directory structure, checkout and build the following tools that are also required for changing permissions while packaging on Macs:
cd ~ cvs -d :ext:cltbld@cvs.mozilla.org:/cvsroot co mozilla/build/macosx/permissions cd mozilla/build/macosx/permissions gcc -o chown_revert chown_revert.c gcc -o chown_root chown_root.c mkdir -p /builds/tinderbox/bin cp chown_revert chown_root /builds/tinderbox/bin cd /builds/tinderbox/bin chmod 4755 chown* ln -s chown_revert revert_root
Establish initial ssh connections and accept keys
You'll need to execute the following simple ssh calls to connect to the ftp server (stage), symbol server, and update server so that the various pieces of the build can be uploaded automatically by the build scripts:
ssh stage.mozilla.org pwd ssh -2 -f -L2222:hal:22 stage.mozilla.org sleep 20;ssh -2 -p2222 -l symbols localhost pwd ssh -i /Users/cltbld/.ssh/aus cltbld@aus2-staging.mozilla.org pwd