← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1215937] Re: cannot create click packages for QML Extension Library + Tabbed Touch UI

 

The latest release of the SDK has the following mechanism:

1. Each target (armhf, x86) has a click chroot and the cmake projects
can be built against these targets. Click package creation for the armhf
device is enabled only when the armhf click chroot Kit is sleected

2. The developer should create a click chroot for armhf target in the
Tools-> Options -> Ubuntu tab and select that target when opening a
project.

3. If the developer has forget to select the armhf target the the .user
project file should be deleted and the project should be re-opened

4. After these the click package can be created for cmake projects the
same way as for QML projects

** Changed in: qtcreator (Ubuntu)
       Status: Confirmed => Fix Released

** Changed in: qtcreator (Ubuntu Saucy)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtcreator in Ubuntu.
https://bugs.launchpad.net/bugs/1215937

Title:
  cannot create click packages for QML Extension Library + Tabbed Touch
  UI

Status in “qtcreator” package in Ubuntu:
  Fix Released
Status in “qtcreator” source package in Saucy:
  Fix Released

Bug description:
  After setting up a QML Extension Library + Tabbed Touch UI project
  following bug #1215913, if I click the Packaging button on the far
  left, I am told "Click packaging is only available for QML projects".

  Certainly this is due to the fact that the appstore and click don't
  have the concept of fat packages yet. Attached is a rather dumb script
  to create click packages. Here are the steps:

  1. create a QML Extension Library + Tabbed Touch UI project following bug #1215913 (being careful not to use dashes or underscores in the name (see bug #1215133 and bug #1215918). Eg "myapp".
  2. create manifest.json in the toplvel source, with something like the following (adjusting description, maintainer, name and title):
  {
      "description": "description of myapp",
      "framework": "ubuntu-sdk-13.10",
      "hooks": {
          "myapp": {
              "apparmor": "myapp.json",
              "desktop": "app/myapp.desktop"
          }
      },
      "maintainer": "Your Name <your.name@xxxxxxxxxxx>",
      "name": "com.ubuntu.developer.myappdevid.myapp",
      "title": "myapp",
      "version": "0.1"
  }
  3. create the security manifest, myapp.json, with the following (adjusting policy_groups as necessary):
  {
    "policy_groups": [
      "networking"
               ],
    "policy_version": 1.0
  }
  4. put the attached 'make-click' in your toplevel source directory, and run it:
  Reading /tmp/tmp.JPZZJf7oCx/backend/backend.pro
   Reading /tmp/tmp.JPZZJf7oCx/backend/modules/myapp/myapp.pro
  ...
  make[2]: Leaving directory `/tmp/tmp.JPZZJf7oCx/backend/modules/myapp'
  make[1]: Leaving directory `/tmp/tmp.JPZZJf7oCx/backend'
  Adjust the manifest to include: "architecture": "amd64",
  Adjust the desktop file
  Clean out install dir
  Running: click build /tmp/tmp.JPZZJf7oCx
  Successfully built package in './com.ubuntu.developer.myappdevid.myapp_0.1_amd64.click'.

  Install with: sudo click install --force-missing-framework
  --user=jamie ./com.ubuntu.developer.myappdevid.myapp_0.1_amd64.click

  
  Now, make-click is dumb. Really dumb. It doesn't know about .pro files, etc. There is a cc_args that can be adjusted for your project. Eg, if you need dbus compiled in, use:
  cc_args="CONFIG+=dbus"

  To have proper integration, qtcreator should:
  1. build the package in %buildDir%
  2. clean out %buildDir% in some reasonable manner
  3. generate the initial app/*.desktop file in the toplevel source, being careful of bug #1204595, and using "qmlscene -I backend/modules app/myapp.qml"
  4. generate the click package in the %buildDir% (eg, 'cd %buildDir% && click build .')

  Step '4' for now should detect the architecture and add this to the manifest:
    "architecture": "<qtcreator detected arch>",

  When fat packages (or whatever implementation is chosen) are in use,
  step '4' should be adjusted for that.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtcreator/+bug/1215937/+subscriptions