[commit: ghc] master: build system: Ensure there are no duplicate files in bindist list (fefcbfa)
git at git.haskell.org
git at git.haskell.org
Fri Jul 21 02:17:08 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/fefcbfa86b73517d5002366d0703ce694c6d228d/ghc
>---------------------------------------------------------------
commit fefcbfa86b73517d5002366d0703ce694c6d228d
Author: Ben Gamari <bgamari.foss at gmail.com>
Date: Thu Jul 20 21:39:27 2017 -0400
build system: Ensure there are no duplicate files in bindist list
Several executables inexplicably appear twice in bindist.list, which
ends up producing multiple tar file entries, consequently breaking BSD
tar during extraction. I spent a fair amount of time trying to work out
where these duplicates were coming from to no avail. Since Hadrian is
right around the corner I'm satisfied with a terrible hack: just uniq
bindist.list before producing the bindist tarball.
Test Plan: Validate
Reviewers: austin
Subscribers: rwbarton, thomie
GHC Trac Issues: #13979, #13974
Differential Revision: https://phabricator.haskell.org/D3767
>---------------------------------------------------------------
fefcbfa86b73517d5002366d0703ce694c6d228d
ghc.mk | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ghc.mk b/ghc.mk
index cdab331..4eb1658 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -1125,7 +1125,8 @@ unix-binary-dist-prep:
$(call removeFiles,$(BIN_DIST_PREP_TAR))
# h means "follow symlinks", e.g. if aclocal.m4 is a symlink to a source
# tree then we want to include the real file, not a symlink to it
- cd bindistprep && "$(TAR_CMD)" hcf - -T ../bindist-list | $(TAR_COMP_CMD) -c > ../$(BIN_DIST_PREP_TAR_COMP)
+ sort bindist-list | uniq > bindist-list.uniq
+ cd bindistprep && "$(TAR_CMD)" hcf - -T ../bindist-list.uniq | $(TAR_COMP_CMD) -c > ../$(BIN_DIST_PREP_TAR_COMP)
windows-binary-dist-prep:
$(call removeTrees,bindistprep/)
@@ -1436,6 +1437,7 @@ distclean : clean
# We make these when making or testing bindists
$(call removeFiles,bindist-list)
+ $(call removeFiles,bindist-list.uniq)
$(call removeTrees,bindisttest/a)
# Not sure why this is being cleaned here.
More information about the ghc-commits
mailing list