Use variables to store dependency list.
Treat Ubuntu like Debian.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
# Simply distro version string
case "$os_VENDOR" in
- "Ubuntu"* | "LinuxMint"* )
- DISTRO="Ubuntu"
+ "Debian"* | "Ubuntu"* | "LinuxMint"* )
+ DISTRO="Debian"
;;
"SUSE"* )
DISTRO="SUSE"
--- /dev/null
+#!/usr/bin/env bash
+
+function install_dependencies() {
+ case $DISTRO in
+ "Debian" | "Ubuntu" )
+ $SUDO apt-get install -y $*
+ ;;
+ "Fedora" )
+ $SUDO yum install -y $*
+ ;;
+ * )
+ echo "I don't know how to install dependencies on $DISTRO"
+ ;;
+ esac
+}
#!/usr/bin/env bash
source config
+source common-functions.sh
+
+
+DEP_Debian_common="git build-essential tar autoconf bison flex"
+DEP_Debian_x86_32="$DEP_Debian_common"
+DEP_Debian_x86_64="$DEP_Debian_common libc6-dev-i386"
+DEP_Debian_arm32="$DEP_Debian_common"
+DEP_Debian_arm64="$DEP_Debian_common"
+
+DEP_Fedora_common="git make gcc tar automake autoconf sysconftool bison flex"
+DEP_Fedora_x86_32="$DEP_Fedora_common"
+DEP_Fedora_x86_64="$DEP_Fedora_common glibc-devel.i686"
-function grub_clean() {
- rm -rf memdisk.tar
- rm -rf grub-dir
-}
function grub_build() {
if test $ARCH != "x86_64" && test $ARCH != "x86_32"
return
fi
echo installing Grub dependencies
- case $DISTRO in
- "Debian" | "Ubuntu" )
- # grub also requires xen
- $SUDO apt-get install -y git build-essential tar autoconf bison flex
- if test $ARCH = "x86_64"
- then
- $SUDO apt-get install -y libc6-dev-i386
- fi
- ;;
- "Fedora" )
- $SUDO yum install -y git make gcc tar automake autoconf sysconftool \
- bison flex
- if test $ARCH = "x86_64"
- then
- $SUDO yum install -y glibc-devel.i686
- fi
- ;;
- * )
- echo "I don't know how to install grub dependencies on $DISTRO"
- return 1
- ;;
- esac
+ eval install_dependencies \$DEP_"$DISTRO"_"$ARCH"
tar cf memdisk.tar grub.cfg
./git-checkout.sh $GRUB_UPSTREAM_URL $GRUB_UPSTREAM_REVISION grub-dir
fi
cd ..
}
+
+function grub_clean() {
+ rm -rf memdisk.tar
+ rm -rf grub-dir
+}
#!/usr/bin/env bash
source config
+source common-functions.sh
+
+
+DEP_Debian_common="git build-essential libtool autoconf autopoint xsltproc libxml2-utils pkg-config python-dev libxml-xpath-perl libyajl-dev libxml2-dev gettext libdevmapper-dev libnl-3-dev libnl-route-3-dev"
+DEP_Debian_x86_32="$DEP_Debian_common"
+DEP_Debian_x86_64="$DEP_Debian_common"
+DEP_Debian_arm32="$DEP_Debian_common"
+DEP_Debian_arm64="$DEP_Debian_common"
+
+DEP_Fedora_common="git patch make gcc libtool autoconf gettext-devel python-devel libxslt yajl-devel libxml2-devel device-mapper-devel libpciaccess-devel libuuid-devel"
+DEP_Fedora_x86_32="$DEP_Fedora_common"
+DEP_Fedora_x86_64="$DEP_Fedora_common"
-function libvirt_clean() {
- rm -rf libvirt-dir
-}
function libvirt_build() {
echo installing Libvirt dependencies
- case $DISTRO in
- "Debian" | "Ubuntu" )
- # libvirt also requires xen
- $SUDO apt-get install -y git build-essential libtool autoconf \
- autopoint xsltproc libxml2-utils \
- pkg-config python-dev libxml-xpath-perl \
- libyajl-dev libxml2-dev gettext \
- libdevmapper-dev libnl-3-dev libnl-route-3-dev
- ;;
- "Fedora" )
- $SUDO yum install -y git patch make gcc libtool autoconf gettext-devel \
- python-devel libxslt yajl-devel libxml2-devel \
- device-mapper-devel libpciaccess-devel libuuid-devel
- ;;
- * )
- echo "I don't know how to install libvirt dependencies on $DISTRO"
- return 1
- ;;
- esac
+ eval install_dependencies \$DEP_"$DISTRO"_"$ARCH"
./git-checkout.sh $LIBVIRT_UPSTREAM_URL $LIBVIRT_UPSTREAM_REVISION libvirt-dir
cd libvirt-dir
$MAKE --ignore-errors install DESTDIR=$INST_DIR
cd ..
}
+
+function libvirt_clean() {
+ rm -rf libvirt-dir
+}
#!/usr/bin/env bash
source config
+source common-functions.sh
+
+
+DEP_Debian_common="git build-essential python-dev gettext uuid-dev \
+ libncurses5-dev libyajl-dev libaio-dev pkg-config libglib2.0-dev \
+ libssl-dev libpixman-1-dev"
+DEP_Debian_x86_32="$DEP_Debian_common bcc iasl bin86 texinfo"
+DEP_Debian_x86_64="$DEP_Debian_x86_32 libc6-dev-i386"
+DEP_Debian_arm32="$DEP_Debian_common libfdt-dev"
+DEP_Debian_arm64="$DEP_Debian_arm32"
+
+DEP_Fedora_common="git make gcc python-devel gettext libuuid-devel \
+ ncurses-devel glib2-devel libaio-devel openssl-devel yajl-devel patch \
+ pixman-devel"
+DEP_Fedora_x86_32="$DEP_Fedora_common dev86 iasl texinfo"
+DEP_Fedora_x86_64="$DEP_Fedora_x86_32 glibc-devel.i686"
-function xen_clean() {
- rm -rf xen-dir
-}
function xen_build() {
echo installing Xen dependencies
- case $DISTRO in
- "Debian" | "Ubuntu" )
- $SUDO apt-get install -y git build-essential python-dev gettext \
- uuid-dev libncurses5-dev libyajl-dev libaio-dev pkg-config \
- libglib2.0-dev libssl-dev libpixman-1-dev
- if test $ARCH = "x86_32" || test $ARCH = "x86_64"
- then
- $SUDO apt-get install -y bcc iasl bin86 texinfo
- fi
- if test $ARCH = "x86_64"
- then
- $SUDO apt-get install -y libc6-dev-i386
- fi
- if test $ARCH = "arm32" || test $ARCH = "arm64"
- then
- $SUDO apt-get install -y libfdt-dev
- fi
- ;;
- "Fedora" )
- $SUDO yum install -y git make gcc python-devel gettext \
- libuuid-devel ncurses-devel glib2-devel libaio-devel openssl-devel \
- yajl-devel patch pixman-devel
- if test $ARCH = "x86_32" || test $ARCH = "x86_64"
- then
- $SUDO yum install -y dev86 iasl texinfo
- fi
- if test $ARCH = "x86_64"
- then
- $SUDO yum install -y glibc-devel.i686
- fi
- ;;
- * )
- echo "I don't know how to install xen dependencies on $DISTRO"
- return 1
- ;;
- esac
+ eval install_dependencies \$DEP_"$DISTRO"_"$ARCH"
./git-checkout.sh $XEN_UPSTREAM_URL $XEN_UPSTREAM_REVISION xen-dir
cd xen-dir
$MAKE install DESTDIR="$INST_DIR"
cd ..
}
+
+function xen_clean() {
+ rm -rf xen-dir
+}
+
+
+