On 04/24/2017 06:47 AM, Milan Crha wrote:
Hello,
I've got an idea and I'd like to know an opinion of a wider audience.
Would it make sense to split translations from binary packages to
a noarch subpackage?
For example libreoffice does that already, it even splits the languages
by country, which may or may not be applicable to other (larger)
packages as well.
What this could help with is a save of disk space on the build servers
and mirrors. There might not be any significant difference for users,
due to the main package would require the "langs" subpackage [*]. One
may even avoid multilib issues on translation files (happened in the
past for Evolution due to it removing unused translation strings during
the build, to save package size).
To give an example, I tried this with Evolution package and the result
is that the langs subpackage is ~6MB large, while the main package is
~4MB large. Count that the languages are stored for each architecture,
and koji builds for 6 of them at the moment, then the change of split
means saving 30MB on disk for each single build of Evolution. When
searching koji for Evolution packages then there had been done more
than 70 builds since the first build for Fedora 24 (which is built for
3 arches only), which means more than 1GB on disk (roughly, counting 3
arches only). Multiply this by number of mirrors and so on.
I know I can do this for packages I maintain, but I though it would
make sense to think of it globally. Maybe?
Bye,
Milan
[*] The only difference for users would be to not download languages
again when installing two+ architectures in parallel, thus less data to
download, thus only a benefit for them.
If we went this route, I'd love to see us attempt to solve this
generically for all packages if at all possible. Something like having
the rpmbuild step extract the *.po files automatically into their own
subpackages and set the appropriate `Supplements: langpack-<lang>`[1]
values for them. That way the next time we do a mass-rebuild, every
package in the distribution would take advantage of it automatically.
[1]
https://fedoraproject.org/wiki/Packaging:Langpacks