Skip to contentSkip to conversation

qt: make installation of translation files optional

PATCH New Danomi Manchego 3 participants 5 messages Aug 2, 2014 – Aug 13, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qt: make installation of translation files optional

Commit 93917b6980f7f2b51302e1a3fa451b07cf7d674e introduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.

---

Note: the new option is defaulted to "y", to match the current qt.mk operation.

---
 package/qt/Config.in |    7 +++++++
 package/qt/qt.mk     |    2 ++
 2 files changed, 9 insertions(+)
package/qt/Config.in +7 -0
index 0a21e93..a84d082 100644
@@ -416,6 +416,13 @@ config BR2_PACKAGE_QT_DECLARATIVE
 	  Build the Qt Declarative Module for qml support
 	  if unsure, say n.
 
+config BR2_PACKAGE_QT_INSTALL_TRANSLATION_FILES
+	bool "Install translation files"
+	default y
+	help
+	  Install binary .qm translation files.
+	  if unsure, say y.
+
 config BR2_PACKAGE_QT_TEST
 	bool "Test Module"
 	help
package/qt/qt.mk +2 -0
index 82a5509..cbc4d35 100644
@@ -670,12 +670,14 @@ define QT_INSTALL_TARGET_POWERVR
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_QT_INSTALL_TRANSLATION_FILES),y)
 define QT_INSTALL_TARGET_TRANSLATIONS
 	if [ -d $(STAGING_DIR)/usr/share/qt/translations/ ] ; then \
 		mkdir -p $(TARGET_DIR)/usr/share/qt/translations ; \
 		cp -dpfr $(STAGING_DIR)/usr/share/qt/translations/* $(TARGET_DIR)/usr/share/qt/translations ; \
 	fi
 endef
+endif
 
 define QT_INSTALL_TARGET_CMDS
 	$(QT_INSTALL_TARGET_LIBS)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 qt: make installation of translation files optional

Dear Danomi Manchego,

Quoted 6 lines · Danomi Manchego

Commit 93917b6980f7f2b51302e1a3fa451b07cf7d674e introduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.

Thanks, I've applied your patch, after renaming the option and moving it a bit in Config.in, so that it doesn't appear in the middle of the Qt modules options.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 qt: make installation of translation files optional

In reply to Danomi Manchego

Dear Danomi, Vivien,

[Copying Vivien as the author of commit 93917b6980f7, which originated the issue.]

I have a comment on this patch, even though it has already been committed.

Quoted 10 lines · Danomi Manchego

Commit 93917b6980f7f2b51302e1a3fa451b07cf7d674e introduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.

---

Note: the new option is defaulted to "y", to match the current qt.mk operation.

I'm not sure this is a good default value.
Surely it preserves backward compatibility with Buildroot versions since 2013.11, when the installation got introduced. But for years the translation files were never installed, and apparently it was not a problem to anybody.

The size is very large for some embedded systems. I have Qt-based systems working since years and never needed them. I have one that is around 17 MB, becomes 25 MB with translations!

Danomi, Vivien, can you explain exactly what these translations are and when they are needed?

Unless there is a good reason to have the translations on most targets I would change the default to no in order to preserve new users from an unnoticed extra size that might be unneeded.

If you agree, I'd send a patch to change this.

Thanks.

Signature · 1 line
Luca
#3 lore raw

PATCH 1/1 qt: make installation of translation files optional

Luca,

Quoted 24 lines · Luca Ceresoli

Dear Danomi, Vivien,

[Copying Vivien as the author of commit 93917b6980f7, which originated the issue.]

I have a comment on this patch, even though it has already been committed.

Quoted 6 lines · Danomi Manchego

Commit 93917b6980f7f2b51302e1a3fa451b07cf7d674e introduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.

Quoted 6 lines

---

Note: the new option is defaulted to "y", to match the current qt.mk operation.

Quoted 5 lines

I'm not sure this is a good default value.
Surely it preserves backward compatibility with Buildroot versions since 2013.11, when the installation got introduced. But for years the translation files were never installed, and apparently it was not a problem to anybody.

I am in total agreement. In fact, this default of 'y' is *never* good for my projects, as we make our own translation files. For our local customized version of buildroot, I comment out the default of 'y', to generally discourage its use, and to preserve the *old* behavior (since we only recently updated to buildroot-2014.05, from a 2013.xx). My main goal was to get the ability to remove the translation files into the upstream buildroot, so that my local customization is less significant (now just the default setting mod in Config.in, rather than the switch itself and the .mk file mod).

The only reason I defaulted it to 'y' was to make the patch uncontroversial, to increase the chances of patch acceptance.

Quoted 6 lines

The size is very large for some embedded systems. I have Qt-based systems working since years and never needed them. I have one that is around 17 MB, becomes 25 MB with translations!

Danomi, Vivien, can you explain exactly what these translations are and when they are needed?

Try reading about Qt Linuguist, at
http://qt-project.org/doc/qt-4.8/linguist-manual.html . Basically, the Linquist tools extract text tokens, and provide a framework for substituting language translations.

Quoted 5 lines

Unless there is a good reason to have the translations on most targets I would change the default to no in order to preserve new users from an unnoticed extra size that might be unneeded.

If you agree, I'd send a patch to change this.

Sounds good to me!

Danomi -

Quoted 3 lines

Thanks.
--
Luca

#4 lore raw

PATCH 1/1 qt: make installation of translation files optional

In reply to Luca Ceresoli

Dear Luca Ceresoli,

Quoted 8 lines · Luca Ceresoli
Quoted 1 line

Note: the new option is defaulted to "y", to match the current qt.mk operation.

I'm not sure this is a good default value.
Surely it preserves backward compatibility with Buildroot versions since 2013.11, when the installation got introduced. But for years the translation files were never installed, and apparently it was not a problem to anybody.

Quoted 6 lines

The size is very large for some embedded systems. I have Qt-based systems working since years and never needed them. I have one that is around 17 MB, becomes 25 MB with translations!

Danomi, Vivien, can you explain exactly what these translations are and when they are needed?

When applying the patch, I also hesitated a bit on the default value, and I was tempted to change Danomi's patch to *not* install the translation files by default. But then, I saw the argument of keeping the existing behavior, and decided to apply Danomi's patch as is, with the "default y".

That being said, I am personally completely fine with having this option default disabled. I think it makes sense to have a lightweight system by default, so I will support a patch changing the default value for this option.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com