rpms/kdelibs4/F-8 kdelibs-4.0.2-policykit-workaround.patch, NONE, 1.1 kdelibs-4.0.3-fedora-buildtype.patch, NONE, 1.1 kdelibs-4.0.3-kconfig_sync_crash.patch, NONE, 1.1 kdelibs-4.0.3-klauncher-crash.patch, NONE, 1.1 kdelibs-4.0.3-libexecdir.patch, NONE, 1.1 kdelibs-4.x-xdg-menu.patch, NONE, 1.1 .cvsignore, 1.8, 1.9 kdelibs4.spec, 1.13, 1.14 sources, 1.8, 1.9 kdelibs-4.0.x-kio.patch, 1.1, NONE

Rex Dieter (rdieter) fedora-extras-commits at redhat.com
Thu Apr 17 15:07:20 UTC 2008


Author: rdieter

Update of /cvs/pkgs/rpms/kdelibs4/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27588/F-8

Modified Files:
	.cvsignore kdelibs4.spec sources 
Added Files:
	kdelibs-4.0.2-policykit-workaround.patch 
	kdelibs-4.0.3-fedora-buildtype.patch 
	kdelibs-4.0.3-kconfig_sync_crash.patch 
	kdelibs-4.0.3-klauncher-crash.patch 
	kdelibs-4.0.3-libexecdir.patch kdelibs-4.x-xdg-menu.patch 
Removed Files:
	kdelibs-4.0.x-kio.patch 
Log Message:
sync with kdelibs/devel


kdelibs-4.0.2-policykit-workaround.patch:

--- NEW FILE kdelibs-4.0.2-policykit-workaround.patch ---
diff -ur kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp kdelibs-4.0.2-userdiskmount/solid/solid/backends/hal/halstorageaccess.cpp
--- kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp	2008-01-05 01:00:10.000000000 +0100
+++ kdelibs-4.0.2-userdiskmount/solid/solid/backends/hal/halstorageaccess.cpp	2008-03-18 11:00:40.000000000 +0100
@@ -20,6 +20,7 @@
 #include "halstorageaccess.h"
 
 #include <QtCore/QDebug>
+#include <QtCore/QProcess>
 #include <QtDBus/QDBusConnection>
 #include <QtDBus/QDBusInterface>
 #include <QtDBus/QDBusReply>
@@ -131,11 +132,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(),
@@ -229,8 +240,10 @@
                                                       "Mount");
     QStringList options;
     QStringList halOptions = m_device->property("volume.mount.valid_options").toStringList();
+    QString fstype = m_device->property("volume.fstype").toString();
 
-    if (halOptions.contains("uid=")) {
+    if (halOptions.contains("uid=")
+        && (fstype == "vfat" || fstype == "iso9660" || fstype == "hfs" || fstype == "udf")) {
         options << "uid="+QString::number(::getuid());
     }
 
@@ -256,6 +269,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 Solid::Backends::Hal::StorageAccess::callSystemMount()
 {
     const QString device = m_device->property("block.device").toString();
diff -ur kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.h kdelibs-4.0.2-userdiskmount/solid/solid/backends/hal/halstorageaccess.h
--- kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.h	2008-01-05 01:00:11.000000000 +0100
+++ kdelibs-4.0.2-userdiskmount/solid/solid/backends/hal/halstorageaccess.h	2008-03-18 09:26:39.000000000 +0100
@@ -69,6 +69,9 @@
     bool callSystemMount();
     bool callSystemUnmount();
 
+    bool callPrivilegedMount();
+    bool callPrivilegedUnmount();
+
     bool requestPassphrase();
     void callCryptoSetup(const QString &passphrase);
     bool callCryptoTeardown();
diff -up kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp.orig kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp
--- kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp.orig	2008-03-26 17:00:23.000000000 +0100
+++ kdelibs-4.0.2/solid/solid/backends/hal/halstorageaccess.cpp	2008-03-26 17:04:35.000000000 +0100
@@ -17,6 +17,8 @@
 
 */
 
+#include <config-prefix.h> // for LIBEXEC_INSTALL_DIR
+
 #include "halstorageaccess.h"
 
 #include <QtCore/QDebug>

kdelibs-4.0.3-fedora-buildtype.patch:

--- NEW FILE kdelibs-4.0.3-fedora-buildtype.patch ---
diff -ur kdelibs-4.0.3/cmake/modules/FindKDE4Internal.cmake kdelibs-4.0.3-fedora-buildtype/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.0.3/cmake/modules/FindKDE4Internal.cmake	2008-03-27 21:33:23.000000000 +0100
+++ kdelibs-4.0.3-fedora-buildtype/cmake/modules/FindKDE4Internal.cmake	2008-03-31 17:34:40.000000000 +0200
@@ -882,11 +882,13 @@
    set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
    set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
    set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
+   set(CMAKE_CXX_FLAGS_FEDORA         "-DNDEBUG")
    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
    set(CMAKE_C_FLAGS_RELEASE          "-O2 -DNDEBUG -DQT_NO_DEBUG")
    set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
    set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
    set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
+   set(CMAKE_C_FLAGS_FEDORA           "-DNDEBUG")
 
    if (CMAKE_SYSTEM_NAME MATCHES Linux)
      set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")

kdelibs-4.0.3-kconfig_sync_crash.patch:

--- NEW FILE kdelibs-4.0.3-kconfig_sync_crash.patch ---
Index: kdelibs/kdecore/kernel/kglobal.cpp
===================================================================
--- kdelibs/kdecore/kernel/kglobal.cpp	(Revision 791351)
+++ kdelibs/kdecore/kernel/kglobal.cpp	(Revision 791352)
@@ -28,6 +28,12 @@
 #include "kglobal.h"
 #include "kglobal_p.h"
 
+#include <config.h>
+
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+
 #include <QtCore/QList>
 #include <QtCore/QSet>
 
@@ -64,6 +70,10 @@
             locale(0),
             charsets(0)
         {
+            // the umask is read here before any threads are created to avoid race conditions
+            mode_t tmp = 0;
+            umsk = umask(tmp);
+            umask(umsk);
         }
 
         inline ~KGlobalPrivate()
@@ -81,6 +91,7 @@
         KStringDict *stringDict;
         KLocale *locale;
         KCharsets *charsets;
+        mode_t umsk;
 };
 
 K_GLOBAL_STATIC(KGlobalPrivate, globalData)
@@ -151,6 +162,12 @@
     return d->charsets;
 }
 
+mode_t KGlobal::umask()
+{
+    PRIVATE_DATA;
+    return d->umsk;
+}
+
 KComponentData KGlobal::activeComponent()
 {
     PRIVATE_DATA;
Index: kdelibs/kdecore/kernel/kglobal.h
===================================================================
--- kdelibs/kdecore/kernel/kglobal.h	(Revision 791351)
+++ kdelibs/kdecore/kernel/kglobal.h	(Revision 791352)
@@ -21,7 +21,9 @@
 
 #include <kdecore_export.h>
 #include <QtCore/QAtomicPointer>
+#include <sys/types.h>
 
+
 //
 // WARNING!!
 // This code uses undocumented Qt API
@@ -354,6 +356,12 @@
     KDECORE_EXPORT KCharsets *charsets();
 
     /**
+     * Returns the umask of the process.
+     * @return the umask of the process
+     */
+    KDECORE_EXPORT mode_t umask();
+
+    /**
      * Creates a static QString.
      *
      * To be used inside functions(!) like:
Index: kdelibs/kdecore/io/ksavefile.cpp
===================================================================
--- kdelibs/kdecore/io/ksavefile.cpp	(Revision 791351)
+++ kdelibs/kdecore/io/ksavefile.cpp	(Revision 791352)
@@ -119,6 +119,10 @@
         if (!fchown(tempFile.handle(), fi.ownerId(), fi.groupId()))
             tempFile.setPermissions(fi.permissions());
     }
+    else {
+        mode_t umsk = KGlobal::umask();
+        fchmod(tempFile.handle(), 0666&(~umsk));
+    }
 
     //Open oursleves with the temporary file
     QFile::setFileName(tempFile.fileName());
Index: kdelibs/kdecore/io/ktempdir.cpp
===================================================================
--- kdelibs/kdecore/io/ktempdir.cpp	(Revision 791351)
+++ kdelibs/kdecore/io/ktempdir.cpp	(Revision 791352)
@@ -94,9 +94,7 @@
    d->tmpName = QFile::decodeName(realNameStr)+'/';
    kDebug(180) << "KTempDir: Temporary directory created :" << d->tmpName
 	        << endl;
-   mode_t tmp = 0;
-   mode_t umsk = umask(tmp);
-   umask(umsk);
+   mode_t umsk = KGlobal::umask();
    chmod(nme, mode&(~umsk));
 
    // Success!
Index: kdelibs/kdecore/kernel/kglobal.cpp
===================================================================
--- kdelibs/kdecore/kernel/kglobal.cpp	(Revision 793503)
+++ kdelibs/kdecore/kernel/kglobal.cpp	(Revision 793504)
@@ -46,6 +46,7 @@
 #include <QtCore/QCoreApplication>
 #include <QtCore/QTextCodec>
 #include "kcmdlineargs.h"
+#include <unistd.h> // umask
 
 #ifndef NDEBUG
 #define MYASSERT(x) if (!x) \
@@ -61,6 +62,7 @@
 Q_CONSTRUCTOR_FUNCTION(qrand)
 
 typedef QSet<QString> KStringDict;
+mode_t s_umsk;
 
 class KGlobalPrivate
 {
@@ -72,8 +74,8 @@
         {
             // the umask is read here before any threads are created to avoid race conditions
             mode_t tmp = 0;
-            umsk = umask(tmp);
-            umask(umsk);
+            s_umsk = umask(tmp);
+            umask(s_umsk);
         }
 
         inline ~KGlobalPrivate()
@@ -91,7 +93,6 @@
         KStringDict *stringDict;
         KLocale *locale;
         KCharsets *charsets;
-        mode_t umsk;
 };
 
 K_GLOBAL_STATIC(KGlobalPrivate, globalData)
@@ -164,8 +165,8 @@
 
 mode_t KGlobal::umask()
 {
-    PRIVATE_DATA;
-    return d->umsk;
+    // Don't use PRIVATE_DATA here. This is called by ~KGlobalPrivate -> ~KConfig -> sync -> KSaveFile, so there's no KGlobalPrivate anymore.
+    return s_umsk;
 }
 
 KComponentData KGlobal::activeComponent()

kdelibs-4.0.3-klauncher-crash.patch:

--- NEW FILE kdelibs-4.0.3-klauncher-crash.patch ---
Index: kdelibs/kinit/klauncher.cpp
===================================================================
--- kdelibs/kinit/klauncher.cpp	(Revision 792865)
+++ kdelibs/kinit/klauncher.cpp	(Revision 792866)
@@ -231,16 +231,19 @@
 {
 #ifdef Q_WS_X11
    if( mCached_dpy != NULL )
+   {
        XCloseDisplay( mCached_dpy );
+       mCached_dpy = NULL;
+   }
 #endif
 }
 
 void
-KLauncher::destruct(int exit_code)
+KLauncher::destruct()
 {
     if (QCoreApplication::instance()) ((KLauncher*)QCoreApplication::instance())->close();
     // We don't delete the app here, that's intentional.
-    ::_exit(exit_code);
+    ::_exit(255);
 }
 
 void KLauncher::setLaunchEnv(const QString &name, const QString &value)
@@ -312,7 +315,7 @@
       kDebug(7016) << "Exiting on read_socket errno:" << errno;
       ::signal( SIGHUP, SIG_IGN);
       ::signal( SIGTERM, SIG_IGN);
-      destruct(255); // Exit!
+      destruct(); // Exit!
    }
    requestData.resize(request_header.arg_length);
    result = read_socket(kdeinitSocket, (char *) requestData.data(),
Index: kdelibs/kinit/klauncher_main.cpp
===================================================================
--- kdelibs/kinit/klauncher_main.cpp	(Revision 792865)
+++ kdelibs/kinit/klauncher_main.cpp	(Revision 792866)
@@ -35,13 +35,15 @@
 #include <QtCore/QCoreApplication>
 
 #ifndef Q_WS_WIN
+static int sigpipe[ 2 ];
 static void sig_handler(int sig_num)
 {
    // No recursion
    signal( SIGHUP, SIG_IGN);
    signal( SIGTERM, SIG_IGN);
-fprintf(stderr, "klauncher: Exiting on signal %d\n", sig_num);
-   KLauncher::destruct(255);
+   fprintf(stderr, "klauncher: Exiting on signal %d\n", sig_num);
+   char tmp = 'x';
+   write( sigpipe[ 1 ], &tmp, 1 );
 }
 #endif
 
@@ -103,6 +105,9 @@
    QDBusConnection::sessionBus().registerObject("/", launcher);
 
 #ifndef Q_WS_WIN
+   pipe( sigpipe );
+   QSocketNotifier* signotif = new QSocketNotifier( sigpipe[ 0 ], QSocketNotifier::Read, launcher );
+   QObject::connect( signotif, SIGNAL( activated( int )), launcher, SLOT( destruct()));
    KCrash::setEmergencySaveFunction(sig_handler);
    signal( SIGHUP, sig_handler);
    signal( SIGPIPE, SIG_IGN);
Index: kdelibs/kinit/klauncher.h
===================================================================
--- kdelibs/kinit/klauncher.h	(Revision 792865)
+++ kdelibs/kinit/klauncher.h	(Revision 792866)
@@ -123,8 +123,10 @@
    ~KLauncher();
 
    void close();
-   static void destruct(int exit_code); // exit!
 
+public slots:
+   void destruct(); // exit!
+
 protected:
    void processDied(pid_t pid, long exitStatus);
 

kdelibs-4.0.3-libexecdir.patch:

--- NEW FILE kdelibs-4.0.3-libexecdir.patch ---
diff -ur kdelibs-4.0.3/kdecore/kernel/kstandarddirs.cpp kdelibs-4.0.3-libexecdir/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.0.3/kdecore/kernel/kstandarddirs.cpp	2008-03-27 21:33:34.000000000 +0100
+++ kdelibs-4.0.3-libexecdir/kdecore/kernel/kstandarddirs.cpp	2008-03-31 18:07:10.000000000 +0200
@@ -1585,7 +1585,7 @@
         addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
         index+=2;
     }
-    addResourceType("exe", "lib", "kde4/libexec", true );
+    addResourceType("exe", 0, "libexec/kde4", true );
 
     addResourceDir("home", QDir::homePath(), false);
 }
diff -ur kdelibs-4.0.3/kdecore/kernel/kstandarddirs_unix.cpp kdelibs-4.0.3-libexecdir/kdecore/kernel/kstandarddirs_unix.cpp
--- kdelibs-4.0.3/kdecore/kernel/kstandarddirs_unix.cpp	2008-03-27 21:27:35.000000000 +0100
+++ kdelibs-4.0.3-libexecdir/kdecore/kernel/kstandarddirs_unix.cpp	2008-03-31 17:54:58.000000000 +0200
@@ -62,7 +62,7 @@
             if (strcmp("lib", type) == 0)
                 return QString::fromLatin1(LIB_INSTALL_DIR "/");
             if (strcmp("libexec", type) == 0)
-                return QString::fromLatin1(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
+                return QString::fromLatin1(LIBEXEC_INSTALL_DIR "/");
             if (strcmp("locale", type) == 0)
                 return QString::fromLatin1(LOCALE_INSTALL_DIR "/");
             break;
diff -ur kdelibs-4.0.3/kdecore/tests/kstandarddirstest.cpp kdelibs-4.0.3-libexecdir/kdecore/tests/kstandarddirstest.cpp
--- kdelibs-4.0.3/kdecore/tests/kstandarddirstest.cpp	2008-03-27 21:33:34.000000000 +0100
+++ kdelibs-4.0.3-libexecdir/kdecore/tests/kstandarddirstest.cpp	2008-03-31 17:54:58.000000000 +0200
@@ -69,7 +69,7 @@
 #endif
     const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
     QVERIFY( !bin.isEmpty() );
-    QVERIFY( bin.endsWith( "kde4/libexec/kioslave" EXT ) );
+    QVERIFY( bin.endsWith( "kde4/libexec/kioslave" EXT ) || bin.endsWith( "libexec/kde4/kioslave" EXT ) );
     QVERIFY( !QDir::isRelativePath(bin) );
 
     const QString data = KGlobal::dirs()->findResource( "data", "katepart/syntax/sql.xml" );
@@ -164,7 +164,7 @@
     // findExe with a result in libexec
     const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
     QVERIFY( !lnusertemp.isEmpty() );
-    QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT ) );
+    QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT ) || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT ) );
 
     // Check the "exe" resource too
     QCOMPARE( KGlobal::dirs()->realFilePath(kdeinit),
diff -ur kdelibs-4.0.3/kio/tests/krununittest.cpp kdelibs-4.0.3-libexecdir/kio/tests/krununittest.cpp
--- kdelibs-4.0.3/kio/tests/krununittest.cpp	2008-03-27 21:27:16.000000000 +0100
+++ kdelibs-4.0.3-libexecdir/kio/tests/krununittest.cpp	2008-03-31 17:54:58.000000000 +0200
@@ -139,7 +139,7 @@
     if (kmailservice.isEmpty()) kmailservice = "kmailservice";
     if (!kdeinit.isEmpty()) {
         QVERIFY(!kmailservice.isEmpty());
-        QVERIFY(kmailservice.contains("kde4/libexec"));
+        QVERIFY(kmailservice.contains("kde4/libexec") || kmailservice.contains("libexec/kde4"));
     }
 
     QTest::newRow("%U l0") << "kdeinit4 %U" << l0 << false << kdeinit;

kdelibs-4.x-xdg-menu.patch:

--- NEW FILE kdelibs-4.x-xdg-menu.patch ---
--- kdelibs-4.0.2/kded/applications.menu.orig	2008-01-05 01:00:10.000000000 +0100
+++ kdelibs-4.0.2/kded/applications.menu	2008-03-28 12:49:11.000000000 +0100
@@ -31,12 +31,31 @@
 					<Category>Core</Category>
 					<Not><Category>KDE</Category></Not>
 				</And>
+				<Category>X-Red-Hat-Base</Category>
 				<!-- Don't list SUSE's YaST in here -->
 				<Category>X-SuSE-YaST</Category>
 			</Not>
 		</Include>
 	</Menu>
 	<Menu>
+		<Name>System Settings</Name>
+		<Directory>SystemConfig.directory</Directory>
+		<Include>
+			<And>
+				<Category>System</Category>
+				<Category>Settings</Category>
+				<Not><Category>X-Red-Hat-ServerConfig</Category></Not>
+			</And>
+		</Include>
+		<Menu>
+			<Name>Server</Name>
+			<Directory>ServerConfig.directory</Directory>
+			<Include>
+				<Category>X-Red-Hat-ServerConfig</Category>
+			</Include>
+		</Menu>
+	</Menu>
+	<Menu>
 		<Name>Development</Name>
 		<Directory>kde-development.directory</Directory>
 		<Menu>
@@ -341,7 +360,11 @@
 		<Name>Settingsmenu</Name>
 		<Directory>kde-settingsmenu.directory</Directory>
 		<Include>
-			<Category>Settings</Category>
+			<And>
+				<Category>Settings</Category>
+				<Not><Category>System</Category></Not>
+				<Not><Category>X-Red-Hat-ServerConfig</Category></Not>
+			</And>
 		</Include>
 	</Menu>
 	<Menu>
@@ -350,7 +373,9 @@
 		<Include>
 			<And>
 				<Category>System</Category>
+				<Not><Category>Settings</Category></Not>
 				<Not><Category>X-KDE-More</Category></Not>
+				<Not><Category>X-Red-Hat-ServerConfig</Category></Not>
 			</And>
 		</Include>
 		<Menu>


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs4/F-8/.cvsignore,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- .cvsignore	8 Mar 2008 19:01:21 -0000	1.8
+++ .cvsignore	17 Apr 2008 15:06:38 -0000	1.9
@@ -1 +1 @@
-kdelibs-4.0.2.tar.bz2
+kdelibs-4.0.3.tar.bz2


Index: kdelibs4.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs4/F-8/kdelibs4.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- kdelibs4.spec	10 Mar 2008 00:27:06 -0000	1.13
+++ kdelibs4.spec	17 Apr 2008 15:06:38 -0000	1.14
@@ -1,9 +1,7 @@
-# set this to 0 to disable -apidocs for a faster build
-%define apidocs 1
 
 Summary: K Desktop Environment 4 - Libraries
-Version: 4.0.2
-Release: 9%{?dist}
+Version: 4.0.3
+Release: 6%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdelibs
@@ -23,7 +21,13 @@
 Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/kdelibs-%{version}.tar.bz2
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-# for macros.kde4
+%ifarch noarch
+%define apidocs 1
+%else
+%define rest 1
+%endif
+
+BuildRequires: kde4-macros(api) >= 2
 BuildRequires: kde-filesystem >= 4
 Requires: dbus-x11
 Requires: hicolor-icon-theme
@@ -68,9 +72,19 @@
 # don't cache kdeglobals paths because they change after profile directories
 # are loaded from kde4rc
 Patch10: kdelibs-4.0.2-no-cache-kdeglobals-paths.patch
-
-# upstream patches
-Patch100: kdelibs-4.0.x-kio.patch
+# workaround for policykit
+Patch11: kdelibs-4.0.2-policykit-workaround.patch
+Patch12: kdelibs-4.x-xdg-menu.patch
+# Fedora build type - adds -DNDEBUG, removes -O2 -g (already in RPM_OPT_FLAGS)
+Patch13: kdelibs-4.0.3-fedora-buildtype.patch
+# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec
+Patch14: kdelibs-4.0.3-libexecdir.patch
+
+## upstream patches
+# based on SVN commit 793504 by dfaure
+# Move the umask value out of KConfigPrivate to avoid a crash on exit when ~KConfig calls sync.
+Patch100: kdelibs-4.0.3-kconfig_sync_crash.patch 
+Patch101: kdelibs-4.0.3-klauncher-crash.patch
 
 BuildRequires: qt4-devel >= 4.3.0
 Requires: qt4 >= %{_qt4_version} 
@@ -150,8 +164,10 @@
 %package apidocs
 Group: Development/Documentation
 Summary: KDE 4 API documentation
-Requires: %{name} = %{?epoch:%{epoch}:}%{version}
-%if "%{name}" == "kdelibs"
+# Not strictly required -- Rex
+# Requires: %{name} = %{?epoch:%{epoch}:}%{version}
+Requires: kde-filesystem
+%if "%{name}" != "kdelibs4"
 Provides: kdelibs4-apidocs = %{version}-%{release}
 #else
 # Don't do that for now, we'd need to make sure all Requires: kdelibs-apidocs
@@ -182,9 +198,13 @@
 %patch9 -p1 -b .branding
 sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanager.cpp
 %patch10 -p1 -b .no-cache-kdeglobals-paths
+%patch11 -p1 -b .policykit
+%patch12 -p1 -b .Administration-menu
+%patch13 -p1 -b .fedora-buildtype
+%patch14 -p1 -b .libexecdir
 
-# upstream patches
-%patch100 -p1 -b .kio
+%patch100 -p1 -b .kconfig_sync_crash
+%patch101 -p1 -b .klauncher-crash
 
 %build
 
@@ -193,10 +213,12 @@
 %{cmake_kde4} -DKDE_DISTRIBUTION_TEXT="%{version}-%{release} Fedora" ..
 popd
 
+%if 0%{?rest}
 make %{?_smp_mflags} -C %{_target_platform} VERBOSE=1
+%endif
 
 # build apidocs
-%if "%{?apidocs}" == "1"
+%if 0%{?apidocs}
 export QTDOCDIR=`pkg-config --variable=docdir Qt`
 doc/api/doxygen.sh .
 %endif
@@ -205,6 +227,7 @@
 %install
 rm -rf %{buildroot}
 
+%if 0%{?rest}
 make install DESTDIR=%{buildroot} -C %{_target_platform}
 
 # see also use-of/patching of XDG_MENU_PREFIX in kdebase
@@ -243,7 +266,10 @@
 
 # install apidocs and generator script
 install -p -D doc/api/doxygen.sh %{buildroot}%{_kde4_bindir}/kde4-doxygen.sh
-%if "%{?apidocs}" == "1"
+%endif
+
+%if 0%{?apidocs}
+mkdir -p %{buildroot}%{_kde4_docdir}/HTML/en
 cp -prf kdelibs-%{version}-apidocs %{buildroot}%{_kde4_docdir}/HTML/en/kdelibs4-apidocs
 %endif
 
@@ -263,6 +289,7 @@
 rm -rf %{buildroot}
 
 
+%if 0%{?rest}
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS README TODO
@@ -289,13 +316,13 @@
 %{_kde4_libdir}/libkdeinit4_*.so
 %dir %{_kde4_libdir}/kde4/
 %{_kde4_libdir}/kde4/*.so
-%{_kde4_libdir}/kde4/libexec/
+%{_kde4_libexecdir}/*
 %dir %{_kde4_libdir}/kde4/plugins/
 %{_kde4_libdir}/kde4/plugins/imageformats/
 %{_kde4_libdir}/kde4/plugins/phonon_platform/
 %{_kde4_sysconfdir}/xdg/menus/*.menu
 %doc %{_mandir}/man*/*
-%if "%{?apidocs}" == "1"
+%if 0%{?apidocs}
 %exclude %{_kde4_docdir}/HTML/en/kdelibs4-apidocs/
 %endif
 # kdelibs-common comes from here for fedora >= 9
@@ -327,8 +354,9 @@
 %{_kde4_includedir}/*
 %{_kde4_libdir}/kde4/devel/
 %{_kde4_libdir}/kde4/plugins/designer/
+%endif
 
-%if "%{?apidocs}" == "1"
+%if 0%{?apidocs}
 %files apidocs
 %defattr(-,root,root,-)
 %{_kde4_docdir}/HTML/en/kdelibs4-apidocs/
@@ -336,6 +364,38 @@
 
 
 %changelog
+* Fri Apr 04 2008 Than Ngo <than at redhat.com> -  4.0.3-6
+- apply upstream patch to fix klauncher crash
+- fix kconfig_sync_crash patch
+
+* Fri Apr  4 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.3-5
+- kconfig_sync_crash patch
+
+* Thu Apr  3 2008 Lukáš Tinkl <ltinkl at redhat.com> 4.0.3-4
+- rebuild for the new %%{_kde4_buildtype}
+
+* Mon Mar 31 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.3-3
+- patch and update file list for _kde4_libexecdir
+
+* Mon Mar 31 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.3-2
+- add Fedora build type (uses -DNDEBUG)
+
+* Fri Mar 28 2008 Than Ngo <than at redhat.com> 4.0.3-1
+- 4.0.3
+- -apidocs: drop Requires: %%name
+
+* Fri Mar 28 2008 Than Ngo <than at redhat.com> -  4.0.2-13
+- add Administration menu, bz#439378
+
+* Thu Mar 27 2008 Than Ngo <than at redhat.com> 4.0.2-12
+- bz#428212, adapted Kevin Kofler's workaround for Policykit
+
+* Thu Mar 20 2008 Rex Dieter <rdieter at fedoraproject.org> 4.0.2-11
+- apidocs subpackage should be noarch (#436579)
+
+* Mon Mar 10 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.2-10
+- work around #436725: BR: libtool-ltdl so graphviz gets a valid libltdl
+
 * Mon Mar 10 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.0.2-9
 - fix kdeglobals not being found in profile (e.g. kde-settings) directory
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs4/F-8/sources,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- sources	8 Mar 2008 19:01:21 -0000	1.8
+++ sources	17 Apr 2008 15:06:38 -0000	1.9
@@ -1 +1 @@
-4456adf94796a61c869c0803f7746bf9  kdelibs-4.0.2.tar.bz2
+7ac2cb9fb2eb24ea6b9d4babfb906101  kdelibs-4.0.3.tar.bz2


--- kdelibs-4.0.x-kio.patch DELETED ---




More information about the scm-commits mailing list