* Tue May 06 2008 Rex Dieter <rdieter@fedoraproject.org> - 4.0.4-1

- kde-4.0.4
This commit is contained in:
Rex Dieter 2008-05-06 14:39:50 +00:00
parent d068411c50
commit 03502196b4
7 changed files with 47 additions and 311 deletions

View File

@ -1 +1 @@
kdelibs-4.0.3.tar.bz2
kdelibs-4.0.4.tar.bz2

View File

@ -1,156 +0,0 @@
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()

View File

@ -1,19 +0,0 @@
--- khtml/imload/decoders/pngloader.cpp
+++ khtml/imload/decoders/pngloader.cpp
@@ -109,6 +109,8 @@ private:
if (colorType == PNG_COLOR_TYPE_RGB)
colorType = PNG_COLOR_TYPE_RGB_ALPHA; //Paranoia..
+ else if (colorType == PNG_COLOR_TYPE_GRAY)
+ colorType = PNG_COLOR_TYPE_GRAY_ALPHA;
}
ImageFormat imFrm;
@@ -192,6 +194,7 @@ private:
{
if (interlaced)
{
+ Q_ASSERT(pngReadStruct->row_info.pixel_depth <= depth * 8);
requestScanline(rowNum, scanlineBuf);
png_progressive_combine_row(pngReadStruct, scanlineBuf, data);
notifyScanline(pass + 1, scanlineBuf);

View File

@ -1,83 +0,0 @@
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);

View File

@ -1,21 +1,6 @@
diff -up kdelibs-3.95.0/doc/api/doxygen-preprocess-kcfg.sh.parallel-devel kdelibs-3.95.0/doc/api/doxygen-preprocess-kcfg.sh
--- kdelibs-3.95.0/doc/api/doxygen-preprocess-kcfg.sh.parallel-devel 2007-07-26 05:40:17.000000000 -0500
+++ kdelibs-3.95.0/doc/api/doxygen-preprocess-kcfg.sh 2007-11-04 15:47:59.000000000 -0600
@@ -2,9 +2,9 @@
# Generates and cleans KConfigXT source code during a API dox build
#
-kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler"
+kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler4"
if test -z "$kcfg_compiler"; then
- echo "kconfig_compiler not found!"
+ echo "kconfig_compiler4 not found!"
exit 1;
fi
diff -up kdelibs-3.95.0/kdecore/kconfig_compiler/CMakeLists.txt.parallel-devel kdelibs-3.95.0/kdecore/kconfig_compiler/CMakeLists.txt
--- kdelibs-3.95.0/kdecore/kconfig_compiler/CMakeLists.txt.parallel-devel 2007-10-03 05:49:47.000000000 -0500
+++ kdelibs-3.95.0/kdecore/kconfig_compiler/CMakeLists.txt 2007-11-04 15:47:59.000000000 -0600
diff -up kdelibs-4.0.4/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.0.4/kdecore/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.0.4/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel 2008-05-01 05:17:14.000000000 -0500
+++ kdelibs-4.0.4/kdecore/kconfig_compiler/CMakeLists.txt 2008-05-06 07:59:48.000000000 -0500
@@ -8,11 +8,11 @@ add_subdirectory( example )
set(kconfig_compiler_SRCS kconfig_compiler.cpp)
@ -31,9 +16,9 @@ diff -up kdelibs-3.95.0/kdecore/kconfig_compiler/CMakeLists.txt.parallel-devel k
########### install files ###############
diff -up kdelibs-3.95.0/kdecore/kconfig_compiler/checkkcfg.pl.parallel-devel kdelibs-3.95.0/kdecore/kconfig_compiler/checkkcfg.pl
--- kdelibs-3.95.0/kdecore/kconfig_compiler/checkkcfg.pl.parallel-devel 2006-10-25 21:25:48.000000000 -0500
+++ kdelibs-3.95.0/kdecore/kconfig_compiler/checkkcfg.pl 2007-11-04 15:47:59.000000000 -0600
diff -up kdelibs-4.0.4/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel kdelibs-4.0.4/kdecore/kconfig_compiler/checkkcfg.pl
--- kdelibs-4.0.4/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel 2008-05-01 05:17:14.000000000 -0500
+++ kdelibs-4.0.4/kdecore/kconfig_compiler/checkkcfg.pl 2008-05-06 07:59:48.000000000 -0500
@@ -15,12 +15,12 @@ $file_cpp = "$filebase.cpp";
$kcfgc = $file . "c";
@ -49,9 +34,9 @@ diff -up kdelibs-3.95.0/kdecore/kconfig_compiler/checkkcfg.pl.parallel-devel kde
exit 1;
}
diff -up kdelibs-3.95.0/kdewidgets/CMakeLists.txt.parallel-devel kdelibs-3.95.0/kdewidgets/CMakeLists.txt
--- kdelibs-3.95.0/kdewidgets/CMakeLists.txt.parallel-devel 2007-10-03 05:50:13.000000000 -0500
+++ kdelibs-3.95.0/kdewidgets/CMakeLists.txt 2007-11-04 15:47:59.000000000 -0600
diff -up kdelibs-4.0.4/kdewidgets/CMakeLists.txt.parallel_devel kdelibs-4.0.4/kdewidgets/CMakeLists.txt
--- kdelibs-4.0.4/kdewidgets/CMakeLists.txt.parallel_devel 2008-05-01 05:15:39.000000000 -0500
+++ kdelibs-4.0.4/kdewidgets/CMakeLists.txt 2008-05-06 07:59:48.000000000 -0500
@@ -16,22 +16,22 @@ include_directories(
set(makekdewidgets_SRCS makekdewidgets.cpp )
@ -80,9 +65,24 @@ diff -up kdelibs-3.95.0/kdewidgets/CMakeLists.txt.parallel-devel kdelibs-3.95.0/
set(kdewidgets_PART_SRCS
classpreviews.cpp
diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel 2007-10-23 03:39:11.000000000 -0500
+++ kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake 2007-11-04 15:55:31.000000000 -0600
diff -up kdelibs-4.0.4/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel kdelibs-4.0.4/doc/api/doxygen-preprocess-kcfg.sh
--- kdelibs-4.0.4/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel 2008-05-01 05:14:03.000000000 -0500
+++ kdelibs-4.0.4/doc/api/doxygen-preprocess-kcfg.sh 2008-05-06 07:59:48.000000000 -0500
@@ -2,9 +2,9 @@
# Generates and cleans KConfigXT source code during a API dox build
#
-kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler"
+kcfg_compiler="`kde4-config --prefix`/bin/kconfig_compiler4"
if test -z "$kcfg_compiler"; then
- echo "kconfig_compiler not found!"
+ echo "kconfig_compiler4 not found!"
exit 1;
fi
diff -up kdelibs-4.0.4/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdelibs-4.0.4/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.0.4/cmake/modules/FindKDE4Internal.cmake.parallel_devel 2008-05-01 05:11:27.000000000 -0500
+++ kdelibs-4.0.4/cmake/modules/FindKDE4Internal.cmake 2008-05-06 08:04:22.000000000 -0500
@@ -15,10 +15,10 @@
# The following variables are defined for the various tools required to
# compile KDE software:
@ -105,7 +105,7 @@ diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdel
# for Qt Designer plugins.
#
# KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN)
@@ -272,24 +272,24 @@ if (_kdeBootStrapping)
@@ -274,24 +274,24 @@ if (_kdeBootStrapping)
if (WIN32)
set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH} )
# CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC
@ -136,13 +136,14 @@ diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdel
set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4)
set(KDE4_INSTALLED_VERSION_OK TRUE)
@@ -342,72 +342,72 @@ else (_kdeBootStrapping)
# this file contains all dependencies of all libraries of kdelibs, Alex
@@ -341,73 +341,73 @@ else (_kdeBootStrapping)
include(${kde_cmake_module_dir}/KDELibsDependencies.cmake)
- find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+ find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR}/kde4/devel NO_DEFAULT_PATH )
set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} )
if (UNIX)
- find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+ find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR}/kde4/devel NO_DEFAULT_PATH )
set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} )
endif (UNIX)
- find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+ find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR}/kde4/devel NO_DEFAULT_PATH )
@ -253,7 +254,7 @@ diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdel
# allow searching cmake modules in all given kde install locations (KDEDIRS based)
execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -585,7 +585,8 @@ set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SY
@@ -655,7 +655,8 @@ set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SY
"${_CMAKE_INSTALL_DIR}/bin"
"${CMAKE_INSTALL_PREFIX}/bin" )
@ -263,7 +264,7 @@ diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdel
"${KDE4_LIB_INSTALL_DIR}"
"${_CMAKE_INSTALL_DIR}/lib"
"${CMAKE_INSTALL_PREFIX}/lib" )
@@ -924,9 +925,9 @@ macro (KDE4_PRINT_RESULTS)
@@ -1048,9 +1049,9 @@ macro (KDE4_PRINT_RESULTS)
endif (NOT _kdeBootStrapping)
if(KDE4_KCFGC_EXECUTABLE)
@ -275,9 +276,9 @@ diff -up kdelibs-3.95.0/cmake/modules/FindKDE4Internal.cmake.parallel-devel kdel
endif(KDE4_KCFGC_EXECUTABLE)
if(KDE4_AUTOMOC_EXECUTABLE)
diff -up kdelibs-3.95.0/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel-devel kdelibs-3.95.0/kdeui/tests/kconfig_compiler/CMakeLists.txt
--- kdelibs-3.95.0/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel-devel 2007-10-03 05:50:15.000000000 -0500
+++ kdelibs-3.95.0/kdeui/tests/kconfig_compiler/CMakeLists.txt 2007-11-04 15:47:59.000000000 -0600
diff -up kdelibs-4.0.4/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.0.4/kdeui/tests/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.0.4/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel 2008-05-01 05:16:02.000000000 -0500
+++ kdelibs-4.0.4/kdeui/tests/kconfig_compiler/CMakeLists.txt 2008-05-06 07:59:48.000000000 -0500
@@ -9,7 +9,7 @@ macro(GEN_KCFG_TEST_SOURCE _testName _sr
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h

View File

@ -1,7 +1,7 @@
Summary: K Desktop Environment 4 - Libraries
Version: 4.0.3
Release: 7%{?dist}
Version: 4.0.4
Release: 1%{?dist}
%if 0%{?fedora} > 8
Name: kdelibs
@ -27,7 +27,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define rest 1
%endif
BuildRequires: kde4-macros(api) >= 2
BuildRequires: kde-filesystem >= 4
Requires: dbus-x11
Requires: hicolor-icon-theme
@ -49,7 +48,7 @@ Source1: kde4.sh
Source2: kde4.csh
# make -devel packages parallel-installable
Patch0: kdelibs-3.95.0-parallel_devel.patch
Patch0: kdelibs-4.0.4-parallel_devel.patch
# fix kde#149705
Patch2: kdelibs-3.95.0-kde149705.patch
# Force Phonon to use the ALSA default device by default
@ -79,14 +78,8 @@ Patch12: kdelibs-4.x-xdg-menu.patch
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
# Buffer overflow in KHTML's image loader
Patch15: kdelibs-4.0.3-khtml-security.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}
@ -204,10 +197,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%patch12 -p1 -b .Administration-menu
%patch13 -p1 -b .fedora-buildtype
%patch14 -p1 -b .libexecdir
%patch15 -p0 -b .khtml-security
%patch100 -p1 -b .kconfig_sync_crash
%patch101 -p1 -b .klauncher-crash
%build
@ -367,6 +357,9 @@ rm -rf %{buildroot}
%changelog
* Tue May 06 2008 Rex Dieter <rdieter@fedoraproject.org> - 4.0.4-1
- kde-4.0.4
* Tue Apr 22 2008 Lukáš Tinkl <ltinkl@redhat.com> - 4.0.3-7
- fix buffer overflow in KHTML's image loader (KDE advisory 20080426-1,
#443766: CVE-2008-1670)

View File

@ -1 +1 @@
7ac2cb9fb2eb24ea6b9d4babfb906101 kdelibs-4.0.3.tar.bz2
4b0ee355652e8ef90d454d605222a714 kdelibs-4.0.4.tar.bz2