Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • T tails
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 971
    • Issues 971
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 27
    • Merge requests 27
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • tails
  • tails
  • Issues
  • #17005
Closed
Open
Issue created Aug 29, 2019 by intrigeri@intrigeriMaintainer

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:

  1. Coordinate with stakeholders
  2. On a topic branch forked off master (feature/17005-po4a-0.55):
    1. Update our doc to require po4a 0.55 instead of the Stretch version in wiki/src/contribute/build/website.mdwn and wiki/src/contribute/release_process.mdwn.
    2. 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).
    3. 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.
    4. Commit and push.
    5. To validate this branch and ease review, prepare and push a feature/17005-po4a-0.55-stable that will actually build on Jenkins, forked off feature/17005-po4a-0.55, with current stable merged into it.
    6. Review.
  3. On a topic branch for our Puppet code (feature/17005-po4a-0.55 in puppet-tails.git):
    1. Upgrade po4a on {translate,www}.lizard to the version from stretch-backports.
    2. Review
  4. Once everything is ready and reviewed:
    1. Soft-freeze our website
      1. Ask tech writers to avoid pushing until we’re done here.
      2. Disable Weblate’s automated push.
    2. Merge the Puppet branch, deploy, ensure po4a is upgraded.
    3. Merge the tails.git topic branch into master, refresh PO files again with po4a 0.55, commit.
    4. Merge master into stable, then stable into devel.
    5. Push stable and devel.
    6. Push master.
    7. Tell tech writers that they can push stuff again.
  5. Announce the change to people who maintain other systems themselves to build the website:
    1. people who translate in Git: canceled as nobody does that on a regular basis anymore
    2. release managers
    3. technical writers
  6. Weblate (blocked by #17619 (moved))
    1. Re-enable Weblate automatic push
    2. Ensure Weblate picks up the updates
    3. 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)
Edited May 15, 2020 by intrigeri
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking