Upgrade to po4a 0.55 in Tails itself, in the Vagrant build box, on www.lizard, and on RM's systems
po4a changed behavior between Stretch and Buster, e.g. wrt. linebreaks at the end of strings, and better extraction of bullet points. This is an improvement.
But this means that when updating with Buster’s po4a a PO file that was generated with Stretch’s po4a, tons of strings will be marked as fuzzy; and reciprocally. We’ve been bitten by this a couple times already, e.g. when a technical writer was using a recent version of po4a from Ubuntu, or when another used the one that’s currently installed in Tails by our devel branch.
So we need to go through this upgrade in a coordinated way, taking the drawbacks into account.
Before we release 4.0, we need to upgrade to po4a 0.55 all systems that are responsible for generating or updating PO files:
- Tails itself: some translators and technical writers work in there
- www.lizard: ikiwiki refreshes PO files
- translate.lizard: for the staging website
- every RM’s system: we update PO files as part of the release process
Things to take into account:
- po4a 0.55-1~bpo9+1 is in stretch-backports so we could do this whenever we want before the 4.0 release. The earlier, the better, as sajolida is already using 0.55: better upgrade everybody else (we’ll have to eventually) than to ask him to downgrade.
- It should be safe to assume that it’s not worth upgrading po4a in Tails 3.x: all affected folks should be running 4.0~betaN by now.
- This mass change to our PO files will make lots of translations fuzzy. Unfuzzying the newly fuzzy strings is going to require some work.
Tentative migration plan:
- Soft-freeze our website
- Ask tech writers to avoid pushing until we’re done here.
- Disable Weblate’s automated push.
- On a topic branch forked off master:
- Refresh all website PO files with po4a 0.55.
- Unfuzzy every translation that just became fuzzy. Quite possibly, crude automation would save lots of time here.
- Update our doc to require po4a 0.55 instead of the Stretch version.
- Commit and push.
- Review.
- On a topic branch forked off devel:
- Merge the topic branch that was forked off master.
- Resolve conflicts.
- Refresh all website PO files with po4a 0.55.
- Unfuzzy every translation that just became fuzzy.
- Commit and push.
- Review.
- On a topic branch for our Puppet code:
- Upgrade po4a to the version from stretch-backports.
- Review
- Once everything is ready and reviewed:
- Merge the Puppet branch, deploy, ensure po4a is upgraded.
- Merge the tails.git topic branch into master, push.
- Re-enable Weblate automatic push.
- Ensure Weblate picks up the updates.
- Tell tech writers that they can push stuff again.
Related issues
- Related to #17127 (closed)
- Related to #16868 (closed)
- Blocks #16209
Original created by @intrigeri on 17005 (Redmine)