summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2013-04-16 17:02:10 +0200
committerDavid Tardon <dtardon@redhat.com>2013-04-16 17:05:00 +0200
commit77074e462ca2e083fa30f826b54869eee9b04d79 (patch)
tree0aabc3f1e9bf4695321aafad0926dc7340c9efdd /solenv
parentcefeae773f0644adbb22b131ff9e519baf058828 (diff)
gbuild: make sure filelists don't contain duplicates
Change-Id: Ie8e65b945d0d89b7ff95f2aedcded1463939c5d6
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/Package.mk8
1 files changed, 7 insertions, 1 deletions
diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk
index e2306feef1b5..493748dff55c 100644
--- a/solenv/gbuild/Package.mk
+++ b/solenv/gbuild/Package.mk
@@ -75,10 +75,16 @@ $(call gb_Package_get_clean_target,%) :
$(call gb_Package_get_preparation_target,%) :
mkdir -p $(dir $@) && touch $@
+# NOTE: It is possible that a file has been added to the package more
+# than once, so we must drop the duplicates, or Windows installer will
+# be unhappy.
+# TODO: this is only for convenience for impl. of gbuild classes. There
+# should be check that it does not happen in "normal" use, i.e., in
+# Package_foo makefiles.
$(call gb_Package_get_target,%) :
$(call gb_Output_announce,$*,$(true),PKG,2)
rm -f $@ && \
- mv $(call var2file,$@.tmp,100,$(FILES)) $@
+ mv $(call var2file,$@.tmp,100,$(sort $(FILES))) $@
# for other targets that want to create Packages, does not register at Module
define gb_Package_Package_internal