Comment 2 for bug 1625074

Revision history for this message
David Planella (dpm) wrote :

Thanks Mike for the review. Addressing some of the questions:

> - What's the story with the konsole plugin? Is that bundled code from another package?

Initially the Terminal app evolved from Konsole, but later (IIRC) the UI was decoupled from the terminal backend into what became the QML Terminal widget. If I'm not mistaken, the Konsole code is no longer used. I asked popey to look into it, and I see the MP that removed the Konsole code has now been merged:

http://bazaar.launchpad.net/~ubuntu-terminal-dev/ubuntu-terminal-app/reboot/revision/210

> - I would expect to see dh-python3 used (with ${python3:Depends} in debian/control) for the autopilot package. No big deal in this specific case, but that's the usual way to handle python modules.

> - It would be nicer to use the proper qml module names of qml-module-* before we land in Ubuntu (instead of qtdeclarative5-*).

Luke Yelavich has helped us packaging terminal, so I'd probably forward these questions to him.

> - Is qtdeclarative5-pamauthentication0.1 supposed to be installed into a com/ubuntu subdirectory of the normal qml install path? Is it considered a private library? If so, why package it separately from ubuntu-terminal-path?

I can offer some context hoping that it helps. That qml plugin was created as a requirement before Terminal could be made available in the store and executed in customer phones: it provides an additional level of security by asking you for a password before Terminal can be started. IIRC it has the same requirements in terms of path of installation as any other QML plugin, so if it happens to diverge from that it might be worth correcting it.

Note though, that on Unity 8 running on the desktop you won't be prompted for the password.

Finally, one of the reasons it's a separate package is because the File Manager app reused the same package for password prompt. The next question would probably be: why is qtdeclarative5-pamauthentication0.1 not its own separate project? Mainly for historical reasons: at the time the CI infrastructure was put together for core apps Jenkins could not build .debs for MPs from a mixture of repositories, thus the authentication code was included in the Terminal tree to make it a self-contained project.

> - I'm sad there's no unit tests. :(

No excuses, but just some context: at the time the terminal app development was most active, the guidance was to create Autopilot tests instead.