#!/bin/sh # Script to install everything needed to build chromium (well, ideally, anyway) # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit set -ex # TODO(dkegel): add sha1sum verification download() { dir=$1 file=$2 if ! test -f $file then wget $MIRROR/$dir/$file fi } unpack_deb() { file=$1 ar x $file tar -xzvf data.tar.gz rm -f data.tar.gz control.tar.gz } download_deb() { download $1 $2 unpack_deb $2 } install_hardy() { sudo apt-get install subversion pkg-config python perl g++ g++-multilib \ bison flex gperf libnss3-dev libglib2.0-dev libgtk2.0-dev \ libnspr4-0d libnspr4-dev wdiff lighttpd php5-cgi wget -c http://www.trevp.com/tlslite/tlslite-0.3.8.tar.gz tar xvfz tlslite-0.3.8.tar.gz cd tlslite-0.3.8/ python setup.py build sudo python setup.py install cd .. rm -rf tlslite-0.3.8 } install_hardy_64() { install_hardy # The packages libnspr4, libnss3, and libsqlite don't have 32 # bit compabibility versions on 64 bit ubuntu hardy, # so install them packages the hard way # See https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/246911 # TODO: There is no bug report yet for 32 bit sqlite runtime mkdir -p workdir-hardy64 cd workdir-hardy64 rm -rf usr MIRROR=http://mirrors.kernel.org/ubuntu download_deb pool/main/n/nspr libnspr4-0d_4.7.1~beta2-0ubuntu1_i386.deb download_deb pool/main/n/nss libnss3-1d_3.12.0~beta3-0ubuntu1_i386.deb download_deb pool/main/s/sqlite3 libsqlite3-0_3.4.2-2_i386.deb sudo rsync -v -a usr/lib/* /usr/lib32/ sudo ldconfig # Make missing symlinks as described by # https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/277772 # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492453 # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=497087 cd /usr/lib32 for lib in gdk-x11-2.0 atk-1.0 gdk_pixbuf-2.0 \ pangocairo-1.0 pango-1.0 pangoft2-1.0 \ gobject-2.0 gmodule-2.0 glib-2.0 gtk-x11-2.0; do sudo ln -s -f lib$lib.so.0 lib$lib.so done for lib in z fontconfig do sudo ln -s -f lib$lib.so.1 lib$lib.so done for lib in cairo do sudo ln -s -f lib$lib.so.2 lib$lib.so done for lib in freetype do sudo ln -s -f lib$lib.so.6 lib$lib.so done for lib in plds4 plc4 nspr4 do sudo ln -s -f /usr/lib32/lib$lib.so.0d /usr/lib32/lib$lib.so done for lib in nss3 nssutil3 smime3 ssl3 do sudo ln -s -f /usr/lib32/lib$lib.so.1d /usr/lib32/lib$lib.so done } if grep -q "Ubuntu 8.04" /etc/issue && test `uname -m` = i686 then install_hardy elif grep -q "Ubuntu 8.04" /etc/issue && test `uname -m` = x86_64 then install_hardy_64 else echo "Unsupported system" exit 1 fi