diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-07-20 21:39:27 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-07-20 21:39:28 -0400 |
commit | fefcbfa86b73517d5002366d0703ce694c6d228d (patch) | |
tree | 7568e192c33d896793fd8c58cfb83927c0d22a78 /ghc.mk | |
parent | 36e8bcba08446dbc4e7532ef9db5517c13977bf9 (diff) | |
download | haskell-fefcbfa86b73517d5002366d0703ce694c6d228d.tar.gz |
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
Diffstat (limited to 'ghc.mk')
-rw-r--r-- | ghc.mk | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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. |