Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating NavIt for SFOS from 0.5.1-3 to 0.5.3-0 fails #654

Closed
Olf0 opened this Issue Sep 3, 2018 · 8 comments

Comments

Projects
None yet
5 participants
@Olf0
Copy link

Olf0 commented Sep 3, 2018

Thank you very much @metalstrolch for continuously maintaining, contributing to and packaging the SailfishOS port of NavIt.

Having v0.5.1-3 installed from your OpenRepos repository and technically running well (although the GUI leaves much to be desired), I was eager to update to the freshly released v0.5.3-0
Unfortunately updating NavIt for SailfishOS from v0.5.1-3 to v0.5.3-0 in Storeman or per pkcon update harbour-navit fails with:

Fatal error: Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /usr/share/harbour-navit/espeak-data/voices/en: cpio: rename failed - Is a directory
error: harbour-navit-0.5.3-0.armv7hl: install failed
error: harbour-navit-0.5.1-3.armv7hl: erase skipped

And indeed, the RPM tries to unpack a file en over the extant directory /usr/share/harbour-navit/espeak-data/voices/en.

Supposedly uninstalling NavIt 0.5.1-3, checking /usr/share/harbour-navit/ is empty or gone and reinstalling v0.5.3-0 would work, but I wonder, if the complete content of the folder /usr/share/harbour-navit/espeak-data/voices/en/ has really become irrelevant. Furthermore I expect others to run into this issue as well, hence it would be better resolved.

Tested on a Jolla 1 phone with SailfishOS 2.1.4.14
If any further information, logs etc. might be helpful, please let me know.

@metalstrolch

This comment has been minimized.

Copy link
Contributor

metalstrolch commented Sep 4, 2018

To be honest I never tried updating the versions.
I always uninstalled the old version and reinstalled the new one. But I'll have a look at it. Stay tuned.

@jkoan

This comment has been minimized.

Copy link
Member

jkoan commented Sep 14, 2018

As far as I noticed the content isn't irrelevant, but it got moved. So I think this is probably something the package maintainer needs to take care of.
@aerostitch how would that be handed on debian?

@aerostitch

This comment has been minimized.

Copy link
Contributor

aerostitch commented Sep 14, 2018

In debian that's handle automatically via debconf.
But my best bet would be to add a check if the en folder is a dir, we might want to delete it in https://github.com/navit-gps/navit/blob/trunk/contrib/sailfish/navit-sailfish.spec#L104 ?
@Olf0 can you do a ls on /usr/share/harbour-navit/espeak-data/voices/en/ for navit 0.5.1-3 if you still have it please? If you don't and you upgraded, can you check if it's now still a file or if it's a folder please?
I haven't tried SFOS yet, so not sure how that part is handled.

Thanks

@metalstrolch

This comment has been minimized.

Copy link
Contributor

metalstrolch commented Oct 1, 2018

I can confirm this. Espeak-data structure changed from 0.5.1x to 0.5.3 because of the newer espeak included. But I don't know why rpm cannot update a directory to file change.

On 0.5.1-3 it's a directory containing sub voices.
On 0.5.3 it's a plain file.

I'll investigate how to fix that. In the meantime one can use it by explicitly "dpkg remove harbour-navit"
and installing it again.

@metalstrolch

This comment has been minimized.

Copy link
Contributor

metalstrolch commented Oct 1, 2018

Fixed with commit 6389ce5 by adding a %pre script deleting espeak data.
See tag Sailfish-v0.5.3-1 for updated sailfish release

@Olf0

This comment has been minimized.

Copy link
Author

Olf0 commented Oct 1, 2018

Sorry, I missed the notification mail two weeks ago.

@aerostitch, as stated in the original bug report, it is a directory, which is supposed to be replaced by a file:
$ ls -l /usr/share/harbour-navit/espeak-data/voices/en/
total 28
-rw-r--r-- 1 root root 105 2017-04-10 19:33 en
-rw-r--r-- 1 root root 202 2017-04-10 19:33 en-n
-rw-r--r-- 1 root root 180 2017-04-10 19:33 en-rp
-rw-r--r-- 1 root root 246 2017-04-10 19:33 en-sc
-rw-r--r-- 1 root root 294 2017-04-10 19:33 en-us
-rw-r--r-- 1 root root 301 2017-04-10 19:33 en-wi
-rw-r--r-- 1 root root 174 2017-04-10 19:33 en-wm
$

@metalstrolch, thanks for the updated spec file, the fix is looking good.

And ... heading over to Storeman, it updates nicely now.

@hoehnp

This comment has been minimized.

Copy link
Contributor

hoehnp commented Oct 1, 2018

@metalstrolch: does this update also include the split in navit.xml? If not, could you please guide me, how I can create such a custom build for testing on SFOS?

@metalstrolch

This comment has been minimized.

Copy link
Contributor

metalstrolch commented Oct 2, 2018

No it doesn't. As you can see on pull request #559 , it doesn't actually build for sailfish without changes and the seperated xml files wouldn't be packed as "make install" currently doesn't install them. And they are missing in the spec file.

But if you want to try yourself, the wiki page https://wiki.navit-project.org/index.php/Sailfish_OS more or less teaches how to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.