From: Laine Stump <laine(a)redhat.com>
Doing this ensures exact control over the gnulib version used for any
build of netcf.
---
.gitmodules | 3 +++
.gnulib | 1 +
bootstrap | 34 ++++++++++++++++++++--------------
3 files changed, 24 insertions(+), 14 deletions(-)
create mode 100644 .gitmodules
create mode 160000 .gnulib
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7acb1ea
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "gnulib"]
+ path = .gnulib
+ url =
git://git.sv.gnu.org/gnulib.git
diff --git a/.gnulib b/.gnulib
new file mode 160000
index 0000000..cc85acd
--- /dev/null
+++ b/.gnulib
@@ -0,0 +1 @@
+Subproject commit cc85acd7729af217a8f4820ecb36a9be816dba75
diff --git a/bootstrap b/bootstrap
index e560764..f64713d 100755
--- a/bootstrap
+++ b/bootstrap
@@ -33,25 +33,31 @@ do
esac
done
-cleanup_gnulib() {
- st=$?
- rm -fr .gnulib
- exit $st
-}
+# Get gnulib files.
case ${GNULIB_SRCDIR--} in
-)
- if [ ! -d .gnulib ]; then
+ echo "$0: getting gnulib files..."
+ git submodule init || exit $?
+ git submodule update || exit $?
+ GNULIB_SRCDIR=.gnulib
+ ;;
+*)
+ # Redirect the gnulib submodule to the directory on the command line
+ # if possible.
+ if test -d "$GNULIB_SRCDIR"/.git && \
+ git config --file .gitmodules submodule.gnulib.url >/dev/null; then
+ git submodule init
+ GNULIB_SRCDIR=`cd $GNULIB_SRCDIR && pwd`
+ git config --replace-all submodule.gnulib.url $GNULIB_SRCDIR
echo "$0: getting gnulib files..."
-
- trap cleanup_gnulib 1 2 13 15
-
- git clone --depth 1
git://git.sv.gnu.org/gnulib .gnulib ||
- cleanup_gnulib
-
- trap - 1 2 13 15
+ git submodule update || exit $?
+ GNULIB_SRCDIR=.gnulib
+ else
+ echo >&2 "$0: invalid gnulib srcdir: $GNULIB_SRCDIR"
+ exit 1
fi
- GNULIB_SRCDIR=.gnulib
+ ;;
esac
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
--
1.7.2.2