Problems with installing the OS update 4.3.0

I did a version --dup. This probably worked around Jolla’s disabling of certain repos. Having said that, I think the package has been on openrepos for 2+ years. I have certainly done version --dup for other upgrades in that time period, and it has never been installed in the past? Something different recently?

It’s possible others have a different issue, but @N-Mi has a very similar sounding issue, but used sfos-upgrade rather than version --dup. @olf’s Sfos-upgrade explicitly says it disables openrepos?

Is the fix for me straightforward?

zypper in yaml-cpp -libyaml-cpp0_6-0.6.2+master.20181213083542
.4d61e32-1.3.3.jolla.armv7hl
zypper update libzypp

Is that enough?
And disable unnecessary repos…

Disable openrepos-birdzhang (or it might get pulled in again)

ssu re 4.3.0.12
zypper rm libyaml-cpp
zypper in -f yaml-cpp
zipper up libzypp

should do the trick, yes.

Maybe also install @olf 's sfos-upgrade
disable all open repos repositories
run
sfos-upgrade 4.3.0.12
reboot and run
post-sfos-upgrade

enable selected open repos only and take care what you install!

2 Likes

I would love to hear from the others having had the same issue?

This seems to have done the trick.
I have just run sfos-upgrade --verify to check the installlation and that seems to have suggested everything is in order now.
Pkcon is currently refreshing and working without complaint.
Things are looking good.
Thanks so much.

You are welcome.

Been there (sfos 2–>3 and definitely having all openrepos disabled! - always!), took me 2/3 days or even more, resolved it on my own, even having asked at zendesk did not bring any help…

So, happy got it resolved for you! :slight_smile:

2 Likes

Can you provide a source for this statement other than the release notes for SailfishOS 1.0.4 (discussed below)?
IMO this is “not true”.

What Jolla added to the GUI updater of SailfishOS 3.4.0, is listing all installed RPMs which have replaced “system RPMs” (i.e., ones from Jolla’s repositories) and recommending to uninstall them before upgrading. But that detection seems to be faulty, sometimes reporting many of Jolla’s own RPMs (i.e., “false positives”). In case of libyaml-cpp0_6-0.6.2 (from openrepos-birdzhang), I suppose that people did not pay attention (or that this detection mechanism also yields “false negatives”, sometimes).
Note that beyond the functionality documented by Jolla, this mechanism also apparently disables (≠ “delete”) the repositories, which provide the detected “system-RPM replacing RPMs”; at least this is what I observed when upgrading from SailfishOS 3.4.0 to 4.0.1.

Furthermore, I believe to have read that Jolla implemented a “repository separation mechanism”, which was “enhanced” in some later SailfishOS release. But I have never seen the exact functionality described and fail to find the remark about the “enhancement” (but IIRC it did not state anything specific). Maybe this just addressed what has been introduced in SailfishOS 1.0.4 and the “enhancement” meant the aforementioned new functionality of the GUI updater of SailfishOS 3.4.0.
The statement from the release notes for SailfishOS 1.0.4 is, “We have implemented disabling of additional repositories before system updates with this release.”, but we all know and regularly see that this is not at all true / working this way: All “additional repositories” are enabled during an SailfishOS update, because their RPMs are also updated by a SailfishOS upgrade and before SailfishOS 3.4.0 “system-RPM replacing RPMs” were pulled in from “additional repositories”, if they carry higher version numbers that the ones provided by Jolla.

And one still needs to deactivate all open repos stuff before starting the upgrade?

Short answer: IMO “No” with any SailfishOS ≥ 1.0.4, if one strictly keeps repositories disabled which contain “system-RPM replacing RPMs” among other RPMs (e.g., openrepos-birdzhang, openrepos-nieldk, openrepos-lachs0r).
Repositories which deliberately and explicitly (i.e., its maintainer knows what he is doing and documented that) contain solely “system-RPM replacing RPMs” are O.K. (e.g., openrepos-obexdcontentfilterolf).

And this was & is my long, in-depth answer to that question.

2 Likes

No, I can not.
That was the reason I asked explicitly.

Thanks.

1 Like

Deleted yaml-cpp and some other libs

3 Likes

No, Jolla has not implemented any deactivation of Open Repos repositories (afaicr). There is just the utility that attempts to find potentially conflicting packages, list them and recommend removing them. And then the release notes have the recommendation to manually disable O.R. repositories. It is difficult to say if the latter is required (anymore) as it depends on what each user has installed on his/her device. Most of the O.R. repositories and packages are ok. The recommendation is a precaution to prevent inexperienced users from running into trouble with the OS updates.

3 Likes

Maybe that missing statement is what confuses me.
I know that was in earlier release notes but I fail to find it in this one. (or am I just blind?)

There are some remarks about apps from openrepos but nothing about disabling repositories (which ofc is obvious, to me and more experienced user, but…).

1 Like

Upgrade via “system settings” from 4.2 went ok (Xperia X) but after reboot the phone keep rebooting AFTER reaching the GUI.
I had the time to enter the PIN, the SIMcard PIN - but before I manage to launch anything there’s a short freeze then reboot.
Then:
Reflashed to 4.2 , restore from backup, upgrade in terminal (version – dup) => same result
Reflashed to 4.2 , restore from backup, upgrade in GUI => same result

Is there any way to enable persistent and verbose logging to see what is causing the reboot ( I’d configure that while still in 4.2 then upgrade and retrieve the logs in Recovery mode)

1 Like

There actually is a mechanism in the update UI and the upgrade boot thing that temporarily disables any non-system repo for the upgrade, then re-enables them when done. As far as I know this mechanism is still working correctly. If you’ve only ever updated with the UI, then you shouldn’t see any other packages downloaded to the special upgrade zypp cache at /home/.pk-zypp-dist-upgrade-cache. Directories for other repos might be present in there if you’ve used version --dup before though, because that doesn’t disable anything.

My guess would be that the people encountering this problem already had the other yaml-cpp installed, or ran version --dup which pulled it in instead of the system version. Hopefully now that package is gone no-one else will run into this. Thank you all for detecting and investigating this in EA, as it would have been much harder for regular users to recover from it.

2 Likes

I had the same issue and reported it in another thread also. Could not install apps from both Jolla Store and Storeman.
This were not the only problems I had with my XA2: very slow reacting, slow browser, picking up a call is too vague for me, no GPS, opening with fingerprint never worked, no video calling, etc. Brought the device to factory setting and downloaded Sailfish Torronsuo. Jolla store works but not Storeman, however I can install Telegra’me from Openrepos.
And I have that lovely calling menu with pushes back.
The Sailfish Forum app works, but linking to ‘external browser’ doesn’t, so I am typing on my ipad.
I know 4.3 is early access. Yet I wonder why Jolla dev’s not have told app dev’s on forehand to change their apps. Especially concerning SSL.

1 Like

Can you recall if that yaml-cpp lib was installed as a dependency for one of your apps? We’d like to warn people to remove it before upgrade in the release notes.

2 Likes

@abranson
please do so.

In case of @juz it was not installed but as yaml-cpp was introduced in 4.3 as a dependency of libzypp the version from (not deactivated) openrepos was resolved.

A quick look at openrepos shows that yaml-cpp (libyaml-cpp) is used in his (only a lib) project RIME Rime Input Method Engine.
(@birdzhang maybe more?)

1 Like

Thanks for the info. The Sailfish version of yaml-cpp was actually introduced in 4.0.1 (as a dependency of an upgraded libzypp of course) but it’s only a problem now after libzypp was upgraded again in 4.3, as it requires a newer version than birdzhang’s.

That’s it. And Rime input method engine should be not many users.

1 Like

?

I just did the limbo and checked yaml-cpp.
It was introduced with 4.0, yes.
But it was not a dependency or at least it got not installed for 4.0, 4.1, 4.2, only in 4.3

Ah ok that’s great, thanks. We’ll add a note about that. Hopefully this means that not many users will run into this on full release. Though I wonder if people previously upgrading with version --dup with your repo enabled might have accidentally pulled in your version instead of the official one.

Very good news if it’s not previously installed. It was added as a build dependency for 4.0.1, but I guess whatever it was used for didn’t knock onto a runtime dependency until this latest version. Thanks for verifying.

2 Likes