We have moved to a new Sailfish OS Forum. Please start new discussions there.
1

[SDK 3.0] Issue with rsync when deploying to device [released]

Tracked by Jolla (In progress)

asked 2020-01-12 13:47:34 +0200

Sakke gravatar image

updated 2020-01-12 13:50:41 +0200

Hi sailors!

Lately I've been working on with Sailfish apps and SDK was working great just before updating to version 3.0. So my issue is that unfortunately now after adding my Xperia XA2 Dual-Sim to QtCreator as a device, deploying a rpm package faces an error:

Fatal: No key for user 'nemo' on 'Sailfish OS Emulator 3.2.1.20' given in devices.xml (rsync '/etc/mersdk/share//nemo')
13:30:55: The process "C:\SailfishOS\settings\SailfishSDK\libsfdk\build-target-tools\Sailfish OS Build Engine\SailfishOS-3.2.1.20-i486\deploy.cmd" exited with code 1.

After this has occurred I'm not even able to deploy rpm for the emulator since it returns the same error code. Not even deleting the device, as it states that something is wrong in devices.xml, is helping. I'm not sure what key for nemo it's trying to find or what it's trying to do. I've tried to generate some new keys and adding the device again etc. I know rsync is not available as stated in test connection but it wasn't a problem until now.

Nevertheless, what I have found out is that this issue could be related to MerSDK not mounting some files correctly or the same issue with not being able to connect Sailfish Emulator/Build Engine since they refuse to connect (take a look at this https://together.jolla.com/question/220616/connect-to-emulator-on-windows-10-fails-with-permission-denied/). I have also noted that re-installing SDK and VirtualBox will let me to deploy rpm for emulator again but right after adding a new device this issue occurs both on emulator and the device.

I have to admit that I'm really newbie when it comes to Sailfish app development so this issue might be just very trivial but please feel free to help me with it. I'm just confused why it started to happen right after updating to SDK 3.0 and not before that.

To add some details, so I'm running on the latest SDK 3.0 and VirtualBox 6.1 on Windows 10 Home 64-bit. My XA2 (H4113) is running on Sailfish 3.2.1.20 Nuuksio. And to add I can reproduce this on my desktop and laptop both running under the same specs.

Cheers!

edit retag flag offensive reopen delete

The question has been closed for the following reason "released in a software update" by Sakke
close date 2020-05-30 12:29:10.453197

Comments

have you tried your (set) dev/ssh-key?

manu ( 2020-01-12 14:09:04 +0200 )edit

@manu can you elaborate? What do you mean by dev/ssh keys and where they should be put ?

Sakke ( 2020-01-12 14:15:29 +0200 )edit

in settings developer tools, you can set a passphrase for ssh after enabling developer mode and remote connection.

manu ( 2020-01-12 14:21:04 +0200 )edit

@manu, Yes I have dev password for ssh and it's enabled. I can connect to my XA2 using Terminal or Windows cmd. I have also set password for the emulator and the same thing, connections work.

Sakke ( 2020-01-12 15:39:13 +0200 )edit

Maybe re-deploy the key? In the SDK menu Tools->Options->Devices->Deploy public key. Or maybe even Regenerate SSH Keys. I have no experience in this, except when I once forgot to deploy the key, and AFAIRC got a similar error message.

Are you subscribed to the developer mailing list? https://lists.sailfishos.org/

Tanghus ( 2020-01-12 19:59:59 +0200 )edit

1 Answer

Sort by » oldest newest most voted
4

answered 2020-01-13 10:32:55 +0200

martyone gravatar image

I was able to reproduce this error on one Windows machine.

As a workaround, you should be able to manually fix the content of the vmshare/devices.xml file under the Sailfish SDK installation directory, adding missing sshkeypath elements under each device element. The content should be the relative path to the directory with SSH keys for that device. These directories exist as subdirectories of the vmshare/ssh/private_keys directory.

Example:

<device name="Sailfish OS Emulator 3.2.1.20" type="vbox">
    ...
    <sshkeypath>ssh/private_keys/Sailfish_OS-Emulator-latest</sshkeypath>
</device>
<device name="Xperia 10 - Dual SIM (ARM)" type="real">
    ...
    <sshkeypath>ssh/private_keys/Xperia_10_-_Dual_SIM_(ARM)</sshkeypath>
</device>
edit flag offensive delete publish link more

Comments

Thank you! This workaround works well. I'm still confused why this is triggered only if you add a new device and after that it's triggered for all deploy processes. I was thinking more like something that VM wasn't mounting the share folders correctly.

So this is a bug then? I'll keep the question open until fixed.

Sakke ( 2020-01-13 11:14:05 +0200 )edit
1

Yes, it is a bug. Different code path is taken under certain conditions, leading to this file corruption.

martyone ( 2020-01-14 12:08:11 +0200 )edit

Thank you very much!

BTW, this bug still exist on latest SDK.

BirdZhang ( 2020-04-06 14:36:01 +0200 )edit

@BirdZhang, that's true because fix hasn't been released yet. I'll update this post when it's released and it works as it should.

Sakke ( 2020-04-06 17:10:55 +0200 )edit

@martyone, was this now fixed in the latest SDK release, can you confirm?

Sakke ( 2020-05-28 19:28:00 +0200 )edit

Question tools

Follow
2 followers

Stats

Asked: 2020-01-12 13:47:34 +0200

Seen: 577 times

Last updated: Jan 13 '20