qt: make installation of translation files optional
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
@@ -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
@@ -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
PATCH 1/1 qt: make installation of translation files optional
Dear Danomi Manchego,
Quoted 6 lines · Danomi Manchego
Commit
93917b6980f7f2b51302e1a3fa451b07cf7d674eintroduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.Signed-off-by Danomi Manchego <[email protected]>
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
PATCH 1/1 qt: make installation of translation files optional
In reply to Danomi ManchegoDear 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
93917b6980f7f2b51302e1a3fa451b07cf7d674eintroduced the installation of the binary .qm translation files, unconditionally. This patch introduces an option to disable this behavior, saving almost 8MB of space.Signed-off-by Danomi Manchego <[email protected]>---
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
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
93917b6980f7f2b51302e1a3fa451b07cf7d674eintroduced 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
Signed-off-by Danomi Manchego <[email protected]>---
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
PATCH 1/1 qt: make installation of translation files optional
In reply to Luca CeresoliDear 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