mirror of
https://github.com/ceph/ceph
synced 2024-12-30 07:23:11 +00:00
2de2c4b035
If the user is root, do not use sudo. The sudo package is not installed by default on centos by default and when building from script it may be that root is running install-deps.sh on a freshly install distribution. Signed-off-by: Loic Dachary <ldachary@redhat.com>
54 lines
1.6 KiB
Bash
Executable File
54 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Ceph distributed storage system
|
|
#
|
|
# Copyright (C) 2014 Red Hat <contact@redhat.com>
|
|
#
|
|
# Author: Loic Dachary <loic@dachary.org>
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
#
|
|
DIR=/tmp/install-deps.$$
|
|
trap "rm -fr $DIR" EXIT
|
|
mkdir -p $DIR
|
|
|
|
if test $(id -u) != 0 ; then
|
|
SUDO=sudo
|
|
fi
|
|
|
|
case $(lsb_release -si) in
|
|
Ubuntu|Debian|Devuan)
|
|
$SUDO apt-get install -y dpkg-dev
|
|
touch $DIR/status
|
|
packages=$(dpkg-checkbuilddeps --admindir=$DIR debian/control 2>&1 | \
|
|
perl -p -e 's/.*Unmet build dependencies: *//;' \
|
|
-e 's/build-essential:native/build-essential/;' \
|
|
-e 's/\(.*?\)//g;' \
|
|
-e 's/ +/\n/g;' | sort)
|
|
case $(lsb_release -sc) in
|
|
squeeze)
|
|
packages=$(echo $packages | perl -pe 's/\w*babeltrace\w*//g')
|
|
;;
|
|
esac
|
|
$SUDO apt-get install -y $packages
|
|
;;
|
|
CentOS|Fedora|SUSE*|RedHatEnterpriseServer)
|
|
case $(lsb_release -si) in
|
|
SUSE*)
|
|
$SUDO zypper -y yum-utils
|
|
;;
|
|
*)
|
|
$SUDO yum install -y yum-utils
|
|
;;
|
|
esac
|
|
sed -e 's/@//g' < ceph.spec.in > $DIR/ceph.spec
|
|
$SUDO yum-builddep -y $DIR/ceph.spec
|
|
;;
|
|
*)
|
|
echo "$(lsb_release -si) is unknown, dependencies will have to be installed manually."
|
|
;;
|
|
esac
|