Ask / Submit

[SDK] "Deploy By Building An RPM Package" Run button grayed out by default [answered]

asked 2018-06-27 23:30:02 +0200

Direc gravatar image


I was fighting my way through other issues (damn you, git conflict lines in a .ts file) and it occured to me that the one deployment option for a project do not actually do what it should:

Deploy As RPM Package is supposed to compile the source, build the RPM package, deploy it to the emulator/device and launch it - this is what it does.
Deploy By Copying Binaries is supposed to compile the source, copy the compiled files along with other necessary files to the emulator/device and launch it - this it what it does.
Deploy By Building An RPM Package is supposed to compile the source and build the RPM package - but it does not generate the RPM package, it just compiles.

Thus, only way to generate an RPM package is to pick Deploy As RPM Package, which also deploys and runs it.

There is, however, a simple solution:

  1. Open Sailfish OS IDE (Qt Creator)
  2. Open your project
  3. Select Projects (wrench) from the left side
  4. Perform steps 5 through 8 for each architecture (i486, armv7l)
  5. Select Build & > Sailfish- (varies) > Run
  6. Create new run configuration; click Add > Custom Executable under Run section
  7. Enter some dummy executable command - I used command ls
  8. Rename the run configuration - I used Build and validate RPM

After this, I can actually run the deployment method:

image description

Why is this so handy, instead of just using the RPMs from successful emulator i486 run, or failed deployment for armv7l, which leaves the packages behind? Because this actually validated the code and RPM package, which really helps getting the code Store compliant. (That's what the six issues are actually.)

So, in the end, my question is: should the run button not be grayed out by default? Is this really the only way to properly run the RPM generation and validation from the Sailfish OS IDE, or have I missed something important in online documentation? Thanks.

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by Direc
close date 2018-06-28 20:21:05.524152



It's explained in details in one of the first tutorials: Your First App

Sthocs ( 2018-06-28 19:45:44 +0200 )edit

Fair and square, it's there all right. Well, now I am at least a lot more familiar with the build system :)

Direc ( 2018-06-28 20:18:00 +0200 )edit

1 Answer

Sort by » oldest newest most voted

answered 2018-06-28 07:55:41 +0200

martyone gravatar image

I admit it is not really obvious and I haven't found any documentation in a while, but the "Deploy By Building An RPM Package" deployment option really does what it should - builds an RPM package.

It is a deployment configuration, not a run configuration. So what you need to use is the "deploy" action, not necessarily the "run" action. Use menu Build > Deploy to trigger deployment without running.

edit flag offensive delete publish link more


Yeah, that's the correct way to do it. I still would prefer the run icon turned into a package symbol - a cardboard box perhaps - and it would be clickable. This feels inconsistent to me, but at least it is a simple way to do it :)

Direc ( 2018-06-28 20:20:47 +0200 )edit

Question tools

1 follower


Asked: 2018-06-27 23:30:02 +0200

Seen: 140 times

Last updated: Jun 28 '18