diff options
author | Johannes Huber <johu@gentoo.org> | 2014-07-24 18:20:33 +0000 |
---|---|---|
committer | Johannes Huber <johu@gentoo.org> | 2014-07-24 18:20:33 +0000 |
commit | 42970b02be8846bfb1975284241235e392d0a5d2 (patch) | |
tree | 14587f287e33ac0540c281eb53ea39d31ef588f3 /kde-base | |
parent | Use virtual/libgudev with := for automatic rebuild instead of virtual/udev. (diff) | |
download | gentoo-2-42970b02be8846bfb1975284241235e392d0a5d2.tar.gz gentoo-2-42970b02be8846bfb1975284241235e392d0a5d2.tar.bz2 gentoo-2-42970b02be8846bfb1975284241235e392d0a5d2.zip |
Revision bump adds backported Plasma 5 upstream patch by Michael Palimaka <kensington@gentoo.org>, which uses sys-apps/accountsservice at runtime, fixes bug #380899.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key F3CFD2BD)
Diffstat (limited to 'kde-base')
-rw-r--r-- | kde-base/kdepasswd/ChangeLog | 11 | ||||
-rw-r--r-- | kde-base/kdepasswd/files/kdepasswd-4.13.3-use-accountsservice.patch | 104 | ||||
-rw-r--r-- | kde-base/kdepasswd/kdepasswd-4.13.3-r1.ebuild (renamed from kde-base/kdepasswd/kdepasswd-4.13.3.ebuild) | 5 |
3 files changed, 118 insertions, 2 deletions
diff --git a/kde-base/kdepasswd/ChangeLog b/kde-base/kdepasswd/ChangeLog index abd1c1de6ff8..6ca74b7cce43 100644 --- a/kde-base/kdepasswd/ChangeLog +++ b/kde-base/kdepasswd/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for kde-base/kdepasswd # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepasswd/ChangeLog,v 1.326 2014/07/23 16:53:06 johu Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepasswd/ChangeLog,v 1.327 2014/07/24 18:20:33 johu Exp $ + +*kdepasswd-4.13.3-r1 (24 Jul 2014) + + 24 Jul 2014; Johannes Huber <johu@gentoo.org> + +files/kdepasswd-4.13.3-use-accountsservice.patch, + +kdepasswd-4.13.3-r1.ebuild, -kdepasswd-4.13.3.ebuild: + Revision bump adds backported Plasma 5 upstream patch by Michael Palimaka + <kensington@gentoo.org>, which uses sys-apps/accountsservice at runtime, fixes + bug #380899. 23 Jul 2014; Johannes Huber <johu@gentoo.org> -kdepasswd-4.13.2.ebuild: Remove KDE SC 4.13.2 diff --git a/kde-base/kdepasswd/files/kdepasswd-4.13.3-use-accountsservice.patch b/kde-base/kdepasswd/files/kdepasswd-4.13.3-use-accountsservice.patch new file mode 100644 index 000000000000..5a89d4d809db --- /dev/null +++ b/kde-base/kdepasswd/files/kdepasswd-4.13.3-use-accountsservice.patch @@ -0,0 +1,104 @@ +Use accountsservice instead of calling chfn directly. + +This avoids a potential error or crash when changing user account information. +Backported 77275f50241eb2f4e38051152074c379fa96fe84 and +23bbe79912ec21ded8fdfc595935f48a6d2298ea from Plasma 5. + +Gentoo bug #380899 +KDE bug #156396 + +--- a/kdepasswd/kcm/CMakeLists.txt ++++ b/kdepasswd/kcm/CMakeLists.txt +@@ -1,7 +1,6 @@ + add_subdirectory(pics) + + set(kcm_useraccount_PART_SRCS +- chfnprocess.cpp + main.cpp + chfacedlg.cpp) + +--- a/kdepasswd/kcm/main.cpp ++++ b/kdepasswd/kcm/main.cpp +@@ -49,7 +49,6 @@ + + #include "settings.h" + #include "pass.h" +-#include "chfnprocess.h" + #include <KPluginFactory> + #include <KPluginLoader> + +@@ -181,36 +180,27 @@ void KCMUserAccount::save() + /* Save realname to /etc/passwd */ + if ( _mw->leRealname->isModified() ) + { +- KPasswordDialog dlg( _mw ); +- dlg.setPrompt(i18n("Please enter your password in order to save your settings:")); +- if ( !dlg.exec() ) +- { +- KMessageBox::sorry( this, i18n("You must enter " +- "your password in order to change your information.")); +- return; +- } +- +- ChfnProcess *proc = new ChfnProcess(); +- int ret = proc->exec(dlg.password().toLocal8Bit() , _mw->leRealname->text().toLocal8Bit() ); +- if ( ret ) +- { +- if ( ret == ChfnProcess::PasswordError ) +- KMessageBox::sorry( this, i18n("You must enter a correct password.")); +- +- else +- { +- KMessageBox::sorry( this, i18n("An error occurred and your name has " +- "probably not been changed. The error " +- "message was:\n%1", QString::fromLocal8Bit(proc->error()))); +- kDebug() << "ChfnProcess->exec() failed. Error code: " << ret +- << "\nOutput:" << proc->error() << endl; +- } +- +- delete proc; +- return; +- } +- +- delete proc; ++ // save icon file also with accountsservice ++ QDBusInterface ainterface("org.freedesktop.Accounts", ++ "/org/freedesktop/Accounts", ++ "org.freedesktop.Accounts", ++ QDBusConnection::systemBus()); ++ QDBusReply<QDBusObjectPath> reply = ainterface.call("FindUserById", qlonglong(_ku->uid())); ++ if (reply.isValid() && !reply.error().isValid()) { ++ QDBusInterface uinterface("org.freedesktop.Accounts", ++ reply.value().path(), ++ "org.freedesktop.Accounts.User", ++ QDBusConnection::systemBus(), ++ this); ++ ++ QString name = _mw->leRealname->text(); ++ QDBusReply<void> ureply = uinterface.call("SetRealName", name); ++ if (!ureply.isValid() || ureply.error().isValid()) { ++ kDebug() << ureply.error().message(); ++ KMessageBox::error( this, i18n("There was an error setting the name: %1" , ++ name) ); ++ } ++ } + } + #endif + +@@ -243,10 +233,12 @@ void KCMUserAccount::save() + } + } + else { // delete existing image +- if ( !KIO::NetAccess::del(KCFGUserAccount::faceFile(), this) ) { +- KMessageBox::error( this, i18n("There was an error deleting the image: %1" , +- KCFGUserAccount::faceFile()) ); +- } ++ if (QFile::exists(KCFGUserAccount::faceFile())) { ++ if ( !KIO::NetAccess::del(KCFGUserAccount::faceFile(), this) ) { ++ KMessageBox::error( this, i18n("There was an error deleting the image: %1" , ++ KCFGUserAccount::faceFile()) ); ++ } ++ } + } + + /* Save KDE's homebrewn settings */
\ No newline at end of file diff --git a/kde-base/kdepasswd/kdepasswd-4.13.3.ebuild b/kde-base/kdepasswd/kdepasswd-4.13.3-r1.ebuild index 6172dafd7fa6..997f46a6bc51 100644 --- a/kde-base/kdepasswd/kdepasswd-4.13.3.ebuild +++ b/kde-base/kdepasswd/kdepasswd-4.13.3-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepasswd/kdepasswd-4.13.3.ebuild,v 1.1 2014/07/16 17:40:10 johu Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdepasswd/kdepasswd-4.13.3-r1.ebuild,v 1.1 2014/07/24 18:20:33 johu Exp $ EAPI=5 @@ -17,4 +17,7 @@ DEPEND=" " RDEPEND="${DEPEND} $(add_kdebase_dep kdesu) + sys-apps/accountsservice " + +PATCHES=( "${FILESDIR}/${P}-use-accountsservice.patch" ) |