]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
bin/make_dist_tarball.sh
authorSage Weil <sage@redhat.com>
Sat, 30 May 2015 01:29:48 +0000 (21:29 -0400)
committerSage Weil <sage@redhat.com>
Sat, 30 May 2015 01:29:48 +0000 (21:29 -0400)
This includes all submodules *except* ceph-object-corpus and
ceph-erasure-code-corpus.

This is a bit different that autotools' version:

 - compiled man pages
 - some autotools cruft
 - src/.git_version
 - compiled *.in files
 + .git*
 + CMake stuff
 + copyright files
 + readme files
 + cmake/
 + debian/
 + doc/
 + keys/
 + qa/
 + systemd/
 + tons of other stuff we should probably have included

All in all, I think it's much more complete.

Signed-off-by: Sage Weil <sage@redhat.com>
bin/make_dist_tarball.sh [new file with mode: 0755]

diff --git a/bin/make_dist_tarball.sh b/bin/make_dist_tarball.sh
new file mode 100755 (executable)
index 0000000..d7d8bda
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+if [ ! -d .git ]; then
+    echo "no .git present.  run this from the base dir of the git checkout."
+    exit 1
+fi
+
+bindir=`dirname $0`
+
+version=$1
+[ -z "$version" ] && version=`git describe | cut -c 2-`
+outfile="ceph-$version"
+
+# update submodules
+echo "updating submodules..."
+force=$(if git submodule usage 2>&1 | grep --quiet 'update.*--force'; then echo --force ; fi)
+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
+
+# clean out old cruft...
+echo "cleanup..."
+rm -f $outfile.tar $outfile.tar.gz
+
+# build new tarball
+echo "building tarball..."
+$bindir/git-archive-all.sh --prefix ceph-$version/ \
+                          --verbose \
+                          --ignore corpus \
+                          $outfile.tar
+gzip -9 $outfile.tar
+
+echo "done."