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

What are repositories and do I need to disable them before updating?

asked 2019-11-15 14:05:36 +0200

Yusssufff gravatar image

updated 2019-11-15 20:26:55 +0200

rozgwi gravatar image

Hi dear Sailors!

I have a question related to the update of a device, when following the exact steps proposed by Jolla.

When updating a sailfish device I wish to follow all the steps from the article: https://jolla.zendesk.com/hc/en-us/articles/201836347.

Therefore it is writen there:

"disable all openrepos repositories before attempting to upgrade your device. Else, you risk breaking the device."

I am aware that eventually this was specifically true for older versions of Sailfish OS (I am using 3.2), but still thats the "official" procedure, wich i guess all non-tech users a little worried of not disabling guarantee and not breaking device are willing to follow exclusively...

What is exactly a "repository"?

Where to find repositories anyhow with the jolla store's File Browser?

The first case of course is for the user of "storeman".

But what about other users that use only apps directly downloaded from openrepos.net? For exemple, as for myself, I am NOT using "storeman" but i am using 2 apps which i directly download from OPENREPOS.NET (depecher and tdlibjson: https://openrepos.net/content/blacksailer/depecher and https://openrepos.net/content/blacksailer/tdlibjson ). Here are therefore my questions: do these apps (downloaded directly from the openrepos.net website) have a repository that i should disable?? Or only the app "storeman" has repositories?

Also i cant manage to locate the tdlibjson package in my device with File Browser and therefore i don't know how to erase it before update...

Thanks a lot to let me know what you surely know about this topic!!

I guess you dont have to follow my exact exemple of apps and situation to answer, since this question is for everyone, not only for my specific apps and case! Im just willing to understand more clearly the definition and location of repositories...

Thanks a lot!

edit retag flag offensive close delete

Comments

Please read: https://en.wikipedia.org/wiki/Software_repository

daywalker ( 2019-11-15 16:00:52 +0200 )edit

if you dont have 3rd party repositories added you should not do anything.

coderus ( 2019-11-15 16:00:59 +0200 )edit

2 Answers

Sort by » oldest newest most voted
3

answered 2019-11-15 16:03:20 +0200

rozgwi gravatar image

Repositories are where all the packages come from. Think of it like a library for books. Only in the case of Linux (and thus Sailfish OS) it contains software bundled into packages. So, what you did downloading those said two packages from OpenRepos was like going to a library and taking two books.
But, of course, this analogy is limited. Because there's something called package managers. These take care of dependencies.
Say the application you're installing is a media player with Bluetooth support. And it depends on a shared software library (not a library as above but a collection of reusable code). The package manager not only downloads the app for you but also it checks for dependencies and downloads them as well.

Now, having established that, there is an official repository from Jolla and then there are those by the community housed (among others) under the roof of OpenRepos. Using the client Storeman you can 'subscribe' to these repos in order to get the apps or libraries (again: collection of code) provided by these.
In case of an update, the update wizard will employ the package manager to fetch the new versions of software available (both apps and shared libraries). Here is where the danger may lie: If you are using any library from the community that is also part of the system update, the package manager might get confused between different versions, variations and even circular dependencies. I the worst case your system might get borked or, less bad, your update may fail.

Since you manually downloaded your packages, no repositories should be active (e.g. subscribed to). So I think you don't need to do anything more to be able to upgrade.

edit flag offensive delete publish link more

Comments

1

@jovirkku: Maybe this could be a little more clarified in the future release notes?

And as a side note: Could you update the paragraph about Patchmanager? Since version 3 it uses virtual paths instead of patching original files and automatically unapplies all patches before an update anyways.

rozgwi ( 2019-11-15 16:12:33 +0200 )edit

Thank you for the detailled answer! Very interesting and usefull! One thing: how are called these "librairies" when i look for them in the file browser? Is it the files in /etc/zypp/repos starting with "ssu_"? or can they have other names/ be in other folders? Thanks again!

Yusssufff ( 2019-11-15 18:48:55 +0200 )edit

you're welcome :)
well, I suppose your trying to remove tdlibjson. In this case: Don't touch the librarians desk! Packages should always be removed using the package manager. The file manager will not be useful here, what you see at /etc/zypp/repos is the database of available repos and their packages. Like the catalogue of the library. Don't touch these.

try using zypper or pkcon from the command line:

pkcon remove tdlibjson (requires developer mode)

rozgwi ( 2019-11-15 19:03:58 +0200 )edit

All right Thanks! And also nice update to the title of this question:).

So i guess as i just download the "book" out of the openrepos.net website i dont need to be worried about my "librairy" subscription card and therefore repositories!

Yusssufff ( 2019-11-15 22:36:00 +0200 )edit

yup :) no worries here

rozgwi ( 2019-11-17 11:32:15 +0200 )edit
2

answered 2019-11-15 17:24:16 +0200

olf gravatar image

updated 2019-11-16 00:47:42 +0200

"Disabling all OpenRepos repositories before upgrading SailfishOS" is mandatory only when upgrading from a SailfishOS version below 1.0.4.20 (in 2014 or after a "factory reset" of a Jolla 1 phone).

Though this still is a valid disclaimer by Jolla, because a few people at OpenRepos do not offer packages, which update system packages, in separate repositories: This will cause these packages to be automatically installed when performing a SailfishOS upgrade if their (main / personal / only) repository at OpenRepos is enabled, which may break your SailfishOS installation in the worst case; the recovery shell and a "factory reset" from it, or (on original Android devices) using the Android recovery to fastboot a recovery image and for reflashing, will still be working, then.

Furthermore, the advice how to handle Patchmanager, Phonehook and oFono when upgrading SailfishOS has become superfluous since Patchmanager 3 in 2018, since Phonehook 0.4.0 in 2015 and the third-party compiled ofono has been retracted for long at OpenRepos.
While I cannot tell anything about Call Recorder (as I am not using it), neither its wiki or its issue tracker mentions any issues WRT upgrading SailfishOS, so this advice might be outdated, too.

TL;DR: You should have an idea what you are doing, when using OpenRepos (e.g. per Storeman).

P.S.: @jovirkku, it would be nice and less confusing for users, if this information is updated in SailfishOS release notes and at Jolla's Zendesk.

edit flag offensive delete publish link more

Comments

TL;DR is usually used at beginning of long text. mot opposite :D

coderus ( 2019-11-15 17:59:14 +0200 )edit

Thanks to take time to answer! So you confirm me somewhat that just downloading an app (eg "depecher") from the openrepos.net website without using "storeman" doesnt add any repository in the device?

Yusssufff ( 2019-11-15 18:52:39 +0200 )edit

Yes @Yusssufff, but that is a clumsy way to manage apps from OpenRepos (better use Storeman).

olf ( 2019-11-15 19:33:37 +0200 )edit
Login/Signup to Answer

Question tools

Follow
2 followers

Stats

Asked: 2019-11-15 14:05:36 +0200

Seen: 845 times

Last updated: Nov 16 '19