Upgrade to po4a 0.55 in Tails itself, in the Vagrant build box, on {translate,www}.lizard, and on RM's systems
Originally created by @intrigeri on #17005 (Redmine)
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
- Vagrant build box
- 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
Tentative migration plan:
Coordinate with stakeholders-
On a topic branch forked off master (feature/17005-po4a-0.55
):-
Update our doc to require po4a 0.55 instead of the Stretch version in.wiki/src/contribute/build/website.mdwn
andwiki/src/contribute/release_process.mdwn
Upgrade po4a to the version from Buster in Tails itself (config/chroot_apt/preferences
) and in our Vagrant box (vagrant/definitions/tails-builder/postinstall.sh
).Refresh all website PO files with po4a 0.55. It’ll make lots of strings fuzzy, which will have an immediate cost for translators, but on the long term it’s worth it.Commit and push.To validate this branch and ease review, prepare and push afeature/17005-po4a-0.55-stable
that will actually build on Jenkins, forked offfeature/17005-po4a-0.55
, with current stable merged into it.Review.
-
-
On a topic branch for our Puppet code (feature/17005-po4a-0.55
in puppet-tails.git):Upgrade po4a on{translate,www}.lizard
to the version from stretch-backports.Review
-
Once everything is ready and reviewed:-
Soft-freeze our websiteAsk tech writers to avoid pushing until we’re done here.Disable Weblate’s automated push.
Merge the Puppet branch, deploy, ensure po4a is upgraded.Merge the tails.git topic branch into master, refresh PO files again with po4a 0.55, commit.Merge master into stable, then stable into devel.Push stable and devel.Push master.Tell tech writers that they can push stuff again.
-
-
Announce the change to people who maintain other systems themselves to build the website:people who translate in Git: canceled as nobody does that on a regular basis anymorerelease managerstechnical writers
- Weblate (blocked by #17619 (moved))
- Re-enable Weblate automatic push
- Ensure Weblate picks up the updates
- Announce the change to Weblate translators
Ideally, to maximize the chances as many strings as possible get unfuzzied in the static version of our doc included in the first release that follows this change, we would merge all this early in a release cycle.
Feature Branch: tails.git:feature/17005-po4a-0.55 and doc/17005-unfuzzy, puppet-tails.git:feature/17005-po4a-0.55
Related issues
- Related to #17127 (closed)
- Related to #16868 (closed)