Feature #16912

Move greeter source to main git repo

Added by segfault 2019-07-27 21:42:19 . Updated 2020-04-15 06:01:48 .

Status:
Resolved
Priority:
Normal
Assignee:
anonym
Category:
Target version:
Start date:
Due date:
% Done:

0%

Feature Branch:
feature/16912-move-greeter-to-main-git-repo+force-all-tests
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Welcome Screen
Deliverable for:

Description


Subtasks


Related issues

Related to Tails - Bug #16757: Remove tails-greeter's dependency on libcaribou-gtk3-module Resolved
Blocks Tails - Bug #12551: Set up a process to keep our fork of GNOME Shell's .desktop file and GDM's .session file up-to-date Resolved 2017-05-16

History

#1 Updated by segfault 2019-07-27 21:42:26

  • Affected tool set to Greeter

#2 Updated by segfault 2019-07-27 21:48:58

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|0ac4984f6fb13907f9165e0967e4c683df028944.

#3 Updated by segfault 2019-07-27 21:50:34

I tried moving the greeter files to the main git repo but the greeter won’t start during boot. alant, intrigeri: Any idea how I can debug this? I can’t access the journal when the greeter doesn’t start.

#4 Updated by segfault 2019-07-27 21:50:44

  • Feature Branch set to feature/16912-move-greeter-to-main-git-repo

#5 Updated by segfault 2019-07-28 11:45:47

segfault wrote:
> I tried moving the greeter files to the main git repo but the greeter won’t start during boot. alant, intrigeri: Any idea how I can debug this? I can’t access the journal when the greeter doesn’t start.

I found a way to debug this:

  1. In the boot menu, add break=bottom to the kernel command-line.
  2. In the initramfs, edit /root/usr/share/applications/tails-greeter.desktop, replace the Exec= line with Exec=gnome-terminal -- /bin/bash.

#6 Updated by segfault 2019-07-28 11:53:27

segfault wrote:
> I found a way to debug this:
>
> # In the boot menu, add break=bottom to the kernel command-line.
> # In the initramfs, edit /root/usr/share/applications/tails-greeter.desktop, replace the Exec= line with Exec=gnome-terminal -- /bin/bash.

And to have root access, chroot to /root in the initramfs and set a root password.

#7 Updated by segfault 2019-07-28 17:55:35

  • Feature Branch changed from feature/16912-move-greeter-to-main-git-repo to feature/16912-move-greeter-to-main-git-repo+force-all-tests

It seems to work now. Let’s see if the tests pass on Jenkins.

Regarding the translations, I propose that we merge the po files from the greeter translations repo into the Tails translations repo via msgcat.

#8 Updated by segfault 2019-07-28 18:04:15

segfault wrote:
> Regarding the translations, I propose that we merge the po files from the greeter translations repo into the Tails translations repo via msgcat.

If someone has write access to the translations repo or could give write access to me, we could try that with a single po file first and see if the translations are correctly displayed in transifex.

#9 Updated by intrigeri 2019-08-04 09:08:40

> And to have root access, chroot to /root in the initramfs and set a root password.

… or use rootpw= on the kernel command line.

#10 Updated by intrigeri 2019-08-04 09:14:17

segfault wrote:
> Regarding the translations, I propose that we merge the po files from the greeter translations repo into the Tails translations repo via msgcat.

Unfortunately, this is not going to work: Transifex imports only the POT file and ignores all translations done in Git. So once we have pushed the updated tails.pot file to whatever tails.git branch of ours Transifex pulls from (I don’t remember which one that is), Transifex will learn about the “new” strings but initially they’ll have no translation, unless Transifex does some magic and recognize they are the same strings that are already translated elsewhere. And maybe there’s a Transifex-specific way to tell “copy all translations from project X to Y”. I suggest asking guidance to emmapeel, who’s admin’ing all this on the Tor side :)

#11 Updated by segfault 2019-08-04 10:04:09

intrigeri wrote:
> segfault wrote:
> > Regarding the translations, I propose that we merge the po files from the greeter translations repo into the Tails translations repo via msgcat.
>
> Unfortunately, this is not going to work: Transifex imports only the POT file and ignores all translations done in Git. So once we have pushed the updated tails.pot file to whatever tails.git branch of ours Transifex pulls from (I don’t remember which one that is), Transifex will learn about the “new” strings but initially they’ll have no translation, unless Transifex does some magic and recognize they are the same strings that are already translated elsewhere. And maybe there’s a Transifex-specific way to tell “copy all translations from project X to Y”. I suggest asking guidance to emmapeel, who’s admin’ing all this on the Tor side :)

emmapeel clarified via XMPP that Transifex will apply the existing translations automatically when we add the greeter strings to tails.pot in the tails-misc branch of translation.git.

#12 Updated by segfault 2019-08-04 18:04:10

Everything seems to work now. Locally I also tested whether translations work by adding some translations manually to PO files. Now waiting for Jenkins test results.

#13 Updated by segfault 2019-08-05 23:05:04

  • Status changed from In Progress to Needs Validation
  • Assignee deleted (segfault)

Jenkins tests pass

#14 Updated by intrigeri 2019-08-06 12:15:44

  • Target version set to Tails_3.17

#15 Updated by intrigeri 2019-08-07 11:52:18

  • Assignee set to intrigeri

#16 Updated by intrigeri 2019-08-07 11:58:49

  • Target version changed from Tails_3.17 to Tails_4.0

If 3.17 is released, it’ll be a bugfix release.

#17 Updated by intrigeri 2019-08-10 18:24:06

  • Status changed from Needs Validation to In Progress

Applied in changeset commit:tails|e58cc03b18d56bccc960946e0cdd1f95761c28b6.

#18 Updated by intrigeri 2019-08-10 18:24:48

  • Status changed from In Progress to Needs Validation

@segfault, please:

  • Take a look at 28e9a9c5d37f8a01a74aae8956479267adf08874..ed5883982c3fbbe753ed63ee7a41857c9f715062 before you submit more such branches: it’ll show you a few other things that need updating when doing this sort of migrations.
  • Check commit:470f5075d46a6b507eff2b812438a769622d6607: either I misunderstood something, or I’ve fixed a mistake; in any case, commit:0daa0e56865fbd7fc47a6747b0fd004ca49b65ed changes greeter.ui, which I find odd, and I’d like to ensure I’m not dropping useful work here :)

#19 Updated by intrigeri 2019-08-10 18:27:41

  • related to Bug #16757: Remove tails-greeter's dependency on libcaribou-gtk3-module added

#20 Updated by intrigeri 2019-08-10 18:40:06

  • Status changed from Needs Validation to In Progress

Applied in changeset commit:tails|1a1534d2a7d01319dfb4e45015681e77380219b3.

#21 Updated by intrigeri 2019-08-10 18:42:16

  • Assignee changed from intrigeri to segfault

@segfault, I’ve pushed a bunch of changes prompted by my initial review to the topic branch. Since you told me on XMPP that you had more work somewhere: please add it on top of this branch and reassign to me for review once happy :)

#22 Updated by segfault 2019-08-11 18:31:24

  • Status changed from In Progress to Needs Validation
  • Assignee changed from segfault to intrigeri

intrigeri wrote:
> @segfault, Since you told me on XMPP that you had more work somewhere: please add it on top of this branch and reassign to me for review once happy :)

Done

#23 Updated by segfault 2019-08-11 18:37:44

segfault wrote:
> intrigeri wrote:
> > @segfault, Since you told me on XMPP that you had more work somewhere: please add it on top of this branch and reassign to me for review once happy :)
>
> Done

And I think I figured out what happened. I merged devel into the wrong branch (without +force-all-tests). But beside that, the +force-all-tests branch had the correct content, i.e. a lot of fixups which I amended to the corresponding commits. Those were lost when you reset it to the state of the other branch.

#24 Updated by intrigeri 2019-08-11 19:11:31

  • Status changed from Needs Validation to In Progress

Applied in changeset commit:tails|db052d30c26eb1716caf8714055b1dea67018b79.

#25 Updated by intrigeri 2019-08-11 19:14:00

  • Assignee changed from intrigeri to segfault

> Done

@segfault, Thanks!

Wrt. commit:06ba4bf95e901b4adef63a88e1a5a421a0304fa9:

  • The problem was that we copied’n’pasted the Perl command as-in from a Makefile (debian/rules), where it had special syntax mandated by make blah. So $$1 needed to be replaced with $1. FTR, your grep command would have had exactly the same problem if copied’n’pasted as-in from debian/rules to a regular shell script :)
  • On my sid system, the grep command is not equivalent: it outputs 6 less lines. For example, ja_JP is missing in the output file. I’ll let you decide whether you prefer to bring the Perl version back with the aforementioned one-byte change, or fix the grep version.

I’ve pushed a tiny fix on top of the branch.

#26 Updated by segfault 2019-08-11 19:53:21

  • Status changed from In Progress to Needs Validation
  • Assignee changed from segfault to intrigeri

intrigeri wrote:
> > Done
>
> segfault, Thanks! > > Wrt. commit:06ba4bf95e901b4adef63a88e1a5a421a0304fa9: > > * The problem was that we copied'n'pasted the Perl command as-in from a Makefile (debian/rules), where it had special syntax mandated by make@ blah. So $$1 needed to be replaced with $1. FTR, your grep command would have had exactly the same problem if copied’n’pasted as-in from debian/rules to a regular shell script :)
> * On my sid system, the grep command is not equivalent: it outputs 6 less lines. For example, ja_JP is missing in the output file. I’ll let you decide whether you prefer to bring the Perl version back with the aforementioned one-byte change, or fix the grep version.

I pushed a commit which brings back the Perl version.

#27 Updated by intrigeri 2019-08-12 07:54:24

  • Status changed from Needs Validation to In Progress

Applied in changeset commit:tails|d14bbbd46197fc6495b04f01e3faa7a7238c7e81.

#28 Updated by intrigeri 2019-08-12 09:45:17

  • Status changed from In Progress to Needs Validation

#29 Updated by intrigeri 2019-08-12 13:33:20

  • Assignee changed from intrigeri to anonym

I’m satisfied with the branch and in a full test suite run on my local Jenkins, the only 3 failures are the scenarios that always fail on current devel (those I call “totally broken” in my recent email to the CI list).

Still, as this is a pretty important change both in terms of code (both my review and the test suite might have missed subtle breakage) & workflow, I’d like another pair of eyes on this before we merge into devel. More specifically, I’d like @anonym’s pair of eyes :)

#30 Updated by intrigeri 2019-08-15 06:42:56

  • blocks Bug #12551: Set up a process to keep our fork of GNOME Shell's .desktop file and GDM's .session file up-to-date added

#31 Updated by intrigeri 2019-08-23 15:32:57

We’re now 11 days away from releasing 4.0~beta2 and I’d like this big change in devel so we have time to adjust/fix whatever might need to; also, there are a few other branches that need anonym’s review more than this one. So I’ve balanced all this with my desire to get anonym’s opinion on this branch, and decided to merge it.

#32 Updated by intrigeri 2019-08-23 15:34:00

  • Status changed from Needs Validation to Fix committed
  • % Done changed from 0 to 100

Applied in changeset commit:tails|98b015374d0d8218f9a891a8a901b3f66ac303d7.

#33 Updated by intrigeri 2019-08-23 15:36:27

  • Status changed from Fix committed to Resolved
  • % Done changed from 100 to 0

#34 Updated by intrigeri 2020-04-15 06:01:48

  • Affected tool changed from Greeter to Welcome Screen