summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-12-27 16:11:29 +0100
committerDavid Tardon <dtardon@redhat.com>2012-12-28 16:22:28 +0100
commit7e1c81e53d436407cae7f8ac915650839ec6d069 (patch)
tree7869c67e1d22f5ee7ff601c5b3ee8b91004ce6d7 /solenv
parentd250f6f5626056e94409cc0a6d64f5377bacfe84 (diff)
fix delivery of qtz "translations"
Change-Id: I2f0ae1eff5bd009a7cb467b38c1743eff51dc563 (cherry picked from commit f45a07d6f4eefc75d983d7aca2b57d075749b4e7) Signed-off-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/UI.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/solenv/gbuild/UI.mk b/solenv/gbuild/UI.mk
index b56c8580b6cf..00572b01a7e8 100644
--- a/solenv/gbuild/UI.mk
+++ b/solenv/gbuild/UI.mk
@@ -17,6 +17,19 @@ gb_UILocalizeTarget_TARGET := $(call gb_Executable_get_target_for_build,uiex)
gb_UILocalizeTarget_COMMAND := $(gb_Helper_set_ld_path) $(gb_UILocalizeTarget_TARGET)
gb_UILocalizeTarget_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG)))
+# If translatable strings from a .ui file are not merged into the
+# respective .po file yet, the produced translated files are empty (that
+# is, they only contain the root element), but qtz is not created at all
+# which breaks delivery. This hack avoids the problem by creating a
+# dummy translation file.
+define gb_UILocalizeTarget__fix_missing_qtz
+$(if $(filter qtz,$(gb_WITH_LANG)),\
+ && if [ ! -f $(1)/qtz.ui ]; then \
+ echo '<?xml version="1.0"?><t></t>' > $(1)/qtz.ui; \
+ fi \
+)
+endef
+
define gb_UILocalizeTarget__command
$(call gb_Output_announce,$(2),$(true),UIX,1)
MERGEINPUT=`$(gb_MKTEMP)` && \
@@ -27,6 +40,7 @@ $(call gb_Helper_abbreviate_dirs,\
-o $(call gb_UILocalizeTarget_get_workdir,$(2)) \
-l all \
-m $${MERGEINPUT} \
+ $(call gb_UILocalizeTarget__fix_missing_qtz,$(call gb_UILocalizeTarget_get_workdir,$(2))) \
&& touch $(1) \
) && \
rm -rf $${MERGEINPUT}