Bug 1768693 - Subversion-kde kwallet integration broken
Summary: Subversion-kde kwallet integration broken
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: subversion
Version: 31
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Joe Orton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1788465 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-05 02:15 UTC by Phil O
Modified: 2020-01-22 01:14 UTC (History)
3 users (show)

Fixed In Version: subversion-1.12.2-3.fc30
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-01-22 01:14:08 UTC
Type: Bug


Attachments (Terms of Use)

Description Phil O 2019-11-05 02:15:32 UTC
Description of problem:
After upgrading from F30 to F31, any svn command no longer interfaces with kwallet for saving of passwords.  Instead, an error is printed:
Subversion(<pid>)/kdeui (Wallet): Couldn't start kwalletd:  "Could not find service 'kwalletd.desktop'." 

Version-Release number of selected component (if applicable):
subversion-kde-1.12.2-1.fc31.x86_64

How reproducible:
100%

Steps to Reproduce:
1. svn up
2. enter password
3. get error

Actual results:
Subversion(<pid>)/kdeui (Wallet): Couldn't start kwalletd:  "Could not find service 'kwalletd.desktop'." 

Expected results:
Once the password has been entered correctly, it should be saved in the wallet and user should not be prompted again.

Comment 1 Joe Orton 2019-11-13 17:57:19 UTC
Is there a kwalletd service which should be running?  I'm not a KDE user and am not sure how this works.

Comment 2 Phil O 2019-11-14 16:18:56 UTC
Yes, there is:

$ ps -ef | grep wallet
phil        2191       1  0 07:04 ?        00:00:00 /usr/bin/kwalletd5 --pam-login 5 3

I'm wondering if the difference is that now the d-bus service is called kwalletd5 instead of kwalletd?  See below.  But this may have been the same in Fedora 30 - not sure.  

$ pwd
/usr/share/dbus-1/services

$ more org.kde.kwalletd5.service
[D-BUS Service]
Name=org.kde.kwalletd5
Exec=/usr/bin/kwalletd5

Comment 3 Phil O 2019-11-17 16:30:34 UTC
Ignore my last comment - F30 was the same.  But I do note that F31 only has this:

/usr/share/kservices5/kwalletd5.desktop

while F30 had 2 kde services:

/usr/share/kservices5/kwalletd.desktop
/usr/share/kservices5/kwalletd5.desktop

Unfortunately I tried adding kwalletd.desktop and it didn't help.

Comment 4 Phil O 2020-01-02 03:14:15 UTC
The problem is solely in the spec file, as it has never been updated for KF5, so it always builds kde4 support into the package.  The below patch to the spec file makes it recognize that we are on a KDE 5 system.  Unfortunately, I now see "org.kde.kwindowsystem: Could not find any platform plugin" on every svn action, but at least kwallet is able to cache passwords again, which is a step in the right direction.  @Joe Orton - please apply.

--- subversion.spec.orig        2019-07-25 01:12:25.000000000 -0700
+++ subversion.spec     2020-01-01 19:10:03.889613273 -0800
@@ -142,7 +142,7 @@
 %package kde
 Summary: KDE Wallet support for Subversion
 Requires: subversion%{?_isa} = %{version}-%{release}
-BuildRequires: kdelibs-devel >= 4.0.0
+BuildRequires: qt5-devel >= 5.0.0, kf5-kwallet-devel, kf5-ki18n-devel, kf5-kcoreaddons-devel
 
 %description kde
 The subversion-kde package adds support for storing Subversion
@@ -249,7 +249,7 @@
         --with-junit=%{_prefix}/share/java/junit.jar \
 %endif
 %if %{with kwallet}
-        --with-kwallet=%{_includedir}/kde4:%{_libdir}/kde4/devel \
+        --with-kwallet=%{_includedir}:%{_libdir} \
 %endif
 %if %{with bdb}
         --with-berkeley-db \

Comment 6 Joe Orton 2020-01-06 10:40:25 UTC
Package: subversion-1.12.2-3.fc32
Build: https://koji.fedoraproject.org/koji/buildinfo?buildID=1426443

Comment 7 Joe Orton 2020-01-06 13:19:38 UTC
Package: subversion-1.12.2-3.fc31
Build: https://koji.fedoraproject.org/koji/buildinfo?buildID=1426517

Comment 8 Fedora Update System 2020-01-06 15:29:40 UTC
FEDORA-2020-389c044dc4 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-389c044dc4

Comment 9 Joe Orton 2020-01-06 15:30:28 UTC
Thanks Phil - I've pushed this to the update above.

Please test and confirm the fix.

Comment 10 Fedora Update System 2020-01-07 01:07:35 UTC
subversion-1.12.2-3.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-389c044dc4

Comment 11 Joe Orton 2020-01-07 12:06:18 UTC
*** Bug 1788465 has been marked as a duplicate of this bug. ***

Comment 12 Phil O 2020-01-07 15:37:39 UTC
Updated RPM works for me, thanks!

Comment 13 Fedora Update System 2020-01-13 02:19:46 UTC
subversion-1.12.2-3.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Joe Orton 2020-01-13 10:13:00 UTC
Package: subversion-1.12.2-3.fc30
Build: https://koji.fedoraproject.org/koji/buildinfo?buildID=1428705

Comment 15 Emil Grzejdziak 2020-01-13 19:09:13 UTC
Looks like package for F30 also works fine, thanks.

Comment 16 Fedora Update System 2020-01-14 02:48:27 UTC
subversion-1.12.2-3.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc93756dc3

Comment 17 Fedora Update System 2020-01-22 01:14:08 UTC
subversion-1.12.2-3.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.