summaryrefslogtreecommitdiff
path: root/make-sdist.sh
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-06-15 14:14:50 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-06-15 14:14:50 -0400
commit01beef445963c5c92db1d36b7c816c2d0a373ae7 (patch)
tree5989e132aa11960345eac9757fb6d49ed3234a39 /make-sdist.sh
parenta95149ac0f05d462edceac867b66b6498f1c7474 (diff)
fix make-sdist to omit too long filenames
Diffstat (limited to 'make-sdist.sh')
-rwxr-xr-xmake-sdist.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/make-sdist.sh b/make-sdist.sh
index 409871916..3222cad7e 100755
--- a/make-sdist.sh
+++ b/make-sdist.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+#
+# Workaround for `cabal sdist` requiring all included files to be listed
+# in .cabal.
# Create target directory
sdist_dir=git-annex-$(grep '^Version:' git-annex.cabal | sed -re 's/Version: *//')
@@ -6,8 +9,13 @@ mkdir --parents dist/$sdist_dir
find . \( -name .git -or -name dist -or -name cabal-dev \) -prune \
-or -not -name \\*.orig -not -type d -print \
-| perl -ne 'print unless length >= 100' \
+| perl -ne "print unless length >= 100 - length q{$sdist_dir}" \
| xargs cp --parents --target-directory dist/$sdist_dir
cd dist
tar -caf $sdist_dir.tar.gz $sdist_dir
+
+# Check that tarball can be unpacked by cabal.
+# It's picky about tar longlinks etc.
+rm -rf $sdist_dir
+cabal unpack $sdist_dir.tar.gz