Update Fedora deps (Bug 572053) and reorganize/improve in general
Package checking now happens first, and checking for "curl" (and other packages needed by the script itself) happens at the same time. I tried to extract out a genericized list of what packages are needed, and then reordered the packages for each distro to make it clear which distros are missing some of the required packages in their lists (currently, everything except Fedora)
This commit is contained in:
parent
67092f807e
commit
c67289fa2c
@ -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 <<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
|
||||
|
||||
For SuSE-based systems run:
|
||||
zypper install curl
|
||||
|
||||
For Mandriva-based systems run:
|
||||
urpmi curl
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -d $SOURCE ] ; then : ; else
|
||||
mkdir $SOURCE
|
||||
echo "Created $SOURCE"
|
||||
@ -66,75 +158,5 @@ if test "x`echo $PATH | grep $HOME/bin`" = x; then
|
||||
echo
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
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."
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user