summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--redhat/applications/kaffeine-mozilla/kaffeine-mozilla-3.5.13-fix_nspr_include.patch22
-rw-r--r--redhat/applications/kaffeine-mozilla/trinity-kaffeine-mozilla.spec16
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch56
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch11
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch118
-rw-r--r--redhat/applications/koffice/trinity-koffice.spec68
-rw-r--r--redhat/dependencies/qt3/qt3.spec72
-rw-r--r--redhat/kdebase/kdebase-3.5.13-engage_lock_in_near_real_time.patch252
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_kio_sftp.patch (renamed from redhat/kdebase/1335166907:e72f4926c094b2bd94501518fbcd2a3e66a74f6a.diff)0
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_kio_sftp_nonstandard_ports.patch23
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_kxdglauncher_document.patch (renamed from redhat/kdebase/1333232616:f752bcbf6585c61f414963ad83e1300a1da08504.diff)0
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_lock_failure.patch84
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_race_condition.patch22
-rw-r--r--redhat/kdebase/kdebase-3.5.13-start_dcop_in_tdm.patch34
-rw-r--r--redhat/kdebase/trinity-kdebase-3.5.13.spec28
-rw-r--r--redhat/kdevelop/kdevelop-3.5.13-gcc47.patch22
-rw-r--r--redhat/kdevelop/trinity-kdevelop-3.5.13.spec8
17 files changed, 767 insertions, 69 deletions
diff --git a/redhat/applications/kaffeine-mozilla/kaffeine-mozilla-3.5.13-fix_nspr_include.patch b/redhat/applications/kaffeine-mozilla/kaffeine-mozilla-3.5.13-fix_nspr_include.patch
new file mode 100644
index 000000000..210fff5f1
--- /dev/null
+++ b/redhat/applications/kaffeine-mozilla/kaffeine-mozilla-3.5.13-fix_nspr_include.patch
@@ -0,0 +1,22 @@
+--- kaffeine-mozilla/src/jni_md.h.ORI 2012-04-26 20:44:15.080210122 +0200
++++ kaffeine-mozilla/src/jni_md.h 2012-04-26 20:44:28.006895031 +0200
+@@ -40,7 +40,7 @@
+ #ifndef JNI_MD_H
+ #define JNI_MD_H
+
+-#include <nspr/prtypes.h> /* needed for _declspec */
++#include <nspr4/prtypes.h> /* needed for _declspec */
+
+ /*******************************************************************************
+ * WHAT'S UP WITH THIS FILE?
+--- kaffeine-mozilla/src/jri_md.h.ORI 2012-04-26 20:44:20.528077329 +0200
++++ kaffeine-mozilla/src/jri_md.h 2012-04-26 20:44:36.239694357 +0200
+@@ -43,7 +43,7 @@
+ #define JRI_MD_H
+
+ #include <assert.h>
+-#include <nspr/prtypes.h> /* Needed for HAS_LONG_LONG ifdefs */
++#include <nspr4/prtypes.h> /* Needed for HAS_LONG_LONG ifdefs */
+
+ #ifdef __cplusplus
+ extern "C" {
diff --git a/redhat/applications/kaffeine-mozilla/trinity-kaffeine-mozilla.spec b/redhat/applications/kaffeine-mozilla/trinity-kaffeine-mozilla.spec
index e693dadb9..8a037a459 100644
--- a/redhat/applications/kaffeine-mozilla/trinity-kaffeine-mozilla.spec
+++ b/redhat/applications/kaffeine-mozilla/trinity-kaffeine-mozilla.spec
@@ -1,7 +1,7 @@
# Default version for this component
%define kdecomp kaffeine-mozilla
-%define version 0.4.3.1.dfsg
-%define release 1
+%define version 0.4.3.1
+%define release 2
%define _prefix /usr
@@ -35,6 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{kdecomp}-3.5.13.tar.gz
+# Fix 'nspr' includes location
+Patch1: kaffeine-mozilla-3.5.13-fix_nspr_include.patch
BuildRequires: tqtinterface-devel
BuildRequires: trinity-kdelibs-devel
@@ -53,15 +55,12 @@ when a page containing a supported media format is loaded.
%prep
unset QTDIR; . /etc/profile.d/qt.sh
%setup -q -n applications/%{kdecomp}
+%patch1 -p1
%__cp -f "/usr/share/aclocal/libtool.m4" .
%__cp -f "/usr/share/libtool/config/ltmain.sh" .
-autoreconf
+autoreconf -fiv
-for i in src/jri_md.h src/jni_md.h; do
- %__sed -i "${i}" \
- -e "s|nspr/prtypes.h|nspr4/prtypes.h|g"
-done
%build
export PATH="%{_bindir}:${PATH}"
@@ -105,6 +104,9 @@ gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%Changelog
+* Thu Apr 26 2012 Francois Andriot <francois.andriot@free.fr> - 0.4.3.1-2
+- Rebuild with nicer patch.
+
* Sat Dec 03 2011 Francois Andriot <francois.andriot@free.fr> - 0.4.3.1.dfsg-1
- Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch b/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch
new file mode 100644
index 000000000..d632a9d79
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch
@@ -0,0 +1,56 @@
+--- koffice/chalk/plugins/viewplugins/scripting/chalkcore/krs_iterator.h.ORI 2012-04-26 20:22:29.322777779 +0200
++++ koffice/chalk/plugins/viewplugins/scripting/chalkcore/krs_iterator.h 2012-04-26 20:23:21.216311169 +0200
+@@ -137,12 +137,12 @@
+ }
+ initiales = initiales.upper();
+ // set/get general
+- addFunction("set" + initiales, &Iterator::setPixel);
+- addFunction("get" + initiales, &Iterator::getPixel);
++ this->addFunction("set" + initiales, &Iterator::setPixel);
++ this->addFunction("get" + initiales, &Iterator::getPixel);
+ kdDebug(41011) << ( "get" + initiales ) << endl;
+ // Various colorSpace
+- addFunction("invertColor", &Iterator::invertColor);
+- addFunction("darken", &Iterator::darken);
++ this->addFunction("invertColor", &Iterator::invertColor);
++ this->addFunction("darken", &Iterator::darken);
+ }
+
+ ~Iterator()
+--- koffice/filters/chalk/png/kis_png_converter.cc.gcc47 2012-04-26 16:38:35.805156927 -0400
++++ koffice/filters/chalk/png/kis_png_converter.cc 2012-04-26 16:49:27.179323394 -0400
+@@ -43,6 +43,8 @@
+ #include <kis_paint_layer.h>
+ #include <kis_group_layer.h>
+
++#include <zlib.h>
++
+ namespace {
+
+ const TQ_UINT8 PIXEL_BLUE = 0;
+@@ -222,6 +224,7 @@
+
+ // Read image profile
+ png_charp profile_name, profile_data;
++ unsigned char* uprofile_data = reinterpret_cast<unsigned char*>(profile_data);
+ int compression_type;
+ png_uint_32 proflen;
+ int number_of_passes = 1;
+@@ -230,7 +233,7 @@
+ number_of_passes = png_set_interlace_handling(png_ptr);
+
+ KisProfile* profile = 0;
+- if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &profile_data, &proflen))
++ if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &uprofile_data, &proflen))
+ {
+ TQByteArray profile_rawdata;
+ // XXX: Hardcoded for icc type -- is that correct for us?
+@@ -627,7 +630,7 @@
+ } else { // Profile
+ char* name = new char[(*it)->type().length()+1];
+ strcpy(name, (*it)->type().ascii());
+- png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (char*)(*it)->annotation().data(), (*it) -> annotation() . size());
++ png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (unsigned char*)(*it)->annotation().data(), (*it) -> annotation() . size());
+ }
+ ++it;
+ }
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch b/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch
new file mode 100644
index 000000000..cba4b2584
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch
@@ -0,0 +1,11 @@
+--- /dev/shm/applications/koffice/filters/chalk/png/kis_png_converter.cc 2011-06-27 13:54:18.000000000 -0500
++++ /dev/shm/applications/koffice/filters/chalk/png/kis_png_converter.cc.new 2011-11-07 15:38:47.918508855 -0600
+@@ -785,7 +785,7 @@
+
+ void KisPNGConverter::progress(png_structp png_ptr, png_uint_32 row_number, int pass)
+ {
+- if(png_ptr == NULL || row_number > PNG_MAX_UINT || pass > 7) return;
++ if(png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7) return;
+ // setProgress(row_number);
+ }
+
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch b/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch
new file mode 100644
index 000000000..9802009fa
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch
@@ -0,0 +1,118 @@
+diff -urN koffice/configure.in koffice.new/configure.in
+--- koffice/configure.in 2011-08-21 18:30:53.000000000 -0500
++++ koffice.new/configure.in 2011-12-08 17:56:31.000000000 -0600
+@@ -1539,14 +1539,22 @@
+ # Check for Ruby
+
+ if test "x$compile_kross" = "xyes" ; then
+- AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18], ruby)
++ AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18 ruby1.9 ruby19], ruby)
+
+ if test -n "$RUBY"; then
+ AC_MSG_CHECKING(for Ruby dirs)
+ RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
+ RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
+ RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
+- RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
++ if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then
++ # Ruby 1.9
++ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'`
++ RUBY_VERSION_H=ruby/version.h
++ else
++ # not Ruby 1.9
++ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
++ RUBY_VERSION_H=version.h
++ fi
+ RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
+ RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
+ RUBY_ENABLESHARED=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"ENABLE_SHARED"@:>@)'`
+@@ -1599,7 +1607,7 @@
+ [
+ AC_TRY_COMPILE([
+ #include <ruby.h>
+- #include <version.h>
++ #include <$RUBY_VERSION_H>
+ ],[
+
+ #if(RUBY_VERSION_MAJOR==1 && RUBY_VERSION_MINOR == 8 && RUBY_VERSION_TEENY <= 1)
+diff -urN koffice/lib/kross/configure.in.in koffice.new/lib/kross/configure.in.in
+--- koffice/lib/kross/configure.in.in 2010-08-11 22:16:27.000000000 -0500
++++ koffice.new/lib/kross/configure.in.in 2011-12-08 17:56:28.000000000 -0600
+@@ -21,14 +21,22 @@
+ # Check for Ruby
+
+ if test "x$compile_kross" = "xyes" ; then
+- AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18], ruby)
++ AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18 ruby1.9 ruby19], ruby)
+
+ if test -n "$RUBY"; then
+ AC_MSG_CHECKING(for Ruby dirs)
+ RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
+ RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
+ RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
+- RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
++ if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then
++ # Ruby 1.9
++ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'`
++ RUBY_VERSION_H=ruby/version.h
++ else
++ # not Ruby 1.9
++ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
++ RUBY_VERSION_H=version.h
++ fi
+ RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
+ RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
+ RUBY_ENABLESHARED=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"ENABLE_SHARED"@:>@)'`
+@@ -81,7 +89,7 @@
+ [
+ AC_TRY_COMPILE([
+ #include <ruby.h>
+- #include <version.h>
++ #include <$RUBY_VERSION_H>
+ ],[
+
+ #if(RUBY_VERSION_MAJOR==1 && RUBY_VERSION_MINOR == 8 && RUBY_VERSION_TEENY <= 1)
+diff -urN koffice/lib/kross/ruby/rubyextension.cpp koffice.new/lib/kross/ruby/rubyextension.cpp
+--- koffice/lib/kross/ruby/rubyextension.cpp 2011-08-17 20:25:04.000000000 -0500
++++ koffice.new/lib/kross/ruby/rubyextension.cpp 2011-12-08 21:18:42.000000000 -0600
+@@ -18,7 +18,7 @@
+ ***************************************************************************/
+ #include "rubyextension.h"
+
+-#include <st.h>
++#include <ruby/st.h>
+
+ #include <tqmap.h>
+ #include <tqstring.h>
+@@ -211,7 +211,7 @@
+ case T_ARRAY:
+ {
+ TQValueList<Kross::Api::Object::Ptr> l;
+- for(int i = 0; i < RARRAY(value)->len; i++)
++ for(int i = 0; i < RARRAY_LEN(value); i++)
+ {
+ Kross::Api::Object::Ptr o = toObject( rb_ary_entry( value , i ) );
+ if(o) l.append(o);
+diff -urN koffice/lib/kross/ruby/rubyscript.cpp koffice.new/lib/kross/ruby/rubyscript.cpp
+--- koffice/lib/kross/ruby/rubyscript.cpp 2011-06-25 13:42:29.000000000 -0500
++++ koffice.new/lib/kross/ruby/rubyscript.cpp 2011-12-08 21:45:36.000000000 -0600
+@@ -21,8 +21,8 @@
+
+ #include <ruby.h>
+ #include <env.h>
+-#include <rubysig.h>
+-#include <node.h>
++#include <ruby/backward/rubysig.h>
++#include <ruby/node.h>
+
+ #include <main/scriptcontainer.h>
+
+@@ -70,6 +70,8 @@
+ krossdebug("RubyScript::compile()");
+ #endif
+ int critical;
++ int ruby_nerrs;
++ int ruby_in_eval;
+
+ ruby_nerrs = 0;
+ ruby_errinfo = Qnil;
diff --git a/redhat/applications/koffice/trinity-koffice.spec b/redhat/applications/koffice/trinity-koffice.spec
index 5e8a87d0c..9f487c4e6 100644
--- a/redhat/applications/koffice/trinity-koffice.spec
+++ b/redhat/applications/koffice/trinity-koffice.spec
@@ -1,12 +1,12 @@
# Default version for this component
%define kdecomp koffice
%define version 1.6.3
-%define release 3
+%define release 4
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
%define _variant .opt
-%define _docdir %{_prefix}/share/doc
+%define _docdir %{_datadir}/doc
%endif
# TDE 3.5.13 specific building variables
@@ -20,6 +20,16 @@ BuildRequires: autoconf automake libtool m4
%define with_kross 1
%endif
+%if 0%{?fedora} >= 17
+%define with_ruby 0
+%else
+%define with_ruby 1
+%endif
+
+# Ruby 1.9 includes are located in strance directories ... (taken from ruby 1.9 spec file)
+%global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/;s/armv.*/arm/')
+
+
Name: trinity-%{kdecomp}
Summary: An integrated office suite
Version: %{?version}
@@ -36,7 +46,6 @@ Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{kdecomp}-3.5.13.tar.gz
-Source1: chalk.xpm
Source100: koshell.png
# [koffice] Disable GraphicksMagick version >= 1.2.0 [Bug #353]
@@ -55,6 +64,12 @@ Patch8: kexi-mysql_migrate_long_text-1.1.3.patch
Patch9: kexi-fix-support-for-boolean-types.patch
Patch10: kexi-thoushand_objects_support-1.1.3-2.patch
Patch11: kexi-fp_expressions-1.1.3.patch
+# [koffice] Fix compilation with GCC 4.7 [Bug #958]
+Patch12: koffice-3.5.13-fix_gcc47_compilation.patch
+# [koffice] Fix compilation with Ruby 1.9 [Bug #735]
+Patch13: koffice-3.5.13-fix_ruby_1.9.patch
+# [koffice] Fix compilation with libpng [Bug #603]
+Patch14: koffice-3.5.13-fix_libpng.patch
# BuildRequires: world-devel ;)
BuildRequires: trinity-kdelibs-devel
@@ -77,8 +92,9 @@ BuildRequires: gettext-devel
BuildRequires: mysql-devel
BuildRequires: desktop-file-utils
BuildRequires: perl
-BuildRequires: wv2-devel >= 0.4.0
-BuildRequires: libpqxx2-devel
+BuildRequires: trinity-wv2-devel >= 0.4.0
+#BuildRequires: trinity-libpqxx-devel >= 2.6.0
+BuildRequires: libpqxx-devel
BuildRequires: doxygen
BuildRequires: aspell-devel
BuildRequires: libxslt-devel
@@ -86,20 +102,15 @@ BuildRequires: OpenEXR-devel
BuildRequires: libexif-devel
BuildRequires: libGL-devel libGLU-devel
BuildRequires: readline-devel
+%if 0%{?with_ruby}
BuildRequires: ruby ruby-devel >= 1.8.2
+%endif
BuildRequires: libpaper-devel
BuildRequires: libXi-devel
BuildRequires: libutempter-devel
BuildRequires: poppler-qt-devel >= 0.1.2
BuildRequires: GraphicsMagick-devel >= 1.1.0
-
-# libwpd for FC15 and FC16 is too recent for Koffice ! (0.9.x)
-# So we built an alternate 0.8.x package !
-%if 0%{?fedora} >= 15
-BuildRequires: libwpd08-devel
-%else
-BuildRequires: libwpd-devel
-%endif
+BuildRequires: trinity-libwpd-devel
%description
@@ -259,7 +270,7 @@ Requires: %{name}-core = %{version}-%{release}
%{summary}.
%package chalk
-Summary: pixel-based image manipulation program for the KDE Office Suite [Trinity]
+Summary: pixel-based image manipulation program for the TDE Office Suite [Trinity]
Group: Applications/Productivity
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-chalk-data = %{version}-%{release}
@@ -268,18 +279,18 @@ Requires: %{name}-filters
Chalk is a painting and image editing application for KOffice. Chalk contains
both ease-of-use and fun features like guided painting.
-This package is part of the KDE Office Suite.
+This package is part of the TDE Office Suite.
%package chalk-data
Summary: data files for Chalk painting program [Trinity]
Group: Applications/Productivity
%description chalk-data
This package contains architecture-independent data files for Chalk,
-the painting program shipped with the KDE Office Suite.
+the painting program shipped with the TDE Office Suite.
See the chalk package for further information.
-This package is part of the KDE Office Suite.
+This package is part of the TDE Office Suite.
@@ -296,9 +307,12 @@ This package is part of the KDE Office Suite.
%patch9 -p0
%patch10 -p0
%patch11 -p0
+%patch12 -p1 -b .gcc47
+%patch13 -p1
+%patch14 -p5
# use LGC variant instead
-sed -i.dejavu-lgc \
+%__sed -i.dejavu-lgc \
-e 's|DejaVu Sans|DejaVu LGC Sans|' \
-e 's|dejavu sans|dejavu lgc sans|' \
lib/kformula/{contextstyle,fontstyle,symboltable}.cc
@@ -306,8 +320,8 @@ sed -i.dejavu-lgc \
# Ugly hack to modify TQT include directory inside autoconf files.
# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 !
%__sed -i admin/acinclude.m4.in \
- -e "s,/usr/include/tqt,%{_includedir}/tqt,g" \
- -e "s,kde_htmldir='.*',kde_htmldir='%{tde_docdir}/HTML',g"
+ -e "s|/usr/include/tqt|%{_includedir}/tqt|g" \
+ -e "s|kde_htmldir='.*'|kde_htmldir='%{tde_docdir}/HTML'|g"
%__cp -f "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in"
%__cp -f "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh"
@@ -390,12 +404,9 @@ rm -f %{buildroot}%{_libdir}/libkformdesigner.so
rm -f %{buildroot}%{_libdir}/libkplato*.so
rm -f %{buildroot}%{_libdir}/libkpresenter*.so
rm -f %{buildroot}%{_libdir}/libkword*.so
-#rm -f %{buildroot}%{_libdir}/libkrita*.so
rm -f %{buildroot}%{_libdir}/libkross*.so
rm -f %{buildroot}%{_libdir}/libkugar*.so
-# Chalk icon
-%__install -D -m 644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/chalk.xpm
%clean
%__rm -rf %{buildroot}
@@ -526,8 +537,10 @@ update-desktop-database -q &> /dev/null ||:
%if 0%{?with_kross} > 0
%{_datadir}/apps/kross/
%{tde_libdir}/krosspython.*
+%if 0%{?with_ruby}
%{tde_libdir}/krossruby.*
%endif
+%endif
%files libs
%defattr(-,root,root,-)
@@ -961,7 +974,6 @@ update-desktop-database -q &> /dev/null ||:
%endif
%files chalk-data
-%{_datadir}/pixmaps/chalk.xpm
%{_datadir}/applications/kde/chalk.desktop
%{_datadir}/applnk/.hidden/chalk_*.desktop
%{_datadir}/apps/konqueror/servicemenus/chalk_konqi.desktop
@@ -971,10 +983,16 @@ update-desktop-database -q &> /dev/null ||:
%{_datadir}/icons/hicolor/*/apps/chalk.png
%{_datadir}/services/chalk*.desktop
%{_datadir}/servicetypes/chalk*.desktop
-#%{_datadir}/applnk/.hidden/chalk_pdf.desktop
%changelog
+* Thu Apr 26 2012 Francois Andriot <francois.andriot@free.fr> - 1.6.3-4
+- Updates BuildRequires
+- Build for Fedora 17
+- Fix compilation with GCC 4.7 [Bug #958]
+- Fix compilation with Ruby 1.9 [Bug #735]
+- Fix compilation with libpng [Bug #603]
+
* Sat Jan 07 2012 Francois Andriot <francois.andriot@free.fr> - 1.6.3-3
- Fix GraphicksMagick 1.3 support [Bug #353]
- Various patches for kexi [Bug #777]
diff --git a/redhat/dependencies/qt3/qt3.spec b/redhat/dependencies/qt3/qt3.spec
index f12c6b2c5..8bb96a5f9 100644
--- a/redhat/dependencies/qt3/qt3.spec
+++ b/redhat/dependencies/qt3/qt3.spec
@@ -19,16 +19,19 @@
# ...maybe others !!!!
Name: qt3
+Epoch: 1
Version: %{?version}
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: The shared library for the Qt 3 GUI toolkit
License: QPL or GPLv2 or GPLv3
Group: System Environment/Libraries
URL: http://www.trinitydesktop.org/
-Obsoletes: %{name} < %{version}-%{release}
-Provides: %{name} = %{version}-%{release}
+%if 0%{?rhel} <= 5
+Obsoletes: qt < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -165,8 +168,10 @@ BuildRequires: make
Summary: Graphical configuration tool for programs using Qt 3
Group: User Interface/Desktops
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
-Obsoletes: %{name}-config < %{version}-%{release}
-Provides: %{name}-config = %{version}-%{release}
+%if 0%{?rhel} <= 5
+Obsoletes: qt-config < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-config = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package devel
@@ -191,63 +196,65 @@ Requires: libjpeg-devel
Requires: libmng-devel
Requires: mesa-libGL-devel
Requires: mesa-libGLU-devel
-
-Obsoletes: %{name}-devel < %{version}-%{release}
-Provides: %{name}-devel = %{version}-%{release}
-
+%if 0%{?rhel} <= 5
+Obsoletes: qt-devel < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-devel = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package devel-docs
Summary: Documentation for the Qt 3 GUI toolkit
Group: Development/Libraries
Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-devel-docs < %{version}-%{release}
-Provides: %{name}-devel-docs = %{version}-%{release}
-
+%if 0%{?rhel} <= 5
+Obsoletes: qt-devel-docs < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-devel-docs = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package ODBC
Summary: ODBC drivers for Qt 3's SQL classes
Group: System Environment/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-ODBC < %{version}-%{release}
-Provides: %{name}-ODBC = %{version}-%{release}
-
+%if 0%{?rhel} <= 5
+Obsoletes: qt-ODBC < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-ODBC = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package MySQL
Summary: MySQL drivers for Qt 3's SQL classes
Group: System Environment/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-MySQL < %{version}-%{release}
-Provides: %{name}-MySQL = %{version}-%{release}
-
+%if 0%{?rhel} <= 5
+Obsoletes: qt-MySQL < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-MySQL = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package PostgreSQL
Summary: PostgreSQL drivers for Qt 3's SQL classes
Group: System Environment/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-PostgreSQL < %{version}-%{release}
-Provides: %{name}-PostgreSQL = %{version}-%{release}
-
+%if 0%{?rhel} <= 5
+Obsoletes: qt-PostgreSQL < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-PostgreSQL = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package sqlite
Summary: sqlite drivers for Qt 3's SQL classes
Group: System Environment/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-sqlite < %{version}-%{release}
-Provides: %{name}-sqlite = %{version}-%{release}
+%if 0%{?rhel} <= 5
+Obsoletes: qt-sqlite < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-sqlite = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%package designer
Summary: Interface designer (IDE) for the Qt 3 toolkit
Group: Development/Tools
Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
-
-Obsoletes: %{name}-designer < %{version}-%{release}
-Provides: %{name}-designer = %{version}-%{release}
+%if 0%{?rhel} <= 5
+Obsoletes: qt-designer < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: qt-designer = %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
%description
@@ -714,6 +721,9 @@ rm -rf %{buildroot}
%changelog
+* Sat Apr 28 2012 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-7
+- Fix Provides and Obsoletes. Now only for RHEL 5.
+
* Tue Apr 24 2012 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-6
- Fix Qt3 builds with libpng15. [Bug #683]
diff --git a/redhat/kdebase/kdebase-3.5.13-engage_lock_in_near_real_time.patch b/redhat/kdebase/kdebase-3.5.13-engage_lock_in_near_real_time.patch
new file mode 100644
index 000000000..54e35c45a
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-engage_lock_in_near_real_time.patch
@@ -0,0 +1,252 @@
+commit 8d521d0b6ba88c6e679e7453f02897c8db7bbdf5
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1328671935 -0600
+
+ Update lock process to engage the lock in near real time
+
+diff --git a/kdesktop/lock/CMakeLists.txt b/kdesktop/lock/CMakeLists.txt
+index 5530d4c..7a35121 100644
+--- a/kdesktop/lock/CMakeLists.txt
++++ b/kdesktop/lock/CMakeLists.txt
+@@ -35,6 +35,6 @@ set( ${target}_SRCS
+
+ tde_add_executable( ${target} AUTOMOC
+ SOURCES ${${target}_SRCS}
+- LINK kdesktopsettings-static dmctl-static kio-shared Xext ${GL_LIBRARY}
++ LINK kdesktopsettings-static dmctl-static kio-shared Xext ${GL_LIBRARY} "-z\ now"
+ DESTINATION ${BIN_INSTALL_DIR}
+ )
+diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
+index 0cbef60..132ff30 100644
+--- a/kdesktop/lock/main.cc
++++ b/kdesktop/lock/main.cc
+@@ -1,6 +1,7 @@
+ /* This file is part of the KDE project
+ Copyright (C) 1999 David Faure
+ Copyright (c) 2003 Oswald Buddenhagen <ossi@kde.org>
++ Copyright (c) 2010-2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -43,6 +44,13 @@ bool trinity_desktop_lock_use_sak = FALSE;
+
+ bool trinity_desktop_lock_forced = FALSE;
+
++bool signalled_forcelock;
++bool signalled_dontlock;
++bool signalled_securedialog;
++bool signalled_blank;
++bool signalled_run;
++bool in_internal_mode = FALSE;
++
+ bool MyApp::x11EventFilter( XEvent *ev )
+ {
+ if (ev->type == XKeyPress || ev->type == ButtonPress) {
+diff --git a/kdesktop/lockeng.cc b/kdesktop/lockeng.cc
+index 5307c5c..79d27db 100644
+--- a/kdesktop/lockeng.cc
++++ b/kdesktop/lockeng.cc
+@@ -1,8 +1,9 @@
+ //===========================================================================
+ //
+-// This file is part of the KDE project
++// This file is part of the TDE project
+ //
+ // Copyright (c) 1999 Martin R. Jones <mjones@kde.org>
++// Copyright (c) 2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
+ //
+
+
+@@ -29,6 +30,14 @@ extern xautolock_corner_t xautolock_corners[ 4 ];
+
+ bool trinity_lockeng_sak_available = TRUE;
+
++SaverEngine* m_masterSaverEngine = NULL;
++static void sigusr1_handler(int)
++{
++ if (m_masterSaverEngine) {
++ m_masterSaverEngine->lockProcessWaiting();
++ }
++}
++
+ //===========================================================================
+ //
+ // Screen saver engine. Doesn't handle the actual screensaver window,
+@@ -42,6 +51,16 @@ SaverEngine::SaverEngine()
+ mSAKProcess(NULL),
+ mTerminationRequested(false)
+ {
++ struct sigaction act;
++
++ // handle SIGUSR1
++ m_masterSaverEngine = this;
++ act.sa_handler= sigusr1_handler;
++ sigemptyset(&(act.sa_mask));
++ sigaddset(&(act.sa_mask), SIGUSR1);
++ act.sa_flags = 0;
++ sigaction(SIGUSR1, &act, 0L);
++
+ // Save X screensaver parameters
+ XGetScreenSaver(qt_xdisplay(), &mXTimeout, &mXInterval,
+ &mXBlanking, &mXExposures);
+@@ -60,6 +79,19 @@ SaverEngine::SaverEngine()
+ TQTimer::singleShot( 0, this, TQT_SLOT(handleSecureDialog()) );
+
+ configure();
++
++ mLockProcess.clearArguments();
++ TQString path = KStandardDirs::findExe( "kdesktop_lock" );
++ if( path.isEmpty())
++ {
++ kdDebug( 1204 ) << "Can't find kdesktop_lock!" << endl;
++ }
++ mLockProcess << path;
++ mLockProcess << TQString( "--internal" ) << TQString( "%1" ).arg(getpid());
++ if (mLockProcess.start() == false )
++ {
++ kdDebug( 1204 ) << "Failed to start kdesktop_lock!" << endl;
++ }
+ }
+
+ //---------------------------------------------------------------------------
+@@ -68,6 +100,10 @@ SaverEngine::SaverEngine()
+ //
+ SaverEngine::~SaverEngine()
+ {
++ if (mState == Waiting) {
++ kill(mLockProcess.pid(), SIGKILL);
++ }
++
+ mLockProcess.detach(); // don't kill it if we crash
+ delete mXAutoLock;
+
+@@ -86,9 +122,9 @@ void SaverEngine::lock()
+ {
+ mSAKProcess->kill(SIGTERM);
+ ok = startLockProcess( ForceLock );
+-// It takes a while for kdesktop_lock to start and lock the screen.
+-// Therefore delay the DCOP call until it tells kdesktop that the locking is in effect.
+-// This is done only for --forcelock .
++ // It takes a while for kdesktop_lock to start and lock the screen.
++ // Therefore delay the DCOP call until it tells kdesktop that the locking is in effect.
++ // This is done only for --forcelock .
+ if( ok && mState != Saving )
+ {
+ DCOPClientTransaction* trans = kapp->dcopClient()->beginTransaction();
+@@ -283,40 +319,42 @@ bool SaverEngine::startLockProcess( LockType lock_type )
+ kdDebug(1204) << "SaverEngine: starting saver" << endl;
+ emitDCOPSignal("KDE_start_screensaver()", TQByteArray());
+
+- if (mLockProcess.isRunning())
+- {
+- stopLockProcess();
+- }
+- mLockProcess.clearArguments();
+- TQString path = KStandardDirs::findExe( "kdesktop_lock" );
+- if( path.isEmpty())
+- {
+- kdDebug( 1204 ) << "Can't find kdesktop_lock!" << endl;
+- return false;
++ if (!mLockProcess.isRunning()) {
++ mLockProcess.clearArguments();
++ TQString path = KStandardDirs::findExe( "kdesktop_lock" );
++ if( path.isEmpty())
++ {
++ kdDebug( 1204 ) << "Can't find kdesktop_lock!" << endl;
++ return false;
++ }
++ mLockProcess << path;
++ mLockProcess << TQString( "--internal" ) << TQString( "%1" ).arg(getpid());
++ if (mLockProcess.start() == false )
++ {
++ kdDebug( 1204 ) << "Failed to start kdesktop_lock!" << endl;
++ return false;
++ }
+ }
+- mLockProcess << path;
++
+ switch( lock_type )
+ {
+ case ForceLock:
+- mLockProcess << TQString( "--forcelock" );
++ mLockProcess.kill(SIGUSR1); // Request forcelock
+ break;
+ case DontLock:
+- mLockProcess << TQString( "--dontlock" );
++ mLockProcess.kill(SIGUSR2); // Request dontlock
+ break;
+ case SecureDialog:
+- mLockProcess << TQString( "--securedialog" );
++ mLockProcess.kill(SIGWINCH); // Request secure dialog
+ break;
+ default:
+ break;
+ }
+- if (mBlankOnly)
+- mLockProcess << TQString( "--blank" );
+-
+- if (mLockProcess.start() == false )
+- {
+- kdDebug( 1204 ) << "Failed to start kdesktop_lock!" << endl;
+- return false;
++ if (mBlankOnly) {
++ mLockProcess.kill(SIGTTIN); // Request blanking
+ }
++
++ mLockProcess.kill(SIGTTOU); // Start lock
+ XSetScreenSaver(qt_xdisplay(), 0, mXInterval, PreferBlanking, mXExposures);
+
+ mState = Preparing;
+@@ -359,9 +397,7 @@ void SaverEngine::stopLockProcess()
+
+ void SaverEngine::lockProcessExited()
+ {
+-printf("Lock process exited\n\r"); fflush(stdout);
+ bool abnormalExit = false;
+- kdDebug(1204) << "SaverEngine: lock exited" << endl;
+ if (mLockProcess.normalExit() == false) {
+ abnormalExit = true;
+ }
+@@ -387,6 +423,28 @@ printf("Lock process exited\n\r"); fflush(stdout);
+ system("logout");
+ }
+ }
++ else {
++ // Restart the lock process
++ if (!mLockProcess.isRunning()) {
++ mLockProcess.clearArguments();
++ TQString path = KStandardDirs::findExe( "kdesktop_lock" );
++ if( path.isEmpty())
++ {
++ kdDebug( 1204 ) << "Can't find kdesktop_lock!" << endl;
++ }
++ mLockProcess << path;
++ mLockProcess << TQString( "--internal" ) << TQString( "%1" ).arg(getpid());
++ if (mLockProcess.start() == false )
++ {
++ kdDebug( 1204 ) << "Failed to start kdesktop_lock!" << endl;
++ }
++ }
++ }
++}
++
++void SaverEngine::lockProcessWaiting()
++{
++ kdDebug(1204) << "SaverEngine: lock exited" << endl;
+ if (trinity_lockeng_sak_available == TRUE) {
+ handleSecureDialog();
+ }
+diff --git a/kdesktop/lockeng.h b/kdesktop/lockeng.h
+index ae81f90..ae08e9a 100644
+--- a/kdesktop/lockeng.h
++++ b/kdesktop/lockeng.h
+@@ -78,6 +78,9 @@ public:
+ */
+ virtual void saverLockReady();
+
++public slots:
++ void lockProcessWaiting();
++
+ protected slots:
+ void idleTimeout();
+ void lockProcessExited();
diff --git a/redhat/kdebase/1335166907:e72f4926c094b2bd94501518fbcd2a3e66a74f6a.diff b/redhat/kdebase/kdebase-3.5.13-fix_kio_sftp.patch
index 64dfa8e21..64dfa8e21 100644
--- a/redhat/kdebase/1335166907:e72f4926c094b2bd94501518fbcd2a3e66a74f6a.diff
+++ b/redhat/kdebase/kdebase-3.5.13-fix_kio_sftp.patch
diff --git a/redhat/kdebase/kdebase-3.5.13-fix_kio_sftp_nonstandard_ports.patch b/redhat/kdebase/kdebase-3.5.13-fix_kio_sftp_nonstandard_ports.patch
new file mode 100644
index 000000000..00d3eea50
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-fix_kio_sftp_nonstandard_ports.patch
@@ -0,0 +1,23 @@
+commit 073dc86aceaa060597d7653747c3c6c14d0ed59d
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1335311121 -0500
+
+ Fix sftp when nonstandard port is specified in ssh config
+
+diff --git a/kioslave/sftp/kio_sftp.cpp b/kioslave/sftp/kio_sftp.cpp
+index 2316c8c..04a2b33 100644
+--- a/kioslave/sftp/kio_sftp.cpp
++++ b/kioslave/sftp/kio_sftp.cpp
+@@ -481,11 +481,7 @@ void sftpProtocol::setHost (const TQString& h, int port, const TQString& user, c
+ if( port > 0 )
+ mPort = port;
+ else {
+- struct servent *pse;
+- if( (pse = getservbyname("ssh", "tcp") ) == NULL )
+- mPort = 22;
+- else
+- mPort = ntohs(pse->s_port);
++ mPort = -1;
+ }
+
+ mUsername = user;
diff --git a/redhat/kdebase/1333232616:f752bcbf6585c61f414963ad83e1300a1da08504.diff b/redhat/kdebase/kdebase-3.5.13-fix_kxdglauncher_document.patch
index 015270759..015270759 100644
--- a/redhat/kdebase/1333232616:f752bcbf6585c61f414963ad83e1300a1da08504.diff
+++ b/redhat/kdebase/kdebase-3.5.13-fix_kxdglauncher_document.patch
diff --git a/redhat/kdebase/kdebase-3.5.13-fix_lock_failure.patch b/redhat/kdebase/kdebase-3.5.13-fix_lock_failure.patch
new file mode 100644
index 000000000..73220e70d
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-fix_lock_failure.patch
@@ -0,0 +1,84 @@
+commit 67a3a8f34892a6491ba0073a3f583503b44e58e7
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1335211141 -0500
+
+ Fix desktop lock failure due to race condition within signal handler between qt and xcb
+
+diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
+index c0050d3..3c67ac0 100644
+--- a/kdesktop/lock/lockprocess.cc
++++ b/kdesktop/lock/lockprocess.cc
+@@ -659,6 +659,7 @@ void LockProcess::startSecureDialog()
+ mBusy = false;
+ trinity_desktop_lock_in_sec_dlg = false;
+ if (ret == 0) {
++ trinity_desktop_lock_closing_windows = 1;
+ kapp->quit();
+ }
+ if (ret == 1) {
+@@ -687,6 +688,7 @@ void LockProcess::startSecureDialog()
+ mBusy = false;
+ }
+ if (ret == 2) {
++ trinity_desktop_lock_closing_windows = 1;
+ if (system("ksysguard &") == -1) {
+ // Error handler to shut up gcc warnings
+ }
+diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
+index 5853da1..225d9c5 100644
+--- a/kdesktop/lock/main.cc
++++ b/kdesktop/lock/main.cc
+@@ -168,7 +168,7 @@ int main( int argc, char **argv )
+
+ bool rt;
+ bool sig = false;
+- if( !child && args->isSet( "forcelock" ))
++ if( (!child) && (args->isSet( "forcelock" )))
+ {
+ rt = process.lock();
+ sig = true;
+diff --git a/kdesktop/lockeng.cc b/kdesktop/lockeng.cc
+index 9eb88e1..f24d02f 100644
+--- a/kdesktop/lockeng.cc
++++ b/kdesktop/lockeng.cc
+@@ -34,7 +34,7 @@ SaverEngine* m_masterSaverEngine = NULL;
+ static void sigusr1_handler(int)
+ {
+ if (m_masterSaverEngine) {
+- m_masterSaverEngine->lockProcessWaiting();
++ m_masterSaverEngine->slotLockProcessWaiting();
+ }
+ }
+
+@@ -445,6 +445,13 @@ void SaverEngine::lockProcessExited()
+ }
+ }
+
++void SaverEngine::slotLockProcessWaiting()
++{
++ // lockProcessWaiting cannot be called directly from a signal handler, as it will hang in certain obscure circumstances
++ // Instead we use a single-shot timer to immediately call lockProcessWaiting once control has returned to the Qt main loop
++ TQTimer::singleShot(0, this, SLOT(lockProcessWaiting()));
++}
++
+ void SaverEngine::lockProcessWaiting()
+ {
+ kdDebug(1204) << "SaverEngine: lock exited" << endl;
+diff --git a/kdesktop/lockeng.h b/kdesktop/lockeng.h
+index ae08e9a..e42a048 100644
+--- a/kdesktop/lockeng.h
++++ b/kdesktop/lockeng.h
+@@ -79,11 +79,12 @@ public:
+ virtual void saverLockReady();
+
+ public slots:
+- void lockProcessWaiting();
++ void slotLockProcessWaiting();
+
+ protected slots:
+ void idleTimeout();
+ void lockProcessExited();
++ void lockProcessWaiting();
+
+ private slots:
+ void handleSecureDialog();
diff --git a/redhat/kdebase/kdebase-3.5.13-fix_race_condition.patch b/redhat/kdebase/kdebase-3.5.13-fix_race_condition.patch
new file mode 100644
index 000000000..868c8c3cb
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-fix_race_condition.patch
@@ -0,0 +1,22 @@
+commit 9e172fa7a1e93cc77e09616eb793b823d29ebaec
+Author: Darrell Anderson <humanreadable@yahoo.com>
+Date: 1333594438 -0500
+
+ Temporary fix for a probable race condition on some systems.
+ Still needs to be resolved by determining the root cause.
+ Partially resolves bug report 760.
+
+diff --git a/kioslave/system/kdedmodule/systemdirnotify.cpp b/kioslave/system/kdedmodule/systemdirnotify.cpp
+index 162d966..99b9ac7 100644
+--- a/kioslave/system/kdedmodule/systemdirnotify.cpp
++++ b/kioslave/system/kdedmodule/systemdirnotify.cpp
+@@ -36,6 +36,9 @@ SystemDirNotify::SystemDirNotify()
+ void SystemDirNotify::init()
+ {
+ if( mInited )
++ // FIXME Work around a race condition by inserting kdDebug delay before following
++ // code is executed -- the root cause of the race should be investigated and fixed.
++ kdDebug() << "SystemDirNotify::init(" << mInited << ")" << endl;
+ return;
+ mInited = true;
+ KGlobal::dirs()->addResourceType("system_entries",
diff --git a/redhat/kdebase/kdebase-3.5.13-start_dcop_in_tdm.patch b/redhat/kdebase/kdebase-3.5.13-start_dcop_in_tdm.patch
new file mode 100644
index 000000000..53d7d6cde
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-start_dcop_in_tdm.patch
@@ -0,0 +1,34 @@
+--- kdebase/kdm/kfrontend/kgapp.cpp.orig 2012-04-27 22:08:53.729331548 +0200
++++ kdebase/kdm/kfrontend/kgapp.cpp 2012-04-27 22:06:29.169359295 +0200
+@@ -190,6 +190,7 @@
+ KProcess *tsak = 0;
+ KProcess *proc = 0;
+ KProcess *comp = 0;
++ KProcess *dcop = 0;
+ KProcess *kwin = 0;
+
+ trinity_desktop_lock_use_sak = _useSAK;
+@@ -310,6 +311,13 @@
+ }
+
+ if (!_windowManager.isEmpty()) {
++ if (_windowManager == "kwin") {
++ // Special case
++ // Start DCOP...
++ dcop = new KProcess;
++ *dcop << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "dcopserver" << TQCString("--suicide");
++ dcop->start();
++ }
+ kwin = new KProcess;
+ *kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii();
+ kwin->start();
+@@ -453,7 +461,9 @@
+ if (kwin) {
+ kwin->closeStdin();
+ kwin->detach();
++ dcop->detach();
+ delete kwin;
++ delete dcop;
+ }
+ delete proc;
+ UnsecureDisplay( dpy );
diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec
index 1feb46f18..7b569588c 100644
--- a/redhat/kdebase/trinity-kdebase-3.5.13.spec
+++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec
@@ -2,7 +2,7 @@
%if "%{?version}" == ""
%define version 3.5.13
%endif
-%define release 19
+%define release 20
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
@@ -122,11 +122,21 @@ Patch43: kdebase-3.5.13-kate_focus_fix.patch
## [kdebase/kicker] Ensures that 'pagersettings.kcfg' is installed [Bug #908, Commit bd9c1479]
Patch44: kdebase-3.5.13-ensure_pagersettings_is_installed.patch
## [kdebase] Fix "Malformed URL $( kxdglauncher --getpath xdgname DOCUMENTS )" error dialog.
-Patch45: 1333232616:f752bcbf6585c61f414963ad83e1300a1da08504.diff
+Patch45: kdebase-3.5.13-fix_kxdglauncher_document.patch
## [kdebase/kioslave] Fix sftp failure on newer systems [Bug #897]
-Patch46: 1335166907:e72f4926c094b2bd94501518fbcd2a3e66a74f6a.diff
+Patch46: kdebase-3.5.13-fix_kio_sftp.patch
## [kdebase/kicker] Fix compilation with GCC 4.7 [Bug #958]
Patch47: kdebase-3.5.13-kicker-easyvector.patch
+## [kdebase/kioslave] Fix sftp when nonstandard port is specified in ssh config [Bug #897]
+Patch48: kdebase-3.5.13-fix_kio_sftp_nonstandard_ports.patch
+## [kdebase/kdm] Start minimal dcop system to support twin in tdm [Commit #66a19439]
+Patch49: kdebase-3.5.13-start_dcop_in_tdm.patch
+## [kdebase/kdesktop/lock] Update lock process to engage the lock in near real time [Commit #8d521d0b]
+Patch50: kdebase-3.5.13-engage_lock_in_near_real_time.patch
+## [kdebase/kdesktop/lock] Fix desktop lock failure due to race condition within signal handler between qt and xcb [Commit #67a3a8f3]
+Patch51: kdebase-3.5.13-fix_lock_failure.patch
+## [kdebase/kioslave] Temporary fix for a probable race condition on some systems. [Bug #760]
+Patch52: kdebase-3.5.13-fix_race_condition.patch
# Fedora 15 Theme: "Lovelock"
%if 0%{?fedora} == 15
@@ -362,6 +372,11 @@ Protocol handlers (KIOslaves) for personal information management, including:
%patch45 -p1
%patch46 -p1
%patch47 -p0
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
# Applies an optional distro-specific graphical theme
%if "%{?tde_bg}" != ""
@@ -748,6 +763,13 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%{_datadir}/cmake/*.cmake
%changelog
+* Fri Apr 27 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-20
+- Fix sftp when nonstandard port is specified in ssh config [Bug #897]
+- Start minimal dcop system to support twin in tdm [Commit #66a19439]
+- Update lock process to engage the lock in near real time [Commit #8d521d0b]
+- Fix desktop lock failure due to race condition within signal handler between qt and xcb [Commit #67a3a8f3]
+- Temporary fix for a probable race condition on some systems. [Bug #760]
+
* Tue Apr 24 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-19
- Build for Fedora 17
- Fix compilation with GCC 4.7 [Bug #958]
diff --git a/redhat/kdevelop/kdevelop-3.5.13-gcc47.patch b/redhat/kdevelop/kdevelop-3.5.13-gcc47.patch
new file mode 100644
index 000000000..6d5814210
--- /dev/null
+++ b/redhat/kdevelop/kdevelop-3.5.13-gcc47.patch
@@ -0,0 +1,22 @@
+--- kdevelop/languages/cpp/cppcodecompletion.cpp.gcc47 2011-08-13 07:59:50.000000000 +0200
++++ kdevelop/languages/cpp/cppcodecompletion.cpp 2012-04-26 20:33:55.645135959 +0200
+@@ -3892,15 +3892,15 @@
+ ArgumentList fArgs = ( *it ) ->argumentList();
+ if ( fArgs.count() != args.count() )
+ continue;
+- ArgumentList::iterator it = args.begin();
++ ArgumentList::iterator it3 = args.begin();
+ ArgumentList::iterator it2 = fArgs.begin();
+ bool hit = true;
+- while ( it != args.end() ) {
+- if ( ( *it ) ->type() != ( *it2 ) ->type() ) {
++ while ( it3 != args.end() ) {
++ if ( ( *it3 ) ->type() != ( *it2 ) ->type() ) {
+ hit = false;
+ break;
+ }
+- ++it;
++ ++it3;
+ ++it2;
+ }
+ if ( hit ) {
diff --git a/redhat/kdevelop/trinity-kdevelop-3.5.13.spec b/redhat/kdevelop/trinity-kdevelop-3.5.13.spec
index ca27fc19f..e47bc717e 100644
--- a/redhat/kdevelop/trinity-kdevelop-3.5.13.spec
+++ b/redhat/kdevelop/trinity-kdevelop-3.5.13.spec
@@ -45,7 +45,8 @@ Patch1: c_cpp_reference-2.0.2-config.patch
# TDE 3.5.13 patches
## RHEL / Fedora RPM specific patches
Patch2: kdevelop-3.5.13-kdevdesigner-ftbfs.patch
-
+# Fix compilation with GCC 4.7
+Patch3: kdevelop-3.5.13-gcc47.patch
Provides: kdevelop3 = %{version}-%{release}
@@ -126,12 +127,13 @@ Requires: %{name} = %{version}-%{release}
%setup -q -n kdevelop -a1
%patch1 -p0 -b .config
%patch2 -p1
+%patch3 -p1 -b .gcc47
# Ugly hack to modify TQT include directory inside autoconf files.
# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 !
%__sed -i admin/acinclude.m4.in \
- -e "s,/usr/include/tqt,%{_includedir}/tqt,g" \
- -e "s,kde_htmldir='.*',kde_htmldir='%{tde_docdir}/HTML',g"
+ -e "s|/usr/include/tqt|%{_includedir}/tqt|g" \
+ -e "s|kde_htmldir='.*'|kde_htmldir='%{tde_docdir}/HTML'|g"
%__rm -rf c_cpp_reference-2.0.2_for_KDE_3.0/admin