Hello community,
here is the log from the commit of package kdelibs4 for openSUSE:Factory
checked in at Fri Sep 25 00:26:46 CEST 2009.
--------
--- KDE/kdelibs4/kdelibs4.changes 2009-09-16 20:24:21.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdelibs4/kdelibs4.changes 2009-09-24 15:14:27.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Sep 24 12:24:18 UTC 2009 - beineri@opensuse.org
+
+- created kdelibs4-branding-upstream subpackage for app about pages
+- add Fedora PolicyKit patch to allow partition mount (bnc#533246)
+- update 4_3_BRANCH.diff:
+ - Logout from utmp when the KPtyProcess finishes
+ - Fix kio_http to be able to authenticate against a http server
+ that returns no body with 401 error code like eGroupware
+ - several minor khtml and plasma bug fixes
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
policykit-workaround.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs4.spec ++++++
--- /var/tmp/diff_new_pack.Xeffcc/_old 2009-09-25 00:25:49.000000000 +0200
+++ /var/tmp/diff_new_pack.Xeffcc/_new 2009-09-25 00:25:49.000000000 +0200
@@ -43,7 +43,7 @@
Summary: KDE Base Libraries
Url: http://www.kde.org
Version: 4.3.1
-Release: 2
+Release: 3
Requires: libstrigi0 >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`)
Requires: soprano >= %( echo `rpm -q --queryformat '%{VERSION}' libsoprano-devel`)
Recommends: strigi >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`)
@@ -71,6 +71,7 @@
Patch18: plasma-libs.diff
Patch19: oom-protect.diff
Patch20: ignore-inline-menu.diff
+Patch21: policykit-workaround.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %suse_version > 1010
%requires_ge libqt4-x11
@@ -80,6 +81,7 @@
%if 0%{?opensuse_bs}
%define debug_package_requires %name = %version-%release libqt4-debuginfo
%endif
+Requires: %name-branding = 11.2
%description
This package contains the basic packages of the K Desktop Environment.
@@ -94,6 +96,24 @@
--------
The KDE Team
+%package branding-upstream
+Summary: KDE Base Libraries
+License: LGPL v2.1 or later
+Group: System/GUI/KDE
+Provides: %{name}-branding = 11.2
+Conflicts: otherproviders(%{name}-branding)
+Supplements: packageand(kdelibs4:branding-upstream)
+
+%description branding-upstream
+This package contains the basic packages for a K Desktop Environment
+branding.
+
+
+
+Authors:
+--------
+ The KDE Team
+
%prep
%setup -q -n kdelibs-%version
%patch0
@@ -113,6 +133,7 @@
%patch18
%patch19
%patch20
+%patch21 -p1
#
# define KDE version exactly
#
@@ -295,6 +316,11 @@
%postun -n libkde4 -p /sbin/ldconfig
+%files branding-upstream
+%defattr(-,root,root)
+%doc COPYING.LIB
+%_kde4_appsdir/kdeui/about/body-background.jpg
+
%files -n libkde4
%defattr(-,root,root)
%doc COPYING COPYING.DOC COPYING.LIB README
@@ -371,6 +397,7 @@
%exclude %_kde4_bindir/meinproc4
%exclude %_kde4_appsdir/ksgmltools2
%exclude %_kde4_appsdir/cmake
+%exclude %_kde4_appsdir/kdeui/about/body-background.jpg
%config %_kde_config_dir/*
%dir %_kde4_sysconfdir/xdg/menus
%dir %_kde4_libdir/kde4
++++++ 4_3_BRANCH.diff ++++++
++++ 3836 lines (skipped)
++++ between KDE/kdelibs4/4_3_BRANCH.diff
++++ and /mounts/work_src_done/STABLE/kdelibs4/4_3_BRANCH.diff
++++++ policykit-workaround.patch ++++++
diff -Naur kdelibs-4.1.72.policykit/solid/solid/backends/hal/halstorageaccess.cpp kdelibs-4.1.72/solid/solid/backends/hal/halstorageaccess.cpp
--- kdelibs-4.1.72.policykit/solid/solid/backends/hal/halstorageaccess.cpp 2008-11-04 18:13:11.000000000 +0100
+++ kdelibs-4.1.72/solid/solid/backends/hal/halstorageaccess.cpp 2008-11-10 18:45:41.000000000 +0100
@@ -17,6 +17,8 @@
*/
+#include // for LIBEXEC_INSTALL_DIR
+
#include "halstorageaccess.h"
#include "halfstabhandling.h"
@@ -172,11 +174,21 @@
{
// TODO: Better error reporting here
if (m_setupInProgress) {
+ if (error.name() == "org.freedesktop.Hal.Device.PermissionDeniedByPolicy") {
+ if (callPrivilegedMount())
+ return;
+ // if we fail to run kdesu, fall through and emit the original PermissionDeniedByPolicy error
+ }
m_setupInProgress = false;
emit setupDone(Solid::UnauthorizedOperation,
error.name()+": "+error.message(),
m_device->udi());
} else if (m_teardownInProgress) {
+ if (error.name() == "org.freedesktop.Hal.Device.PermissionDeniedByPolicy") {
+ if (callPrivilegedUnmount())
+ return;
+ // if we fail to run kdesu, fall through and emit the original PermissionDeniedByPolicy error
+ }
m_teardownInProgress = false;
emit teardownDone(Solid::UnauthorizedOperation,
error.name()+": "+error.message(),
@@ -294,8 +306,9 @@
#else
QString uid="uid=";
#endif
- if (halOptions.contains(uid)) {
- options << uid+QString::number(::getuid());
+ if (halOptions.contains(uid) &&
+ (fstype == "vfat" || fstype == "iso9660" || fstype == "hfs" || fstype == "udf")) {
+ options << uid+QString::number(::getuid());
}
#ifdef Q_OS_FREEBSD
@@ -333,6 +346,59 @@
SLOT(slotDBusError(const QDBusError &)));
}
+bool Solid::Backends::Hal::StorageAccess::callPrivilegedMount()
+{
+ QString udi = m_device->udi();
+ QString options;
+ QStringList halOptions = m_device->property("volume.mount.valid_options").toStringList();
+ QString fstype = m_device->property("volume.fstype").toString();
+
+ if (halOptions.contains("uid=")
+ && (fstype == "vfat" || fstype == "iso9660" || fstype == "hfs" || fstype == "udf")) {
+ options = "uid="+QString::number(::getuid());
+ }
+
+ m_process = new QProcess(this);
+
+ connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT(slotProcessFinished(int, QProcess::ExitStatus)));
+
+ m_process->start(LIBEXEC_INSTALL_DIR "/kdesu", QStringList() << "-d" << "-t"
+ << "--noignorebutton" << "-c"
+ << QString::fromLatin1("dbus-send --system --print-reply --dest=org.freedesktop.Hal %1 "
+ "org.freedesktop.Hal.Device.Volume.Mount string: string: "
+ "array:string:%2").arg(udi).arg(options));
+
+ if (m_process->waitForStarted()) {
+ return true;
+ } else {
+ delete m_process;
+ return false;
+ }
+}
+
+bool Solid::Backends::Hal::StorageAccess::callPrivilegedUnmount()
+{
+ QString udi = m_device->udi();
+
+ m_process = new QProcess(this);
+
+ connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT(slotProcessFinished(int, QProcess::ExitStatus)));
+
+ m_process->start(LIBEXEC_INSTALL_DIR "/kdesu", QStringList() << "-d" << "-t"
+ << "--noignorebutton" << "-c"
+ << QString::fromLatin1("dbus-send --system --print-reply --dest=org.freedesktop.Hal %1 "
+ "org.freedesktop.Hal.Device.Volume.Unmount array:string:").arg(udi));
+
+ if (m_process->waitForStarted()) {
+ return true;
+ } else {
+ delete m_process;
+ return false;
+ }
+}
+
bool StorageAccess::callHalVolumeUnmount()
{
QDBusConnection c = QDBusConnection::systemBus();
diff -Naur kdelibs-4.1.72.policykit/solid/solid/backends/hal/halstorageaccess.h kdelibs-4.1.72/solid/solid/backends/hal/halstorageaccess.h
--- kdelibs-4.1.72.policykit/solid/solid/backends/hal/halstorageaccess.h 2008-05-21 13:07:38.000000000 +0200
+++ kdelibs-4.1.72/solid/solid/backends/hal/halstorageaccess.h 2008-11-10 18:45:01.000000000 +0100
@@ -69,6 +69,9 @@
bool callSystemMount();
bool callSystemUnmount();
+ bool callPrivilegedMount();
+ bool callPrivilegedUnmount();
+
bool requestPassphrase();
void callCryptoSetup(const QString &passphrase);
bool callCryptoTeardown();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org