sailfishos-patches / patchmanager

Patchmanager for SailfishOS
https://openrepos.net/content/patchmanager/patchmanager
Other
21 stars 22 forks source link

[Bug] librpm #413

Closed CvWild closed 1 year ago

CvWild commented 1 year ago

SailfishOS VERSION (Settings → About product → Build): 4.5.0.16
HARDWARE (Settings → About product → Manufacturer & Product name): Sony Xperia 10 III
PATCHMANAGER VERSION (Settings → Patchmanager → \<Top pulley> → About): 3.2.7-1

BUG DESCRIPTION

impossible to install patchmanager because dependency "librpm.so.8" isn't available.

STEPS TO REPRODUCE

take a phone with fresh 4.5.0.16 on it and try to install patchmanager, either over commandline with zypper or storeman or chum. reproducibility: 100%

ADDITIONAL INFORMATION

i will try to get the dependencies from elsewhere. maybe i can add the almalinux repo.

Olf0 commented 1 year ago

Last thing first:

i will try to get the dependencies from elsewhere. maybe i can add the almalinux repo.

Don't! Never. As you already found out: i tried adding the almalinux repo with zypper and then install patchmanager 3.2.7-1, but it wants me to uninstall pretty much every other package i have on my system :see_no_evil:

Side note: Please do not scatter your messages WRT a single bug at different places. As you have a GitHub account, just post your reports here at GitHub, which is the most suitable place.

impossible to install patchmanager [3.2.7-1] because dependency "librpm.so.8" isn't available.

Mmmh, that contradicts yesterday's tests by @pherjung at FSO, who tested both RPMs, from OpenRepos and from the SailfishOS:Chum community repository on SailfishOS 4.5.0.

take a phone with fresh 4.5.0.16 on it and try to install patchmanager, either over commandline with zypper or storeman or chum. reproducibility: 100%

With "chum" you mean the SailfishOS:Chum GUI application with its version override set to 4.4.0.72?

b100dian commented 1 year ago

I can confirm this with Xperia 10, armv7hl, from openrepos-Patchmanager

[nemo@Sailfish ~]$ zypper se -s patchmanager
Loading repository data...
Reading installed packages...

S  | Name                   | Type    | Version              | Arch    | Repository
---+------------------------+---------+----------------------+---------+-----------------------
i+ | patchmanager           | package | 3.2.2-1              | armv7hl | (System Packages)
v  | patchmanager           | package | 3.2.7-1              | armv7hl | openrepos-Patchmanager
v  | patchmanager           | package | 3.0.65-1.149.1.jolla | armv7hl | openrepos-Patchmanager
v  | patchmanager           | package | 3.0.64-1.144.1.jolla | armv7hl | openrepos-Patchmanager
v  | patchmanager           | package | 3.0.63-1.137.1.jolla | armv7hl | openrepos-Patchmanager
v  | patchmanager           | package | 3.0.62-1.136.1.jolla | armv7hl | openrepos-Patchmanager
v  | patchmanager           | package | 2.3.3-10.41.1.jolla  | armv7hl | openrepos-Patchmanager
   | patchmanager-testcases | package | 3.2.6-1              | noarch  | openrepos-Patchmanager
   | patchmanager-testcases | package | 3.2.4-1              | noarch  | openrepos-Patchmanager
   | patchmanager-testcases | package | 3.2.2-1              | noarch  | openrepos-Patchmanager
[nemo@Sailfish ~]$ devel-su zypper up patchmanager
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'librpm.so.8' needed by the to be installed patchmanager-3.2.7-1.armv7hl
 Solution 1: do not install patchmanager-3.2.7-1.armv7hl
 Solution 2: break patchmanager-3.2.7-1.armv7hl by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): 
b100dian commented 1 year ago

Adding chum repo/gui,

[nemo@Sailfish ~]$ devel-su zypper up patchmanager 
(...)
There is an update candidate for 'patchmanager' from vendor 'chum', while the current vendor is ''. Use 'zypper install patchmanager-3.2.7-1.9.1.jolla.armv7hl' to install this candidate.

[nemo@Sailfish ~]$ devel-su zypper install patchmanager-3.2.7-1.9.1.jolla.armv7hl
(...)
The following package is going to be upgraded:
  patchmanager

The following package is going to change vendor:
  patchmanager   -> chum

1 package to upgrade, 1 to change vendor.
Overall download size: 501.1 KiB. Already cached: 0 B. After the operation, 6.4 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): y

-> installation succeeds

b100dian commented 1 year ago

I don't think the previous 4.x releases have librpm.so.8 either. Would the build be the one for 3.4?

Olf0 commented 1 year ago

Likely fixed now: I uploaded the versions compiled for SailfishOS 4.4.0 at OpenRepos. Please check. I was misled by @pherjung's test result, which made me believe that the version compiled for aarch64@SFOS4.0.1 installs and works fine on SFOS 4.5.0. Would have been nice …

@CvWild, can you please re-check your statement WRT SailfishOS:Chum (no matter, if via pkcon, zypper or the SailfishOS:Chum GUI app), I could not really believe that Patchmanager compiled for SFOS 4.4.0.72 does not install and @b100dian's test indicates that all was fine at the SailfishOS:Chum community repository.

b100dian commented 1 year ago

Corfirmed fixed now for armv7hl

[root@Sailfish nemo]# zypper install --oldpackage patchmanager-3.2.7-1.armv7hl
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following package is going to be downgraded:
  patchmanager

The following package is going to change vendor:
  patchmanager  chum -> 

1 package to downgrade, 1 to change vendor.
Overall download size: 469.6 KiB. Already cached: 0 B. After the operation, 4.1 KiB will be freed.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package patchmanager-3.2.7-1.armv7hl                                                                                   (1/1), 469.6 KiB (975.4 KiB unpacked)
Retrieving: patchmanager-3.2.7-1.armv7hl.rpm .......................................................................................................[done (15.7 KiB/s)]

Checking for file conflicts: ....................................................................................................................................[done]
(1/1) Installing: patchmanager-3.2.7-1.armv7hl ..................................................................................................................[done]
pherjung commented 1 year ago

I'm wondering which supplementary step I did to not be affected by this bug.

Olf0 commented 1 year ago

Never mind: Mishaps do occur, also when testing.

A bit unfortunate was the chain reaction: Yesterday with the release of SFOS 4.5.0 EA it became a stressful evening after my day work for me, I thought I had uploaded the Patchmananger versions compiled for the oldest supported releases, almost forgot that someone should test these, because they may not work on recent SFOS releases, and was glad to have the opportunity to ask broadly in the ongoing conversations in the "PM bugs" thread at FSO. I was happy that you responded so quickly and even happier that the result was positive, so I stopped to care.

Just a little detour, and in hindsight I believe to faintly remember that this was already tested more than a year ago: These binaries probably do not run on SFOS 4.4.0, too. Now it is much less likely that I forget that, again.

In the big picture it shows again and again, that one either needs a separate repository for each SFOS release (which is the approach all major Linux distros take and what the SFOS-OBS does in an extreme way for every point release, too) or a mechanism which is usually called "repository pinning", but IIRC it is Jolla's local package management infrastructure preventing that by not supporting "repo pinning" (I wonder why, because zypper / libzypp does, but never researched this). Even though I like and feel familiar with OpenRepos, technically SailfishOS:Chum is the way to go. But politically Jolla's management still has not committed themself to run the SFOS-OBS sustainably, so the basis of the SailfishOS:Chum community repository may vanish any time. In contrast to that OpenRepos is hosted at Hetzner (one of the biggest provider for "virtual servers" in Germany) and has survived 15 years, despite solely being financed by donations.

CvWild commented 1 year ago

Can confirm it works now. Just installed it from stroreman.

Olf0 commented 1 year ago

Thank you!