diff --git a/tools/build/gnome-shell-build-setup.sh b/tools/build/gnome-shell-build-setup.sh index 8dc6fe6d7..ccabdf6a5 100755 --- a/tools/build/gnome-shell-build-setup.sh +++ b/tools/build/gnome-shell-build-setup.sh @@ -9,28 +9,120 @@ # # Copyright (C) 2006, 2007, 2008 Imendio AB # + +if which lsb_release > /dev/null 2>&1; then + system=`lsb_release -is` +elif [ -f /etc/fedora-release ] ; then + system=Fedora +elif [ -f /etc/SuSE-release ] ; then + system=SUSE +elif [ -f /etc/mandriva-release ]; then + system=MandrivaLinux +fi + +# Required software: +# +# For this script: +# binutils, curl, gcc, make, subversion +# +# General build stuff: +# automake, bison, flex, git, gnome-common, gtk-doc, intltool, +# libtool, pkgconfig +# +# Devel packages needed by gnome-shell and its deps: +# dbus-glib, gconf, GL, gtk, libffi, libgnomeui, librsvg, libwnck, +# python, readline, spidermonkey ({mozilla,firefox,xulrunner}-js), +# xdamage +# +# Non-devel packages needed by gnome-shell and its deps: +# gdb, glxinfo, python, Xephyr, xeyes*, xlogo*, xterm*, zenity +# +# (*)ed packages are only needed because gnome-shell launches them +# when running in Xephyr mode, and we should probably change it to use +# less lame things. + +if test x$system = xUbuntu -o x$system = xDebian ; then + reqd="" + for pkg in \ + build-essential curl subversion \ + automake bison flex git-core gnome-common gtk-doc-tools \ + libdbus-glib-1-dev libgconf2-dev libgtk2.0-dev libffi-dev \ + libgnomeui-dev librsvg2-dev libwnck-dev libgl1-mesa-dev \ + mesa-common-dev python2.5-dev libreadline5-dev xulrunner-1.9-dev \ + ; do + if ! dpkg --status $pkg > /dev/null 2>&1; then + reqd="$pkg $reqd" + fi + done + if test ! "x$reqd" = x; then + echo "Please run 'sudo apt-get install $reqd' and try again." + echo + exit 1 + fi +fi + +if test x$system = xFedora ; then + reqd="" + for pkg in \ + binutils curl gcc make subversion \ + automake bison flex git gnome-common gnome-doc-utils intltool \ + libtool pkgconfig \ + dbus-glib-devel GConf2-devel gtk2-devel libffi-devel libgnomeui-devel \ + librsvg2-devel libwnck-devel mesa-libGL-devel python-devel readline-devel \ + xulrunner-devel libXdamage-devel \ + gdb glx-utils xorg-x11-apps xorg-x11-server-Xephyr xterm zenity \ + ; do + if ! rpm -q $pkg > /dev/null 2>&1; then + reqd="$pkg $reqd" + fi + done + if test ! "x$reqd" = x; then + gpk-install-package-name $reqd + fi +fi + +if test x$system = xSUSE ; then + reqd="" + for pkg in \ + curl \ + bison flex gnome-doc-utils-devel \ + gconf2-devel libffi-devel libgnomeui-devel librsvg-devel libwnck-devel \ + readline-devel mozilla-xulrunner190-devel xorg-x11-devel \ + xterm xorg-x11 xorg-x11-server-extra \ + ; do + if ! rpm -q $pkg > /dev/null 2>&1; then + reqd="$pkg $reqd" + fi + done + if test ! "x$reqd" = x; then + echo "Please run 'su --command=\"zypper install $reqd\"' and try again." + echo + exit 1 + fi +fi + +if test x$system = xMandrivaLinux ; then + reqd="" + for pkg in \ + curl \ + bison flex gnome-common gnome-doc-utils gtk-doc intltool \ + libGConf2-devel ffi5-devel libgnomeui2-devel librsvg2-devel \ + libwnck-1-devel GL-devel readline-devel libxulrunner-devel \ + libxdamage-devel \ + mesa-demos x11-server-xephyr x11-apps xterm zenity \ + ; do + if ! rpm -q --whatprovides $pkg > /dev/null 2>&1; then + reqd="$pkg $reqd" + fi + done + if test ! "x$reqd" = x; then + gurpmi --auto $reqd + fi +fi + SOURCE=$HOME/Source BASEURL=http://git.gnome.org/cgit/gnome-shell/plain/tools/build -if ! which curl > /dev/null 2>&1; then - cat < /dev/null 2>&1; then - system=`lsb_release -is` -elif [ -f /etc/fedora-release ] ; then - system=Fedora -elif [ -f /etc/SuSE-release ] ; then - system=SuSE -elif [ -f /etc/mandriva-release ]; then - system=MandrivaLinux -fi - -if test x$system = xUbuntu -o x$system = xDebian ; then - reqd="" - for pkg in build-essential automake gnome-common flex bison curl \ - git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev \ - libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev \ - libgstreamer-plugins-base0.10-dev python2.5-dev libwnck-dev libreadline5-dev librsvg2-dev libgnomeui-dev; do - if ! dpkg --status $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - echo "Please run 'sudo apt-get install $reqd' before building gnome-shell." - echo - fi -fi - -if test x$system = xFedora ; then - reqd="" - for pkg in libffi-devel libXdamage-devel gnome-doc-utils xulrunner-devel \ - librsvg2-devel libgnomeui-devel xterm xorg-x11-apps xorg-x11-server-Xephyr \ - libwnck-devel GConf2-devel readline-devel; do - if ! rpm -q $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - gpk-install-package-name $reqd - fi -fi - -if test x$system = xSuSE ; then - reqd="" - for pkg in libffi-devel xorg-x11-devel gnome-doc-utils-devel librsvg-devel \ - mozilla-xulrunner190-devel libgnomeui-devel xterm xorg-x11 xorg-x11-server-extra \ - libwnck-devel gconf2-devel readline-devel flex bison; do - if ! rpm -q $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - echo "Please run 'su --command=\"zypper install $reqd\"' before building gnome-shell." - echo - fi -fi - -if test x$system = xMandrivaLinux ; then - reqd="" - for pkg in ffi5-devel libxdamage-devel gtk-doc gnome-common gnome-doc-utils libxulrunner-devel \ - librsvg2-devel libgnomeui2-devel xterm x11-apps x11-server-xephyr \ - libwnck-1-devel libGConf2-devel readline-devel flex bison GL-devel \ - zenity intltool mesa-demos ; do - if ! rpm -q --whatprovides $pkg > /dev/null 2>&1; then - reqd="$pkg $reqd" - fi - done - if test ! "x$reqd" = x; then - gurpmi --auto $reqd - fi -fi - echo "Done."