diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-15 14:14:50 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-15 14:14:50 -0400 |
commit | 01beef445963c5c92db1d36b7c816c2d0a373ae7 (patch) | |
tree | 5989e132aa11960345eac9757fb6d49ed3234a39 | |
parent | a95149ac0f05d462edceac867b66b6498f1c7474 (diff) |
fix make-sdist to omit too long filenames
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | make-sdist.sh | 10 |
2 files changed, 9 insertions, 3 deletions
@@ -100,8 +100,6 @@ clean: rm -rf tmp $(bins) $(mans) test configure *.tix .hpc $(sources) \ doc/.ikiwiki html dist $(clibs) -# Workaround for `cabal sdist` requiring all included files to be listed -# in .cabal. sdist: clean $(mans) ./make-sdist.sh 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 |