-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
packaging should include compiled gettext MOs #1283
Comments
Updated based on this morning's demo and discussion: |
As of aa37aab (WIP):
|
@cfm Could you clarify what's left to do to resolve this issue? |
Thanks for flagging, @eloquence. I've updated the description with a new checklist after #1348 based on what I'd left (unhelpfully :-) in #239 (comment). |
I've done end-to-end testing to confirm that a
#1294 is no longer required, and I've closed it accordingly. |
The remaining non-blocking housekeeping chore here has been opened as freedomofpress/securedrop-builder#283, to be included in the next sprint. |
#1348 supersedes the changes described below from #1282. Under #1348, all that remains to do here is:
securedrop-client
package includes amessages.mo
machine object for each locale and that the client loads these correctly via:LANG=es ./run.sh
/opt/venvs/securedrop-client/bin/sd-client
fromsecuredrop-client.X.Y.Z+buster_all.deb
installed in disposable VM from template withexport LANG=es_ES.utf-8; dpkg-reconfigure locales
main
*.mo
in...PKG_GITREF=
main
1283-package-translations
python setup.py sdist
python setup.py bdist_wheel
securedrop-client_X.Y.Z+buster_all.deb
securedrop_client/locale/*
can be loaded withLANG=foo
Revert the substantive changes of adds Babel to build requirements securedrop-builder#270:→ remove Babel from bootstrap securedrop-builder#283babel
is no longer required (after provides tooling for interactive localization updates #1348), but the bootstrap will need to be re-signed.#1282 provides a Make target
compile-translation-catalogs
to compile the per-locale POs committed by Weblate into the MOs actually loaded by gettext at runtime. While it's acceptable for this compilation step to happen at runtime in the development environment, loadable MOs should be included in production packages,whethercompiledas part ofduring thesecuredrop-client
CI orsecuredrop-debian-packaging
workflow.MANIFEST.in
includes*.{po,mo}
:securedrop-client/MANIFEST.in
Line 15 in 16b3799
python setup.py sdist
includes*.po
→*.mo
python setup.py bdist_wheel
includes*.mo
*.mo
will not break determinism/reproducibilitypybabel
available insecuredrop-debian-packaging
contextThe text was updated successfully, but these errors were encountered: