terminal-app does not have a maintainer #2

Closed
UniversalSuperBox opened this Issue Jun 6, 2017 · 35 comments

Comments

Projects
None yet
6 participants
Member

UniversalSuperBox commented Jun 6, 2017

No one is currently maintaining this app. If you would like to become the maintainer, please reply to this issue or get a hold of us via another method.

The app maintainers will be responsible for coordinating the following (doing it yourself is still coordinating, if you prefer that):

  • Triaging bugs
  • Fixing bugs
  • Vetting and implementing enhancement requests
  • Corresponding with the UBports project regarding the app's progress
  • Requesting bounties be posted for the app
  • Creating one of the most beloved applications on the platform
Owner

Flohack74 commented Jun 6, 2017

@sverzegnassi will you jump onboard? Let us know your conditions ;)

Contributor

sverzegnassi commented Jun 6, 2017

I'd keep the issue opened for anyone willing to maintain terminal-app :)

I've already been its maintainer for some time and the app doesn't have any relevant issue. At the foundation it uses the rock-solid QTermWidget library (ex-Konsole code), which is a good warranty of quality.

I'd honestly prefer to focus on other apps or services which require some extra love, rather than spending time optimizing what is already good (I don't expect to have much time for this in the upcoming months).

If it's okay for you, I'm available for backporting all the new stuff (currently in 'master' - 16.04 only) on the 'vivid' branch, in order to have an application which is really capable to converge (plus, new shiny UI).
There has been some huge improvement since Canonical moved the app under their umbrella, and it would be such a waste to deprecate all this goodness.

Anything else, like ordinary maintenance, or those small, time-waster bugfixing, is out of my interest, since I don't want to (and I can't) guarantee you a constant commitment to the project.

Owner

Flohack74 commented Jun 6, 2017

Ok super, thats good for the moment

Collaborator

wagafo commented Jun 12, 2017

I would be willing to help at least in triaging, translation imports, and with time I could help with the code too. But I need a development environment, I tried to build the app and I failed. I have tried a couple more things since an exchange I had with @sverzegnassi some weeks ago, like trying to go back to a revision in bazaar from June 2016, but I couldn't build that either. I arrived to build a click and install it in my phone, but it doesn't run. And as I said as development environment I have an old install of the Ubuntu SDK, as soon as it breaks I don't have anything.

If you help me in building the app, I can help. Also: is there any repository where we have exactly the code that produces the version of the terminal app that we have right now in the OpenStore? AFAIK this repository does not correspond to that version, it includes a lot of merges until they stopped developing the app at Canonical.

Owner

Flohack74 commented Jun 12, 2017

Yeah maybe @sverzegnassi can take a look with me to the Launchpad branches, maybe the stable one was not carried over to Github, and we only got here the experimental one.

Basically you can maintain the Apps without Ubuntu SDK, I am working on Telegram App only with gedit mostly xD so its possible. But: The App should bring good build scripts (preferably both desktop & mobile mode, so you can test directly in your desktop, it saves a lot of time for installing it on the device).

The future of the SDK is miserable, yes, but as long as it works somehow, it can be a great help. Just that my debugging never worked actually xD

BR

Owner

Flohack74 commented Jun 12, 2017

Update: The correct branch that would work is called vivid :) - maybe I should switch this to be the default?

Contributor

sverzegnassi commented Jun 13, 2017

The code of the version released on the OpenStore is in our GitHub repo ('vivid' branch). However it does not build because terminal-app actually requires to be built from a bzr branch.

I haven't fixed that ATM, so you'll probably find yourself more comfortable to use this bzr branch instead.
https://code.launchpad.net/~ubuntu-terminal-dev/ubuntu-terminal-app/refresh

About the development environment, all the core apps have been designed to work with Ubuntu SDK. As long as UBports does not upgrade the platform, you won't see any relevant issue.

Still, you can use whatever IDE/editor you want, but you'll find yourself forced to perform some operations manually.
Rather than adding strange scripts, etc., I'd suggest you to use Clickable by Brian Douglass, which has been reported to provide a good alternative to USDK.

@Flohack74 Switch the branch ;)

Collaborator

wagafo commented Jun 13, 2017

OK, thanks a lot. I edit myself with emacs, but I use the SDK to compile/build. I don't know (yet) how to compile from the command line, and I'm not working from a Vivid install, so I guess I can't do that, I need the SDK to have a Vivid chroot, right? Anyway, if you change to the right branch I can start trying from there. The version in the OpenStore has also the change that does not require to enter the password each time you open the terminal.

Collaborator

wagafo commented Jun 13, 2017

On Clickable by Brian Douglass, I tried to install it in my laptop (that has Ubuntu 17.04), and it removed the Ubuntu SDK. It didn't install well, it could not download some packages once started. Then I removed it and I tried to reinstall the Ubuntu SDK, but it seems it is no longer available in the repositories. I still have the SDK in my desktop, at this moment it is the only place where I can compile/build apps for UT.

Contributor

sverzegnassi commented Jun 13, 2017

You can work from any Ubuntu version, the Vivid container can be installed on any platform supported by the Ubuntu IDE. For instance, I use Ubuntu Xenial LTS on my desktop.

If you use emacs, you could really try to add support for Clickable to terminal-app. OpenStore and gallery-app already support it, and it provides a good CLI for deploying projects on the phone (and supports both LXD containers and the legacy chroots).

Yes, the version in the OpenStore does not require to enter the password. That's an alternative version of the app since some Canonical developers found that requirement a bit annoying.
At the time, OpenStore was about hacks and unofficial apps, that decision made really sense.

However the OpenStore version lowers the security enhancements of the whole UT platform. Since UBports now wants to preinstall terminal-app by default, I'd suggest to reintroduce the password prompt, and eventually make it optional from the app settings.

Contributor

sverzegnassi commented Jun 13, 2017

@bhdouglass ^^
Any clue of what is going on? :P

Member

bhdouglass commented Jun 13, 2017

With clickable make sure you run clickable setup-lxd if it's your first time using it. Then it'll setup the lxd container that it'll use later.

Owner

Flohack74 commented Jun 13, 2017

Default branch is now vivid + this branch and master are locked against merging PRs without review. Actually I am setting this on all our repos now ;)

Collaborator

wagafo commented Jun 14, 2017

@bhdouglass When I set a lxd container following your instructions in the uBports wiki, once I have the container and I get into the bash shell, "apt get update" cannot reach the Ubuntu repositories. I checked why, and I can ping for instance the IP of archive.ubuntu.com, but the name is not resolved (no DNS within the container). I'm trying this from my laptop, where I only have network-manager doing all the network managing, and from there DNS is working well.

Member

bhdouglass commented Jun 14, 2017

@wagafo you don't need to follow that guide if you have access to a system that has a proper lxd setup (like Ubuntu, or Arch Linux). The author of that guide is using Debian or something and it has the old lxc setup (hence the guide). If you've already used the SDK on your computer you should be able to use clickable without a hitch.

Collaborator

wagafo commented Jun 21, 2017

I'm trying to build this app with clickable. This is what I did:

  1. I installed clickable, and tried the "Hello world" program, it worked!
  2. I cloned the terminal-app, cd into it, and typed "clickable", it complained that it could not find "clickable.json".
  3. I tried if the clickable.json I had in ut-app-template would work in the terminal-app, so I copied it over (sorry if it is absurd, just trying). Now the terminal-app seemed to start building, it seemed to compile without errors, but when it arrived to the end it aborted with:
    click: error: directory "/home/wgarcia/sources/ubuntu-touch/terminal-app/build/tmp" does not contain manifest file "manifest.json"
    cannot stat '/home/wgarcia/sources/ubuntu-touch/terminal-app/build/com.ubuntu.terminal_0.8._armhf.click': No such file or directory
    Command 'adb push /home/wgarcia/sources/ubuntu-touch/terminal-app/build/com.ubuntu.terminal_0.8._armhf.click /home/phablet/' returned non-zero exit status 1
Member

bhdouglass commented Jun 21, 2017

@wagafo The clickable.json file has project specific information in it and it may not be transferable between projects. I would recommend getting the latest version of clickable and trying again without the copied clickable.json (the latest version now tries to automatically detect the project's template).

Collaborator

wagafo commented Jun 21, 2017

I just cloned clikable, so shouldn't this be the last version? I tried first to run it without any clickable.json file and it complained that it didn't have one and did not even start the build.

Member

bhdouglass commented Jun 21, 2017

@wagafo probably not the latest version, I just updated it a day or two ago.

Collaborator

wagafo commented Jun 21, 2017

I cloned it one hour ago.

Member

bhdouglass commented Jun 21, 2017

Ok, then it's the latest :D Try running clickable --template cmake

Collaborator

wagafo commented Jun 21, 2017

It fails, but is is probably because of an error in the code, and not in clickable. This is the output of the last lines:

Copying to output directory
Error making directory "/home/wgarcia/sources/ubuntu-touch/terminal-app/build/src/plugin/qmltermwidget/../QMLTermWidget".
src/plugin/qmltermwidget/CMakeFiles/qmltermwidget.dir/build.make:668: recipe for target 'src/plugin/qmltermwidget/libqmltermwidget.so' failed
make[2]: *** [src/plugin/qmltermwidget/libqmltermwidget.so] Error 1
CMakeFiles/Makefile2:2275: recipe for target 'src/plugin/qmltermwidget/CMakeFiles/qmltermwidget.dir/all' failed
make[1]: *** [src/plugin/qmltermwidget/CMakeFiles/qmltermwidget.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Usage: click build [options] DIRECTORY

click: error: directory "/home/wgarcia/sources/ubuntu-touch/terminal-app/build/tmp" does not contain manifest file "manifest.json"
cannot stat '/home/wgarcia/sources/ubuntu-touch/terminal-app/build/com.ubuntu.terminal_0.8._armhf.click': No such file or directory
Command 'adb push /home/wgarcia/sources/ubuntu-touch/terminal-app/build/com.ubuntu.terminal_0.8._armhf.click /home/phablet/' returned non-zero exit status 1

I wonder if anybody has been able to build the terminal app with the current branch. I think @Flohack74 reverted it to the vivid branch, which supposedly was the stable branch used for the last version of the termnal-app.

Collaborator

wagafo commented Jun 21, 2017

Bingo! I got it to build. I had to go into the clickable lxc container first:
lxc exec clickable-armhf -- /bin/bash
and install a package:
apt-get install libpam0g-dev:armhf
as suggested in the main page of this repository.

It built OK and runs OK in my device, and it is the version that was distributed by Canonical, since it always asks for the passcode to open.
So I'm willing to help in maintaining this app, now that I can build it I think I can help.

Member

bhdouglass commented Jun 21, 2017

@wagafo you can specify the necessary dependencies in the clickable.json file, the readme for a full reference on the format: https://github.com/bhdouglass/clickable/blob/master/README.md

Collaborator

wagafo commented Jun 21, 2017

Thanks, that makes sense.

Collaborator

wagafo commented Jun 21, 2017

By the way, it worked (after installing the dependency) with the clickable.json I had copied over.

Collaborator

wagafo commented Jun 21, 2017

Curious, I managed to build the package once, but now it fails again with the same message above, and I don't remember having changed anything.

Collaborator

wagafo commented Jun 22, 2017

I figure out what to do to get a build.

  1. Create a clickable.json file with this content:

{
"template": "cmake",
"kill": "qmlscene"
}

If I add a needed dependency, I get an error. I tried:

{
"template": "cmake",
"kill": "qmlscene",
"dependencies": "libpam0g-dev"
}

and

{
"template": "cmake",
"kill": "qmlscene",
"dependencies": "libpam0g-dev:armhf"
}

in both cases "clickable" starts with:
Checking dependencies
E: Command line option ':' [from -:armhf] is not known.

and the build does not complete (it finishes with the error I showed in previous posts).

If I add the dependency "manually", that is I open the clickable lxc container with:
lxc exec clickable-armhf -- /bin/bash
and there I write "apt-get install libpam0g-dev:armhf"
using the clickable.json without specifying the dependecy, it works.

  1. Copy the file "manifest.json.in" to "manifest.json".

With this the package builds OK.

Member

bhdouglass commented Jun 23, 2017

Dependencies should be an array in the clickable.json file. Also your manifest should be built in your cmake stuff, make sure that is setup.

Collaborator

wagafo commented Jun 25, 2017

Thanks, makes sense. But the clickable.json needs to provided before running clickable, doesn't it?

Owner

Flohack74 commented Jun 25, 2017

Can I suggest to transfer the discussion to somewhere else :) This is not really the right place, plus maybe in the forum or on Telegram other people can benefit too.

Collaborator

wagafo commented Jun 25, 2017

Thanks @Flohack74 , I thought it was relevant for this issue as I want to make sure how to build terminal-app with clickable from this repo "out of the box".

Owner

NeoTheThird commented Aug 24, 2017

So, @wagafo are you still interested in taking over the maintenance of this app? Is that OK with everybody now? In that case we should close this issue, probably.

Collaborator

wagafo commented Aug 25, 2017

Yes, I'm still volunteering to maintain the app. Should I try to build the click package and submit it to the OpenStore, or are any of you guys going to do it?

Owner

NeoTheThird commented Aug 25, 2017

Ok, great, thank you! I added you as a contributor, so you now have write access. We have branch protection enabled for vivid and master in all repositories though, so you can work on a different branch and we can ensure top quality of the finished products.

The package is already uploaded by Ubuntu App Cats, so that will have to be taken down first. I'll get that going and upload the latest build to the shared UBports account. For now, this is a manual process, so ping me if you want to publish a new version and i'll do it, but in the future we will get some automation going, so new packages from the vivid branch will be automatically built and published.

Have fun!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment