Core Apps forked on Github

  • I could build the terminal-app and package it as click. But when I install manually the click package in my phone to try it, it installs without error but it is not seen in the app scope, even after restarting the phone, so I can't start it. I don't get any errors neither in the build process nor installing it.

    I tried launching it using "phablet-shell" with:
    ubuntu-app-launch com.ubuntu.terminal_0.7.
    but no matter how I write the name of the app I get:
    ** (process:12079): WARNING **: Unable to start app 'com.ubuntu.terminal_0.7.': AppID is empty
    I've also tried with other combinations from the name of the click package:
    like "com.ubuntu.terminal_0.7._armhf" or just "com.ubuntu.terminal" and similar, but always the same message. I also tried with "terminal-app" but same message.

    Then I checked in .local/share/applications and there I could find a desktop file and this line to launch the app:
    Exec=aa-exec-click -p com.ubuntu.terminal_terminal_0.7. -- lib/arm-linux-gnueabi
    I tried then:
    aa-exec-click -p com.ubuntu.terminal_terminal_0.7. -- lib/arm-linux-gnueabi
    and get:
    aa-exec: ERROR: profile 'com.ubuntu.terminal_0.7.' does not exist
    I also tried without the last option as I don't have the directory:
    aa-exec-click -p com.ubuntu.terminal_terminal_0.7.
    same message.

    Any tip to debug this, very welcome.

  • @wgarcia Could you please tell us how you install terminal-app on your device? (the exact sequence of steps you take - from building to installation)

    i.e. If you use the Ubuntu SDK green "play" button on the sidebar, that's just meant to build and run your application for debugging/development reasons. Once you close the application on your device, the built package is uninstalled. You should use the actions in the "Publish" tab instead, if that's the case.

  • @sverzegnassi I first built the app, 1) cloned the git repository, 2) opened it as a project in the SDK, 3) followed the steps explained in : to install dependencies and so on, 3) build the app using the option to build it for device, 4) published it and got a click package in the build directory, 5) transferred the app to my phone and run this from the command line in the phone: pkcon --allow-untrusted install-local , it showed it was installed without any error.

    But then I coudn't find the app in the app scope, and using the methods described in my previous message I could not start the app either.

  • @wgarcia Thanks for the exhaustive reply, within the SDK you have 3-4 ways to install apps - I needed further informations. :)

    Have you tried to trigger a "pull down to refresh" gesture in the application scope, in order to refresh the scope content? When you install apps from terminal, the scope doesn't get automatically refreshed.
    Otherwise, I'd suggest you to install "UT Tweak Tool" from the OpenStore, which performs all the steps automatically.

  • @sverzegnassi Thanks, yes, I tried to refresh the App store and also to restart the device, to no avail. I have the UT Twek Tool installed, but why is it useful for for this problem?

  • @wgarcia You can install click packages with UTTT (it's under the "System" tab).
    Unless there's something wrong with your device configuration or the package, it should just work since it performs all the relevant steps (at least, I released UTTT two years ago and I never got any problem).

    Forget what I said anyway, now I recall that after I leaved the terminal-app team, it received some contribution in order to converge to desktop platform. There might be a problem in the source code, let me check...

  • @wgarcia Ok, I see a couple of problems now. I apologise for not checking earlier. :)

    The version: "0.7."
    I guess that last dot is giving some trouble to the system, which can't properly register the application. This is something we need to fix after we've moved the core apps from to GitHub, since we can't invoke "bzr revno" anymore.
    Usually other core apps specifies a fallback string in case "bzr" is not available. I see such fallback is missing in terminal-app.

    Look for the following piece of code in ./CMakeLists.txt (should be at line 46)

        COMMAND bzr revno
    endif(NOT BZR_REVNO)

    And add the following:

      set(BZR_REVNO "latest")
    endif(NOT BZR_REVNO)

    After this change (and having disabled tests for convenience), I've been able to launch the app on my BQ.

    QML imports
    There's another problem that clearly Canonical engineers forgot to fix. They forgot the phones.
    The source code has been updated to use QtQuick 2.5 imports, which require Qt 5.5 to be installed on the system. Sadly, Ubuntu Touch is still on Qt 5.4, therefore the application can be launched, but it get stuck on the loading screen.

    We need to check if QtQuick 2.5 is really necessary and, in case, downgrade to Qt5.4. I don't exclude further issues anyway.

  • It's probably because they meant the redesigned terminal to target the 16.04 release with the newer Qt.

  • @Mitu Sure, but it means to me that convergence, Click, and current phones support wasn't the focus for terminal-app since November, 2016. I know that terminal-app works on the phone without issues, but keeping phone requirements in sync was still desirable, and Ubuntu Personal images were much far from being stable and ready to be released. And there's no "legacy" branch for Ubuntu Vivid phone images either.
    I respect Canonical developers, I had the honor to meet them and they are great people, but it seems to me that last days of the Ubuntu convergent platform weren't so happy :)

  • @sverzegnassi Thanks a lot, I will take a look to all this.

  • Infrastructure

    @sverzegnassi How is it with backwards compatibility in Qt? Any issues if we would step up to the real latest version?


  • @Flohack Well, I'm not worried by Qt itself: it's generally well-documented (property and method deprecations too), so anything can easily (in general) be set up to prevent issues.

    The problem comes when we take in account UT-specific code, which makes usage of Qt private imports. I see, running 'grep' on my local folder where I keep all the UT code, that more than 10 components depend on them - including Unity8, the web browser, the Ubuntu UI Toolkit, the Ubuntu keyboard, and some Mir helper.

    It means this software should be heavily tested in order to check if there's any regression. This is what Canonical used to do anytime they were moving to a newer version - IIRC they had to fix a few things when they moved to Xenial which uses Qt5.6.

    A (partially) good news is that everything should have been already tested on Qt 5.6 and it should just work "out-of-the-box". Anyway I don't think there's any value in moving from the current patched version of Qt 5.4.x to another - as long as we stay on vivid, Qt 5.4 is not the problem.

    I think this should be one of the main discussions after we've started to work on Xenial. Qt version, UITK, Unity8, Mir, and the package format are things extremely related each other. The only thing that I can say for sure is that it wouldn't be a problem if we were on Snaps, Flatpaks or Appimages, since they bundle a specific version of the required libraries... :/

Log in to reply

Looks like your connection to UBports Forum was lost, please wait while we try to reconnect.