On Saturday, September 12, 2015 07:13:00 PM Scott Kitterman wrote:
> On Saturday, September 12, 2015 11:01:15 PM Gregor Riepl wrote:
...
> > May I suggest making kde-runtime depend on libkf5wallet-bin?
> > That would be the most appropriate place, I think...
> 
> No.  kde-runtime is KDE4 and will eventually go away.  It's not surprising
> not everything works when recommends are disabled, but I'll have a look and
> see if there should be a dependency relationship somewhere.

OK.  I took a look and I believe I understand the situation.  Out of the 
binary packages built from the kwallet-kf5 source package, three are relevant 
to this issue: libkf5wallet-bin, libkf5wallet5, and  libkwalletbackend5-5.

Package: libkf5wallet-bin
Depends: libkf5wallet5 (>= 4.96.0), libkwalletbackend5-5 (>= 4.96.0)

Package: libkf5wallet5
Depends: libkwalletbackend5-5 (= 5.13.0-1)
Recommends: libkf5wallet-bin (= 5.13.0-1)

Package: libkwalletbackend5-5
Depends: 
Recommends: libkf5wallet-bin (= 5.13.0-1)

That's done that way to prevent a dependency loop (and an example of why 
turning off Recommends is a bad idea.

Looking externally, neither libkwalletbackend5-5 nor libkf5wallet-bin have 
external rdepends, but libkf5wallet5 does:

$reverse-depends libkf5wallet5
Reverse-Depends
===============
* kate
* kio
* konversation
* ksshaskpass
* kwalletmanager
* libkf5khtml5
* libkf5wallet-bin
* libkf5wallet-dev
* libkf5wallet5-dbg
* libkf5webkit5
* plasma-desktop
* plasma-nm
* plasma-workspace

kwalletmanager is a depends of kde-standard.

Based on this, it's quite easy to see how if a user doesn't install recommends 
they end up with a broken kwallet.  While I generally think that if you 
disable recommends and something breaks, it's not a bug, in this case, because 
recommends are only being used to avoid a dependemcy loop, I think it is a 
bug.

Proposed fix (for comment):

Since libkf5wallet5 is what is pulled in by other packages, it's the one that 
should have a hard depends on libkf5wallet-bin and libkwalletbackend5-5 to 
ensure users get a working system.  Those two packages can then Recommend 
libkf5wallet5 so there's still no loop.  Here's what I propose:

Package: libkf5wallet-bin
Depends: libkwalletbackend5-5 (>= 4.96.0)
Recommends: libkf5wallet5 (>= 4.96.0)

Package: libkf5wallet5
Depends: libkwalletbackend5-5 (= 5.13.0-1),  libkf5wallet-bin (= 5.13.0-1)

Package: libkwalletbackend5-5
Depends: 
Recommends: libkf5wallet5 (= 5.13.0-1)

Comments?  If no one objects, I'll stage this for upload soon.

Scott K

Reply via email to