2008-10-31 05:25:28 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Script that sets up jhbuild to build gnome-shell. Run this to
|
|
|
|
# checkout jhbuild and the required configuration.
|
|
|
|
#
|
|
|
|
# Copyright (C) 2008, Red Hat, Inc.
|
|
|
|
#
|
|
|
|
# Some ideas and code taken from gtk-osx-build
|
|
|
|
#
|
|
|
|
# Copyright (C) 2006, 2007, 2008 Imendio AB
|
|
|
|
#
|
|
|
|
SOURCE=$HOME/Source
|
|
|
|
BASEURL=http://svn.gnome.org/svn/gnome-shell/trunk/tools/build
|
|
|
|
|
2009-02-02 22:22:00 +00:00
|
|
|
if ! which curl > /dev/null 2>&1; then
|
|
|
|
cat <<EOF
|
|
|
|
This script requires the curl program to run
|
|
|
|
For Debian-based systems run:
|
|
|
|
apt-get install curl
|
|
|
|
|
|
|
|
For Red Hat-based systems run:
|
|
|
|
yum install curl
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2008-10-31 05:25:28 +00:00
|
|
|
if [ -d $SOURCE ] ; then : ; else
|
|
|
|
mkdir $SOURCE
|
|
|
|
echo "Created $SOURCE"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo -n "Checking out jhbuild into $SOURCE/jhbuild ... "
|
|
|
|
cd $SOURCE
|
|
|
|
svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild > /dev/null
|
|
|
|
echo "done"
|
|
|
|
|
|
|
|
echo "Installing jhbuild..."
|
|
|
|
(cd $SOURCE/jhbuild && make -f Makefile.plain DISABLE_GETTEXT=1 install >/dev/null)
|
|
|
|
|
|
|
|
if [ -e $HOME/.jhbuildrc ] ; then
|
|
|
|
if grep JHBUILDRC_GNOME_SHELL $HOME/.jhbuildrc > /dev/null ; then : ; else
|
|
|
|
mv $HOME/.jhbuildrc $HOME/.jhbuildrc.bak
|
|
|
|
echo "Saved ~/.jhbuildrc as ~/.jhbuildrc.bak"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo -n "Writing ~/.jhbuildrc ... "
|
|
|
|
curl -s -o $HOME/.jhbuildrc $BASEURL/jhbuildrc-gnome-shell
|
|
|
|
echo "done"
|
|
|
|
|
|
|
|
if [ ! -f $HOME/.jhbuildrc-custom ]; then
|
|
|
|
echo -n "Writing example ~/.jhbuildrc-custom ... "
|
|
|
|
curl -s -o $HOME/.jhbuildrc-custom $BASEURL/jhbuildrc-custom-example
|
|
|
|
echo "done"
|
|
|
|
fi
|
|
|
|
|
2008-11-04 18:07:07 +00:00
|
|
|
if test "x`echo $PATH | grep $HOME/bin`" = x; then
|
2008-10-31 05:25:28 +00:00
|
|
|
echo "PATH does not contain $HOME/bin, it is recommended that you add that."
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2009-01-27 16:55:39 +00:00
|
|
|
if which lsb_release > /dev/null 2>&1; then
|
|
|
|
system=`lsb_release -is`
|
|
|
|
elif [ -f /etc/fedora-release ] ; then
|
|
|
|
system=Fedora
|
|
|
|
fi
|
|
|
|
|
2008-11-18 00:45:32 +00:00
|
|
|
if test x$system = xUbuntu -o x$system = xDebian ; then
|
2008-11-28 20:35:32 +00:00
|
|
|
reqd=""
|
2008-11-29 21:44:17 +00:00
|
|
|
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 \
|
2009-02-02 22:22:00 +00:00
|
|
|
libgstreamer-plugins-base0.10-dev python2.5-dev libwnck-dev libreadline5-dev librsvg2-dev libgnomeui-dev; do
|
2008-11-29 21:44:17 +00:00
|
|
|
if ! dpkg --status $pkg > /dev/null 2>&1; then
|
2008-11-28 20:35:32 +00:00
|
|
|
reqd="$pkg $reqd"
|
|
|
|
fi
|
|
|
|
done
|
2008-11-29 21:44:17 +00:00
|
|
|
if test ! "x$reqd" = x; then
|
|
|
|
echo "Please run 'sudo apt-get install $reqd' before building gnome-shell."
|
2008-11-28 20:35:32 +00:00
|
|
|
echo
|
|
|
|
fi
|
2008-11-18 00:45:32 +00:00
|
|
|
fi
|
|
|
|
|
2009-01-27 16:55:39 +00:00
|
|
|
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 \
|
2009-02-02 22:22:00 +00:00
|
|
|
libwnck-devel GConf2-devel readline-devel; do
|
2009-01-27 16:55:39 +00:00
|
|
|
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
|
|
|
|
|
2008-10-31 05:25:28 +00:00
|
|
|
echo "Done."
|
|
|
|
|