0

I want to build a package for my app, written with C++ and QML. For this I'm using Ubuntu SDK. I'm working on Ubuntu 15.04. Here is the project tree :

Player :

  • player.qmlproject
  • components (a dir containing a bunch of qml files)
  • imports-->Models : libPlayerModules.so, plugins.qmltypes, qmldir
  • pages (an empty dir for now)
  • test (a dir generated by the SDK)
  • Makefile (a dir generated by the SDK)
  • Player.desktop (contains a qmlscene call with the imports argument)
  • Player.png (app's icon, included in the .desktop file)
  • Player.qml (the main qml file)

Some info about the libPlayerModules.so in case it would be needed: I'm writing this lib using C++11, it depends on Qt 5.4, sqlite3 (used through QtSQL), taglib, D-Bus. I can run the app without any trouble using qmlscene.

1 Answer 1

0

You didn't specify what type of package you wish to build. I'm going to assume that you want to build a click package, suitable for installation on an Ubuntu phone.

If you're using Qt Creator with the Ubuntu SDK plugin, there is a "Publish" tab on the the left-hand side. Select that, and then click the "Build and validate click package" button. The click package will be placed in your build directory.

To build a click package from the command line, first place all the files into the correct (relative) hierarchy in a temporary directory. The manifest.json file must be in this directory. Keep in mind that any architecture-dependent files must have been generated in an appropriate chroot. You probably want your make install step to set this up for you. Then run click build /path/to/temp/directory, and you'll get the click package, named with the appropriate values from the manifest file.

Click packages are very similar to deb files. You can inspect their contents with file-roller, but only if you rename them to end in .deb.

For more details about building click packages, including some helpful commands for building in chroots, see this blog post.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .