ceph/autogen.sh
Loic Dachary 3a8b8284dd doc,tests: force checkout of submodules
When updating submodules, always checkout even if the HEAD is the
desired commit hash (update --force) to avoid the following:

* a directory gmock exists in hammer
* a submodule gmock replaces the directory gmock in master
* checkout master + submodule update : gmock/.git is created
* checkout hammer : the gmock directory still contains the .git from
  master because it did not exist at the time and checkout won't
  remove untracked directories
* checkout master + submodule update : git rev-parse HEAD is
  at the desired commit although the content of the gmock directory
  is from hammer

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-06 17:16:46 +01:00

50 lines
1.0 KiB
Bash
Executable File

#!/bin/sh -x
set -e
test -f src/ceph.in || {
echo "You must run this script in the top-level ceph directory"
exit 1
}
check_for_pkg_config() {
which pkg-config >/dev/null && return
echo
echo "Error: could not find pkg-config"
echo
echo "Please make sure you have pkg-config installed."
echo
exit 1
}
if [ `which libtoolize` ]; then
LIBTOOLIZE=libtoolize
elif [ `which glibtoolize` ]; then
LIBTOOLIZE=glibtoolize
else
echo "Error: could not find libtoolize"
echo " Please install libtoolize or glibtoolize."
exit 1
fi
if test -d ".git" ; then
if ! git submodule sync || ! git submodule update --force --init --recursive; then
echo "Error: could not initialize submodule projects"
echo " Network connectivity might be required."
exit 1
fi
fi
rm -f config.cache
aclocal -I m4 --install
check_for_pkg_config
$LIBTOOLIZE --force --copy
aclocal -I m4 --install
autoconf
autoheader
automake -a --add-missing -Wall
( cd src/gmock && autoreconf -fvi; )
( cd src/rocksdb && autoreconf -fvi; )
exit