summaryrefslogtreecommitdiffstats
path: root/redhat
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2012-02-21 19:27:13 -0500
committerRobert Xu <robxu9@gmail.com>2012-02-21 19:27:13 -0500
commit5d7b5e6defb05f81691d286d40f67260c4733d00 (patch)
treeb2bfcca86b05179cad334dc61c5609e54ac7674d /redhat
parent580ce2082fe5054c9ad0e4f666cee9b4bfb2d0b6 (diff)
parenta14ac9de2f5843036c9f452f1188979fef17ae6d (diff)
downloadtde-packaging-5d7b5e6defb05f81691d286d40f67260c4733d00.tar.gz
tde-packaging-5d7b5e6defb05f81691d286d40f67260c4733d00.zip
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tde-packaging
Diffstat (limited to 'redhat')
-rw-r--r--redhat/components.txt7
-rwxr-xr-xredhat/dependencies/arts/trinity-arts-3.5.13.spec1
-rwxr-xr-xredhat/dependencies/arts/trinity-arts-r14.spec123
-rw-r--r--redhat/dependencies/avahi-tqt/avahi-tqt-r14.spec76
-rw-r--r--redhat/dependencies/dbus-1-tqt/dbus-1-tqt-r14.spec73
-rw-r--r--redhat/dependencies/dbus-tqt/dbus-tqt-r14.spec71
-rw-r--r--redhat/dependencies/qt3/0084-compositing-properties.patch (renamed from redhat/qt3/0084-compositing-properties.patch)0
-rw-r--r--redhat/dependencies/qt3/assistant3.desktop (renamed from redhat/qt3/assistant3.desktop)0
-rw-r--r--redhat/dependencies/qt3/designer3.desktop (renamed from redhat/qt3/designer3.desktop)0
-rw-r--r--redhat/dependencies/qt3/linguist3.desktop (renamed from redhat/qt3/linguist3.desktop)0
-rw-r--r--redhat/dependencies/qt3/qt-3.0.5-nodebug.patch (renamed from redhat/qt3/qt-3.0.5-nodebug.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.1.0-makefile.patch (renamed from redhat/qt3/qt-3.1.0-makefile.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch (renamed from redhat/qt3/qt-3.3.4-print-CJK.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-214371.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch (renamed from redhat/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch (renamed from redhat/qt3/qt-3.3.8-fontrendering-#214570.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch (renamed from redhat/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-uic-nostdlib.patch (renamed from redhat/qt3/qt-uic-nostdlib.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch (renamed from redhat/qt3/qt-x11-free-3.3.2-quiet.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch (renamed from redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch (renamed from redhat/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch (renamed from redhat/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch (renamed from redhat/qt3/qt-x11-free-3.3.6-strip.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch (renamed from redhat/qt3/qt-x11-free-3.3.7-arm.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch (renamed from redhat/qt3/qt-x11-free-3.3.7-umask.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch (renamed from redhat/qt3/qt-x11-free-3.3.8-odbc.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch (renamed from redhat/qt3/qt-x11-free-3.3.8b-typo.patch)0
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch (renamed from redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch)0
-rwxr-xr-xredhat/dependencies/qt3/qt.csh (renamed from redhat/qt3/qt.csh)0
-rwxr-xr-xredhat/dependencies/qt3/qt.sh (renamed from redhat/qt3/qt.sh)0
-rw-r--r--redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch (renamed from redhat/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch)0
-rw-r--r--redhat/dependencies/qt3/qt3.spec (renamed from redhat/qt3/qt3.spec)0
-rw-r--r--redhat/dependencies/qt3/qtconfig3.desktop (renamed from redhat/qt3/qtconfig3.desktop)0
-rw-r--r--redhat/dependencies/tqca-tls/qca-tls-1.0-mach.patch10
-rw-r--r--redhat/dependencies/tqca-tls/qca-tls-1.0-ossl10.patch15
-rw-r--r--redhat/dependencies/tqca-tls/tqca-tls-qmake-tqt3.patch74
-rw-r--r--redhat/dependencies/tqca-tls/tqca-tls.spec69
-rw-r--r--redhat/dependencies/tqt3/0084-compositing-properties.patch80
-rw-r--r--redhat/dependencies/tqt3/assistant3.desktop9
-rw-r--r--redhat/dependencies/tqt3/designer3.desktop11
-rw-r--r--redhat/dependencies/tqt3/linguist3.desktop10
l---------redhat/dependencies/tqt3/qt-3.1.0-makefile.patch1
l---------redhat/dependencies/tqt3/qt-3.3.4-print-CJK.patch1
l---------redhat/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch1
l---------redhat/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch1
l---------redhat/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch1
l---------redhat/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch1
l---------redhat/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch1
l---------redhat/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch1
l---------redhat/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch1
l---------redhat/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch1
l---------redhat/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch1
-rw-r--r--redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch134
-rw-r--r--redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2bin0 -> 99943 bytes
-rwxr-xr-xredhat/dependencies/tqt3/qt.csh34
-rwxr-xr-xredhat/dependencies/tqt3/qt.sh32
l---------redhat/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch1
-rw-r--r--redhat/dependencies/tqt3/qtconfig3.desktop9
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-embed.patch10
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch23
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch15
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch60
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch11
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-nodebug.patch15
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-odbc.patch18
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch92
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-quiet.patch13
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch12
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0-umask.patch14
-rw-r--r--redhat/dependencies/tqt3/tqt3-3.4.0.spec656
-rwxr-xr-xredhat/dependencies/tqtinterface/tqtinterface-r14.spec91
-rw-r--r--redhat/extras/kdebluetooth/kdebluetooth-1.0_beta8-gcc43.patch110
-rw-r--r--redhat/extras/kdebluetooth/kdebluetooth-trinity.patch131
-rw-r--r--redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275-0ubuntu1.diff.gzbin0 -> 29602 bytes
-rw-r--r--redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275.orig.tar.gzbin0 -> 2045030 bytes
-rw-r--r--redhat/extras/kdebluetooth/trinity-kdebluetooth.spec365
-rw-r--r--redhat/extras/trinity-live/fedora-live-tde-base.ks10
-rw-r--r--redhat/extras/trinity-live/fedora-livecd-tde.ks4
-rw-r--r--redhat/extras/trinity-live/trinity-live.spec6
-rwxr-xr-xredhat/genrpm.sh2
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_kdm_cpu_usage.patch47
-rw-r--r--redhat/kdebase/kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch95
-rw-r--r--redhat/kdebase/kdebase-3.5.13-tsak_keyboard_hotplug.patch641
-rw-r--r--redhat/kdebase/trinity-kdebase-3.5.13.spec26
-rw-r--r--redhat/kdelibs/kdelibs-3.5.13-fix_UTF8_encoding_for_WebDAV_directories.patch45
-rw-r--r--redhat/kdelibs/kdelibs-3.5.13-fix_add_printer.patch20
-rwxr-xr-xredhat/kdelibs/tdelibs-r14.spec315
-rwxr-xr-xredhat/kdelibs/trinity-kdelibs-3.5.13.spec13
-rw-r--r--redhat/kdemultimedia/kdemultimedia-3.5.13-fix_mmx_detection.patch12
-rw-r--r--redhat/kdemultimedia/trinity-kdemultimedia-3.5.13.spec5
-rw-r--r--redhat/kdenetwork/trinity-kdenetwork-3.5.13.spec2
l---------redhat/tdelibs1
96 files changed, 3716 insertions, 14 deletions
diff --git a/redhat/components.txt b/redhat/components.txt
index 3bb77eea2..b2f84234b 100644
--- a/redhat/components.txt
+++ b/redhat/components.txt
@@ -4,12 +4,15 @@ libraries/libkipi
libraries/libksquirrel
libraries/python-trinity
libraries/pykdeextensions
-qt3
+dependencies/qt3
+dependencies/tqt3
+dependencies/tqca-tls
dependencies/libcaldav
dependencies/libcarddav
dependencies/tqtinterface
dependencies/dbus-tqt
dependencies/dbus-1-tqt
+dependencies/avahi-tqt
dependencies/arts
dependencies/tqscintilla
kdelibs
@@ -36,6 +39,7 @@ extras/kasablanca
extras/ksensors
extras/libkarma
#extras/libkexif
+extras/kdebluetooth
extras/trinity-desktop
extras/trinity-live
applications/k3b
@@ -118,3 +122,4 @@ applications/kmplayer
applications/kvkbd
applications/potracegui
applications/soundkonverter
+
diff --git a/redhat/dependencies/arts/trinity-arts-3.5.13.spec b/redhat/dependencies/arts/trinity-arts-3.5.13.spec
index 7e032efef..8b639a8f0 100755
--- a/redhat/dependencies/arts/trinity-arts-3.5.13.spec
+++ b/redhat/dependencies/arts/trinity-arts-3.5.13.spec
@@ -42,6 +42,7 @@ BuildRequires: glib2-devel
BuildRequires: libtool-ltdl-devel
BuildRequires: gsl-devel
BuildRequires: libvorbis-devel
+BuildRequires: esound-devel
BuildRequires: jack-audio-connection-kit-devel
Requires: tqtinterface
diff --git a/redhat/dependencies/arts/trinity-arts-r14.spec b/redhat/dependencies/arts/trinity-arts-r14.spec
new file mode 100755
index 000000000..4e9c33264
--- /dev/null
+++ b/redhat/dependencies/arts/trinity-arts-r14.spec
@@ -0,0 +1,123 @@
+# 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
+%endif
+
+
+Name: trinity-arts
+Version: r14
+Release: 1%{?dist}%{?_variant}
+License: GPL
+Summary: aRts (analog realtime synthesizer) - the TDE sound system
+Group: System Environment/Daemons
+
+Vendor: Trinity Project
+URL: http://www.trinitydesktop.org/
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: arts-%{version}.tar.gz
+
+BuildRequires: cmake >= 2.8
+BuildRequires: tqtinterface-devel
+BuildRequires: audiofile-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: glib2-devel
+BuildRequires: libtool-ltdl-devel
+BuildRequires: gsl-devel
+BuildRequires: libvorbis-devel
+BuildRequires: esound-devel
+BuildRequires: jack-audio-connection-kit-devel
+
+Requires: tqtinterface == %{version}
+Requires: audiofile
+
+%if "%{?_prefix}" == "/usr"
+Obsoletes: arts
+%endif
+
+%description
+arts (analog real-time synthesizer) is the sound system of KDE 3.
+
+The principle of arts is to create/process sound using small modules which do
+certain tasks. These may be create a waveform (oscillators), play samples,
+filter data, add signals, perform effects like delay/flanger/chorus, or
+output the data to the soundcard.
+
+By connecting all those small modules together, you can perform complex
+tasks like simulating a mixer, generating an instrument or things like
+playing a wave file with some effects.
+
+
+%package devel
+Group: Development/Libraries
+Summary: %{name} - Development files
+Requires: %{name} = %{version}-%{release}
+%if "%{?_prefix}" == "/usr"
+Obsoletes: arts-devel
+%endif
+
+%description devel
+Development files for %{name}
+
+%prep
+%setup -q -n dependencies/arts
+
+%build
+%__mkdir build
+cd build
+%cmake \
+ -DINCLUDE_INSTALL_DIR=%{_includedir}/arts \
+ -DPKGCONFIG_INSTALL_DIR=%{_libdir}/pkgconfig \
+ -DWITH_ALSA=ON \
+ -DWITH_AUDIOFILE=ON \
+ -DWITH_VORBIS=ON \
+ -DWITH_MAD=OFF \
+ -DWITH_ESOUND=ON \
+ -DWITH_JACK=ON \
+ ..
+
+
+%__make %{?_smp_mflags}
+
+%install
+%__rm -rf %{?buildroot}
+%__make install -C build DESTDIR=%{?buildroot}
+
+%clean
+%__rm -rf %{?buildroot}
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING.LIB
+%dir %{_libdir}/mcop
+%dir %{_libdir}/mcop/Arts
+%{_libdir}/mcop/Arts/*
+%{_libdir}/mcop/*.mcopclass
+%{_libdir}/mcop/*.mcoptype
+%{_libdir}/lib*.so.*
+%{_libdir}/lib*.la
+%{_bindir}/artscat
+%{_bindir}/artsd
+%{_bindir}/artsdsp
+%{_bindir}/artsplay
+%{_bindir}/artsrec
+%{_bindir}/artsshell
+%{_bindir}/artswrapper
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/mcopidl
+%dir %{_includedir}
+%{_includedir}/*/
+%{_bindir}/artsc-config
+%{_libdir}/lib*.so
+%{_libdir}/pkgconfig/*.pc
+%{_libdir}/*.a
+
+
+%changelog
+* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/dependencies/avahi-tqt/avahi-tqt-r14.spec b/redhat/dependencies/avahi-tqt/avahi-tqt-r14.spec
new file mode 100644
index 000000000..faa71a064
--- /dev/null
+++ b/redhat/dependencies/avahi-tqt/avahi-tqt-r14.spec
@@ -0,0 +1,76 @@
+# Always build under "/usr"
+%define _prefix /usr
+
+
+Name: avahi-tqt
+Version: r14
+Release: 1%{?dist}
+License: GPL
+Summary: Avahi TQT Interface
+Group: System Environment/Libraries
+
+Vendor: Trinity Project
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: %{name}-%{version}.tar.gz
+Patch0: git.patch
+
+BuildRequires: gcc-c++
+BuildRequires: avahi-devel
+BuildRequires: cmake >= 2.8
+BuildRequires: tqt3-devel >= 3.4.0
+BuildRequires: tqtinterface-devel
+Requires: tqt3 >= 3.4.0
+Requires: tqtinterface
+
+%description
+Avahi TQT Interface
+
+
+%package devel
+Requires: %{name}
+Summary: %{name} - Development files
+Group: Development/Libraries
+
+
+%description devel
+Development files for %{name}
+
+
+%prep
+%setup -q -n dependencies/%{name}
+%patch0 -p1
+
+%build
+./autogen.sh
+%configure \
+ --enable-compat-libdns_sd \
+ --disable-mono --disable-monodoc \
+ --disable-gtk3 \
+ --with-systemdsystemunitdir=/lib/systemd/system
+
+
+
+%install
+%__rm -rf %{?buildroot}
+%__make install DESTDIR=%{?buildroot}
+
+%clean
+%__rm -rf %{?buildroot}
+
+%files
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/%{name}
+%{_libdir}/*.so
+%{_libdir}/*.la
+%{_libdir}/pkgconfig/*.pc
+%exclude %{_libdir}/libavahi-tqt.a
+
+%changelog
+* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/dependencies/dbus-1-tqt/dbus-1-tqt-r14.spec b/redhat/dependencies/dbus-1-tqt/dbus-1-tqt-r14.spec
new file mode 100644
index 000000000..112520c32
--- /dev/null
+++ b/redhat/dependencies/dbus-1-tqt/dbus-1-tqt-r14.spec
@@ -0,0 +1,73 @@
+# Always build under "/usr"
+%define _prefix /usr
+
+
+Name: dbus-1-tqt
+Version: r14
+Release: 1%{?dist}
+License: GPL
+Summary: Dbus TQT Interface
+Group: System Environment/Libraries
+
+Vendor: Trinity Project
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: %{name}-%{version}.tar.gz
+
+BuildRequires: gcc-c++
+BuildRequires: dbus-devel
+BuildRequires: tqtinterface-devel
+BuildRequires: cmake >= 2.8
+BuildRequires: tqt3-devel >= 3.4.0
+BuildRequires: dbus-tqt-devel == %{version}
+Requires: tqt3 >= 3.4.0
+Requires: dbus-tqt == %{version}
+
+%description
+Dbus TQT Interface
+
+
+%package devel
+Requires: %{name}
+Summary: %{name} - Development files
+Group: Development/Libraries
+
+%description devel
+Development files for %{name}
+
+
+%prep
+%setup -q -n dependencies/%{name}
+
+%build
+%__mkdir build
+cd build
+%cmake ..
+%__make %{?_smp_mflags}
+
+
+%install
+%__rm -rf %{?buildroot}
+%__mkdir_p %{?buildroot}%{_includedir}
+%__make install DESTDIR=%{?buildroot} -C build
+
+%clean
+%__rm -rf %{?buildroot}
+
+%files
+%{_bindir}/dbusxml2qt3
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/*.h
+%{_libdir}/*.so
+%{_libdir}/*.la
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
+* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
+
diff --git a/redhat/dependencies/dbus-tqt/dbus-tqt-r14.spec b/redhat/dependencies/dbus-tqt/dbus-tqt-r14.spec
new file mode 100644
index 000000000..aaf57264a
--- /dev/null
+++ b/redhat/dependencies/dbus-tqt/dbus-tqt-r14.spec
@@ -0,0 +1,71 @@
+# Always build under "/usr"
+%define _prefix /usr
+
+
+Name: dbus-tqt
+Version: r14
+Release: 1%{?dist}
+License: GPL
+Summary: Dbus TQT Interface
+Group: System Environment/Libraries
+
+Vendor: Trinity Project
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: %{name}-%{version}.tar.gz
+
+BuildRequires: gcc-c++
+BuildRequires: dbus-devel
+BuildRequires: cmake >= 2.8
+BuildRequires: tqt3-devel >= 3.4.0
+BuildRequires: tqtinterface-devel
+Requires: tqt3 >= 3.4.0
+Requires: tqtinterface
+
+%description
+Dbus TQT Interface
+
+
+%package devel
+Requires: %{name}
+Summary: %{name} - Development files
+Group: Development/Libraries
+
+
+%description devel
+Development files for %{name}
+
+
+%prep
+%setup -q -n dependencies/%{name}
+
+%build
+%__mkdir build
+cd build
+%cmake ..
+
+%__make %{?_smp_mflags}
+
+
+%install
+%__rm -rf %{?buildroot}
+%__make install DESTDIR=%{?buildroot} -C build
+
+%clean
+%__rm -rf %{?buildroot}
+
+%files
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/dbus-1.0/*
+%{_libdir}/*.so
+%{_libdir}/*.la
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
+* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/qt3/0084-compositing-properties.patch b/redhat/dependencies/qt3/0084-compositing-properties.patch
index 368b6c267..368b6c267 100644
--- a/redhat/qt3/0084-compositing-properties.patch
+++ b/redhat/dependencies/qt3/0084-compositing-properties.patch
diff --git a/redhat/qt3/assistant3.desktop b/redhat/dependencies/qt3/assistant3.desktop
index 49e718c5d..49e718c5d 100644
--- a/redhat/qt3/assistant3.desktop
+++ b/redhat/dependencies/qt3/assistant3.desktop
diff --git a/redhat/qt3/designer3.desktop b/redhat/dependencies/qt3/designer3.desktop
index 23f1f549a..23f1f549a 100644
--- a/redhat/qt3/designer3.desktop
+++ b/redhat/dependencies/qt3/designer3.desktop
diff --git a/redhat/qt3/linguist3.desktop b/redhat/dependencies/qt3/linguist3.desktop
index c6fce02c8..c6fce02c8 100644
--- a/redhat/qt3/linguist3.desktop
+++ b/redhat/dependencies/qt3/linguist3.desktop
diff --git a/redhat/qt3/qt-3.0.5-nodebug.patch b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch
index 09d697fb4..09d697fb4 100644
--- a/redhat/qt3/qt-3.0.5-nodebug.patch
+++ b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch
diff --git a/redhat/qt3/qt-3.1.0-makefile.patch b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch
index 009ab81fb..009ab81fb 100644
--- a/redhat/qt3/qt-3.1.0-makefile.patch
+++ b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch
diff --git a/redhat/qt3/qt-3.3.4-print-CJK.patch b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch
index 5bd5e9e0a..5bd5e9e0a 100644
--- a/redhat/qt3/qt-3.3.4-print-CJK.patch
+++ b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-214371.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch
index 9dca7998d..9dca7998d 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-214371.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch
index 21081d1a6..21081d1a6 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch
index 01f3824c1..01f3824c1 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
index 8dbb2ae98..8dbb2ae98 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch
index eb880b1cc..eb880b1cc 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch
diff --git a/redhat/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch
index eb3868c96..eb3868c96 100644
--- a/redhat/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch
diff --git a/redhat/qt3/qt-3.3.8-fontrendering-#214570.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch
index 41a74fba7..41a74fba7 100644
--- a/redhat/qt3/qt-3.3.8-fontrendering-#214570.patch
+++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch
diff --git a/redhat/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch
index 7583239cc..7583239cc 100644
--- a/redhat/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch
+++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch
diff --git a/redhat/qt3/qt-uic-nostdlib.patch b/redhat/dependencies/qt3/qt-uic-nostdlib.patch
index 02a40b225..02a40b225 100644
--- a/redhat/qt3/qt-uic-nostdlib.patch
+++ b/redhat/dependencies/qt3/qt-uic-nostdlib.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.2-quiet.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch
index 6dce7aa80..6dce7aa80 100644
--- a/redhat/qt3/qt-x11-free-3.3.2-quiet.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch
index 0d03f0809..0d03f0809 100644
--- a/redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
index a9cfaf4c3..a9cfaf4c3 100644
--- a/redhat/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
index 24982206d..24982206d 100644
--- a/redhat/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.6-strip.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch
index efc24c8a1..efc24c8a1 100644
--- a/redhat/qt3/qt-x11-free-3.3.6-strip.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.7-arm.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch
index 0c93c416a..0c93c416a 100644
--- a/redhat/qt3/qt-x11-free-3.3.7-arm.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.7-umask.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch
index f2351909f..f2351909f 100644
--- a/redhat/qt3/qt-x11-free-3.3.7-umask.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.8-odbc.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch
index 6f21e3cf1..6f21e3cf1 100644
--- a/redhat/qt3/qt-x11-free-3.3.8-odbc.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.8b-typo.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch
index c1ff66c2c..c1ff66c2c 100644
--- a/redhat/qt3/qt-x11-free-3.3.8b-typo.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch
diff --git a/redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch
index 341cab7e1..341cab7e1 100644
--- a/redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch
diff --git a/redhat/qt3/qt.csh b/redhat/dependencies/qt3/qt.csh
index 93fd941ed..93fd941ed 100755
--- a/redhat/qt3/qt.csh
+++ b/redhat/dependencies/qt3/qt.csh
diff --git a/redhat/qt3/qt.sh b/redhat/dependencies/qt3/qt.sh
index f9ca654c1..f9ca654c1 100755
--- a/redhat/qt3/qt.sh
+++ b/redhat/dependencies/qt3/qt.sh
diff --git a/redhat/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch b/redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
index c5da1ad4c..c5da1ad4c 100644
--- a/redhat/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
+++ b/redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
diff --git a/redhat/qt3/qt3.spec b/redhat/dependencies/qt3/qt3.spec
index fcadb5b6d..fcadb5b6d 100644
--- a/redhat/qt3/qt3.spec
+++ b/redhat/dependencies/qt3/qt3.spec
diff --git a/redhat/qt3/qtconfig3.desktop b/redhat/dependencies/qt3/qtconfig3.desktop
index 11df0abab..11df0abab 100644
--- a/redhat/qt3/qtconfig3.desktop
+++ b/redhat/dependencies/qt3/qtconfig3.desktop
diff --git a/redhat/dependencies/tqca-tls/qca-tls-1.0-mach.patch b/redhat/dependencies/tqca-tls/qca-tls-1.0-mach.patch
new file mode 100644
index 000000000..9bac68b83
--- /dev/null
+++ b/redhat/dependencies/tqca-tls/qca-tls-1.0-mach.patch
@@ -0,0 +1,10 @@
+--- ./qca-tls.pro.mach 2004-06-10 11:55:22.411187448 +0200
++++ ./qca-tls.pro 2004-06-10 11:55:43.460987392 +0200
+@@ -2,6 +2,7 @@
+
+ TEMPLATE = lib
+ CONFIG += qt thread release plugin
++CONFIG += no_fixpath
+ TARGET = qca-tls
+
+ !exists(qcaprovider.h) {
diff --git a/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl10.patch b/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl10.patch
new file mode 100644
index 000000000..7b2406f61
--- /dev/null
+++ b/redhat/dependencies/tqca-tls/qca-tls-1.0-ossl10.patch
@@ -0,0 +1,15 @@
+diff -up qca-tls-1.0/qca-tls.cpp.ossl10 qca-tls-1.0/qca-tls.cpp
+--- qca-tls-1.0/qca-tls.cpp.ossl10 2009-08-26 10:08:36.000000000 +0200
++++ qca-tls-1.0/qca-tls.cpp 2009-08-26 10:11:57.000000000 +0200
+@@ -953,7 +953,11 @@ public:
+ RSAKeyContext *key;
+
+ SSL *ssl;
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const SSL_METHOD *method;
++#else
+ SSL_METHOD *method;
++#endif
+ SSL_CTX *context;
+ BIO *rbio, *wbio;
+ CertContext cc;
diff --git a/redhat/dependencies/tqca-tls/tqca-tls-qmake-tqt3.patch b/redhat/dependencies/tqca-tls/tqca-tls-qmake-tqt3.patch
new file mode 100644
index 000000000..5dd7c5a47
--- /dev/null
+++ b/redhat/dependencies/tqca-tls/tqca-tls-qmake-tqt3.patch
@@ -0,0 +1,74 @@
+diff -Nuar tqca-tls.ORI//configure tqca-tls.P//configure
+--- tqca-tls.ORI//configure 2012-02-18 11:09:57.695893820 +0100
++++ tqca-tls.P//configure 2012-02-18 11:28:09.442846406 +0100
+@@ -60,7 +60,7 @@
+ if [ "$QC_DEBUG" = "Y" ]; then
+ echo \$QTDIR not set... trying to find Qt manually
+ fi
+- for p in /usr/lib/tqt /usr/share/tqt /usr/share/tqt3 /usr/local/lib/tqt /usr/local/share/tqt /usr/lib/tqt3 /usr/local/lib/tqt3 /usr/lib/qt /usr/share/qt /usr/share/qt3 /usr/local/lib/qt /usr/local/share/qt /usr/lib/qt3 /usr/local/lib/qt3 /usr/X11R6/share/qt /usr/qt/3 ; do
++ for p in /usr/lib64/tqt /usr/lib/tqt /usr/share/tqt /usr/share/tqt3 /usr/local/lib64/tqt /usr/local/lib/tqt /usr/local/share/tqt /usr/lib64/tqt3 /usr/lib/tqt3 /usr/local/lib64/tqt3 /usr/local/lib/tqt3 /usr/lib64/qt /usr/lib/qt /usr/share/qt /usr/share/qt3 /usr/local/lib64/qt /usr/local/lib/qt /usr/local/share/qt /usr/lib64/qt3 /usr/lib/qt3 /usr/local/lib64/qt3 /usr/local/lib/qt3 /usr/X11R6/share/qt /usr/qt/3 ; do
+ if [ -d "$p/mkspecs" ]; then
+ QTDIR=$p
+ break;
+@@ -79,15 +79,15 @@
+ fi
+ fi
+
+-if [ ! -x "$QTDIR/bin/qmake" ]; then
++if [ ! -x "$QTDIR/bin/qmake-tqt3" ]; then
+ if [ "$QC_DEBUG" = "Y" ]; then
+- echo Warning: qmake not in \$QTDIR/bin/qmake
++ echo Warning: qmake-tqt3 not in \$QTDIR/bin/qmake-tqt3
+ echo trying to find it in \$PATH
+ fi
+- qm=`type -p qmake`
++ qm=`type -p qmake-tqt3`
+ if [ -x "$qm" ]; then
+ if [ "$QC_DEBUG" = "Y" ]; then
+- echo qmake found in $qm
++ echo qmake-tqt3 found in $qm
+ fi
+ else
+ echo fail
+@@ -96,12 +96,12 @@
+ echo or I missdetected \$QTDIR=$QTDIR
+ echo
+ echo Please set \$QTDIR manually and make sure that
+- echo \$QTDIR/bin/qmake exists.
++ echo \$QTDIR/bin/qmake-tqt3 exists.
+ echo
+ exit 1;
+ fi
+ else
+- qm=$QTDIR/bin/qmake
++ qm=$QTDIR/bin/qmake-tqt3
+ fi
+
+ gen_files() {
+@@ -185,6 +185,8 @@
+
+ // Make sure tqtinterface can be found
+ conf->addIncludePath("/usr/include/tqt");
++ // Make sure tqt3 can be found
++ conf->addIncludePath("/usr/include/tqt3");
+
+ return true;
+ }
+@@ -507,7 +509,7 @@
+ TEMPLATE = app
+ CONFIG += qt x11 thread console
+ TARGET = conf
+-INCLUDEPATH += '/usr/include/tqt'
++INCLUDEPATH += '/usr/include/tqt' '/usr/include/tqt3'
+
+ DEFINES += X11_INC='"\$\$QMAKE_INCDIR_X11"'
+ DEFINES += X11_LIBDIR='"\$\$QMAKE_LIBDIR_X11"'
+@@ -533,7 +535,7 @@
+ )
+
+ if [ "$?" != "0" ]; then
+- rm -rf .qconftemp
++# rm -rf .qconftemp
+ echo fail
+ echo
+ echo "There was an error compiling 'conf'. Be sure you have a proper"
diff --git a/redhat/dependencies/tqca-tls/tqca-tls.spec b/redhat/dependencies/tqca-tls/tqca-tls.spec
new file mode 100644
index 000000000..4f1cb6fa4
--- /dev/null
+++ b/redhat/dependencies/tqca-tls/tqca-tls.spec
@@ -0,0 +1,69 @@
+%define _prefix /usr
+
+Name: tqca-tls
+Version: r14
+Release: 1%{?dist}
+
+Summary: TLS plugin for the Qt Cryptographic Architecture
+License: LGPLv2+
+Group: Applications/Internet
+
+URL: http://delta.affinix.com/qca/
+Vendor: Trinity Project
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Source0: %{name}-%{version}.tar.gz
+
+# Fix build in mach for QT apps
+Patch0: qca-tls-1.0-mach.patch
+# Missing ifdefs for openssl 0.9.8
+Patch1: qca-tls-1.0-ossl098.patch
+# Build with openssl 1.0.0
+Patch2: qca-tls-1.0-ossl10.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch10: tqca-tls-qmake-tqt3.patch
+
+BuildRequires: tqt3-devel >= 3.4.0
+# To build with openssl 0.9.7, disable patch1
+BuildRequires: openssl-devel >= 0.9.8
+
+
+%description
+This is a plugin to provide SSL/TLS capability to programs that use the TQt
+Cryptographic Architecture (TQCA). TQCA is a library providing an easy API
+for several cryptographic algorithms to TQt programs. This package only
+contains the TLS plugin.
+
+%prep
+%setup -q -n dependencies/%{name}
+%patch0 -p0 -b .mach
+#patch1 -p0 -b .ossl098
+%patch2 -p1 -b .ossl10
+%patch10 -p1
+
+%build
+./configure \
+ --qtdir=/usr
+%__make %{?_smp_mflags}
+
+
+%install
+%__rm -rf %{?buildroot}
+%__mkdir -p %{?buildroot}%{_libdir}/tqt3/plugins/crypto
+%__make install INSTALL_ROOT=%{?buildroot}
+
+
+%clean
+%__rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(0644,root,root,0755)
+%doc README COPYING
+%attr(755,root,root) %{_libdir}/tqt3/plugins/crypto
+
+
+%changelog
+* Sat Feb 18 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14
+- Spec file based on Fedora 12 'qca-tls-1.0-18'
diff --git a/redhat/dependencies/tqt3/0084-compositing-properties.patch b/redhat/dependencies/tqt3/0084-compositing-properties.patch
new file mode 100644
index 000000000..368b6c267
--- /dev/null
+++ b/redhat/dependencies/tqt3/0084-compositing-properties.patch
@@ -0,0 +1,80 @@
+qt-bugs@ issue : none
+bugs.kde.org number : none
+applied: no
+author: Lubos Lunak <l.lunak@kde.org>
+
+This patch makes override-redirect windows (popup menu, dropdown menu,
+tooltip, combobox, etc.) also have more window properties like WM_CLASS,
+so they can be used when compositing.
+
+--- src/kernel/qwidget_x11.cpp.sav 2007-06-25 10:36:42.000000000 +0200
++++ src/kernel/qwidget_x11.cpp 2007-10-02 15:30:13.000000000 +0200
+@@ -557,7 +557,10 @@ void QWidget::create( WId window, bool i
+ wsa.save_under = True;
+ XChangeWindowAttributes( dpy, id, CWOverrideRedirect | CWSaveUnder,
+ &wsa );
+- x11SetWindowType();
++ XClassHint class_hint;
++ class_hint.res_name = (char *) qAppName(); // application name
++ class_hint.res_class = (char *) qAppClass(); // application class
++ XSetClassHint( dpy, id, &class_hint );
+ } else if ( topLevel && !desktop ) { // top-level widget
+ QWidget *p = parentWidget(); // real parent
+ if (p)
+@@ -620,8 +623,6 @@ void QWidget::create( WId window, bool i
+ else
+ XDeleteProperty(dpy, id, qt_xa_motif_wm_hints);
+
+- x11SetWindowType();
+-
+ // set _NET_WM_WINDOW_STATE
+ if (curr_winstate > 0)
+ XChangeProperty(dpy, id, qt_net_wm_state, XA_ATOM, 32, PropModeReplace,
+@@ -629,11 +630,6 @@ void QWidget::create( WId window, bool i
+ else
+ XDeleteProperty(dpy, id, qt_net_wm_state);
+
+- // set _NET_WM_PID
+- long curr_pid = getpid();
+- XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
+- (unsigned char *) &curr_pid, 1);
+-
+ #ifndef QT_NO_XSYNC
+ // set _NET_WM_SYNC_COUNTER
+ createSyncCounter();
+@@ -645,19 +641,31 @@ void QWidget::create( WId window, bool i
+ // when we create a toplevel widget, the frame strut should be dirty
+ fstrut_dirty = 1;
+
++ } else {
++ // non-toplevel widgets don't have a frame, so no need to
++ // update the strut
++ fstrut_dirty = 0;
++ }
++
++ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
++ x11SetWindowType();
++
++ // set _NET_WM_PID
++ long curr_pid = getpid();
++ XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
++ (unsigned char *) &curr_pid, 1);
++
+ // declare the widget's object name as window role
+ XChangeProperty( dpy, id,
+ qt_window_role, XA_STRING, 8, PropModeReplace,
+ (unsigned char *)name(), qstrlen( name() ) );
+
+ // set client leader property
++ if ( !qt_x11_wm_client_leader )
++ qt_x11_create_wm_client_leader();
+ XChangeProperty( dpy, id, qt_wm_client_leader,
+ XA_WINDOW, 32, PropModeReplace,
+ (unsigned char *)&qt_x11_wm_client_leader, 1 );
+- } else {
+- // non-toplevel widgets don't have a frame, so no need to
+- // update the strut
+- fstrut_dirty = 0;
+ }
+
+ if ( initializeWindow ) {
diff --git a/redhat/dependencies/tqt3/assistant3.desktop b/redhat/dependencies/tqt3/assistant3.desktop
new file mode 100644
index 000000000..49e718c5d
--- /dev/null
+++ b/redhat/dependencies/tqt3/assistant3.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt3 Assistant
+Comment=Add translations to Qt3 applications
+Exec=assistant
+Icon=assistant3
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/dependencies/tqt3/designer3.desktop b/redhat/dependencies/tqt3/designer3.desktop
new file mode 100644
index 000000000..23f1f549a
--- /dev/null
+++ b/redhat/dependencies/tqt3/designer3.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Qt3 Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt3 applications
+Exec=designer
+Icon=designer3
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/dependencies/tqt3/linguist3.desktop b/redhat/dependencies/tqt3/linguist3.desktop
new file mode 100644
index 000000000..c6fce02c8
--- /dev/null
+++ b/redhat/dependencies/tqt3/linguist3.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Qt3 Linguist
+Comment=Add translations to Qt3 applications
+Exec=linguist
+Icon=linguist3
+MimeType=application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/dependencies/tqt3/qt-3.1.0-makefile.patch b/redhat/dependencies/tqt3/qt-3.1.0-makefile.patch
new file mode 120000
index 000000000..7d8ae65a2
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.1.0-makefile.patch
@@ -0,0 +1 @@
+../qt3/qt-3.1.0-makefile.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-3.3.4-print-CJK.patch b/redhat/dependencies/tqt3/qt-3.3.4-print-CJK.patch
new file mode 120000
index 000000000..99cdc6e1d
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.3.4-print-CJK.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.4-print-CJK.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch
new file mode 120000
index 000000000..b015af122
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-gu-228452.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
new file mode 120000
index 000000000..388a5cbe5
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch
new file mode 120000
index 000000000..93c6ba3d8
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-te_IN-211259.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch
new file mode 120000
index 000000000..4ded8f792
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.8-fontrendering-as_IN-209972.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch
new file mode 120000
index 000000000..09d41d4b3
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.4-fullscreen.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
new file mode 120000
index 000000000..f8342f9f9
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch
new file mode 120000
index 000000000..7121216bc
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.6-strip.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch
new file mode 120000
index 000000000..b7682272a
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.7-arm.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch
new file mode 120000
index 000000000..4e2537345
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.8b-typo.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch
new file mode 100644
index 000000000..5e5d9773a
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch
@@ -0,0 +1,134 @@
+diff -Nur qt-x11-free-3.3.5.orig/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp qt-x11-free-3.3.5/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp 2005-10-13 16:09:36.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -306,8 +306,8 @@
+
+ currentIMKey = key;
+
+- qDebug( "QMultiInputContext::changeInputMethod(): index=%d, slave=%s",
+- imIndex, (const char *)_slave->identifierName() );
++ /* qDebug( "QMultiInputContext::changeInputMethod(): index=%d, slave=%s",
++ imIndex, (const char *)_slave->identifierName() ); */
+ }
+ }
+
+diff -Nur qt-x11-free-3.3.5.orig/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp qt-x11-free-3.3.5/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp 2005-10-13 16:09:36.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -140,7 +140,7 @@
+ // only one character. See description of
+ // QInputContext::filterEvent() about key compression.
+ val = text[0].unicode();
+- qDebug( "str = %s", (const char*)keyevent->text().local8Bit() );
++ // qDebug( "str = %s", (const char*)keyevent->text().local8Bit() );
+ }
+
+ // Store value
+@@ -164,14 +164,14 @@
+
+ void QSimpleInputContext::setFocus()
+ {
+- qDebug( "QSimpleInputContext: %p->setFocus(), focusWidget()=%p",
+- this, focusWidget() );
++ /* qDebug( "QSimpleInputContext: %p->setFocus(), focusWidget()=%p",
++ this, focusWidget() ); */
+ }
+
+ void QSimpleInputContext::unsetFocus()
+ {
+- qDebug( "QSimpleInputContext: %p->unsetFocus(), focusWidget()=%p",
+- this, focusWidget() );
++ /* qDebug( "QSimpleInputContext: %p->unsetFocus(), focusWidget()=%p",
++ this, focusWidget() ); */
+ reset();
+ }
+
+@@ -188,8 +188,8 @@
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseButtonDblClick:
+ case QEvent::MouseMove:
+- qDebug( "QSimpleInputContext::mouseHandler: "
+- "x=%d, type=%d, button=%d, state=%d", x, type, button, state );
++ /* qDebug( "QSimpleInputContext::mouseHandler: "
++ "x=%d, type=%d, button=%d, state=%d", x, type, button, state ); */
+ break;
+ default:
+ break;
+@@ -240,7 +240,7 @@
+
+ // no entries were found
+ if ( p == composeTable->data + composeTable->size ) {
+- qDebug( "no match" );
++ // qDebug( "no match" );
+ clearComposeBuffer();
+ return FALSE;
+ }
+@@ -250,18 +250,18 @@
+
+ // check if partial match
+ if ( composeBuffer[i] == 0 && p->keys[i] ) {
+- qDebug("partial match");
++ // qDebug("partial match");
+ return TRUE;
+ }
+
+ if ( composeBuffer[i] != p->keys[i] ) {
+- qDebug("different entry");
++ // qDebug("different entry");
+ clearComposeBuffer();
+ return i!=0;
+ }
+ }
+
+- qDebug("match exactly");
++ // qDebug("match exactly");
+
+ // match exactly
+ commitChar( p->value );
+diff -Nur qt-x11-free-3.3.5.orig/src/kernel/qinputcontext.cpp qt-x11-free-3.3.5/src/kernel/qinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/src/kernel/qinputcontext.cpp 2005-10-13 16:09:37.000000000 +0200
++++ qt-x11-free-3.3.5/src/kernel/qinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -526,17 +526,17 @@
+ return;
+
+ if ( type == QEvent::IMStart ) {
+- qDebug( "sending IMStart with %d chars to %p",
+- text.length(), receiver );
++ /* qDebug( "sending IMStart with %d chars to %p",
++ text.length(), receiver ); */
+ event = new QIMEvent( type, text, cursorPosition );
+ } else if ( type == QEvent::IMEnd ) {
+- qDebug( "sending IMEnd with %d chars to %p, text=%s",
+- text.length(), receiver, (const char*)text.local8Bit() );
++ /* qDebug( "sending IMEnd with %d chars to %p, text=%s",
++ text.length(), receiver, (const char*)text.local8Bit() ); */
+ event = new QIMEvent( type, text, cursorPosition );
+ } else if ( type == QEvent::IMCompose ) {
+- qDebug( "sending IMCompose to %p with %d chars, cpos=%d, sellen=%d, text=%s",
++ /* qDebug( "sending IMCompose to %p with %d chars, cpos=%d, sellen=%d, text=%s",
+ receiver, text.length(), cursorPosition, selLength,
+- (const char*)text.local8Bit() );
++ (const char*)text.local8Bit() ); */
+ event = new QIMComposeEvent( type, text, cursorPosition, selLength );
+ }
+
+--- qt-x11-free-3.3.5/plugins/src/inputmethods/xim/qximinputcontext_x11.cpp.quiet 2005-10-13 19:00:56.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/xim/qximinputcontext_x11.cpp 2005-10-25 15:36:43.000000000 +0200
+@@ -356,7 +356,7 @@
+ #if !defined(QT_NO_XIM)
+ fontsetRefCount++;
+ if (! qt_xim) {
+- qWarning("QInputContext: no input method context available");
++ // qWarning("QInputContext: no input method context available");
+ return;
+ }
+
+@@ -742,7 +742,7 @@
+
+ void QXIMInputContext::close( const QString &errMsg )
+ {
+- qDebug( errMsg );
++ // qDebug( errMsg );
+ emit deletionRequested();
+ }
+
diff --git a/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2
new file mode 100644
index 000000000..7c122a375
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2
Binary files differ
diff --git a/redhat/dependencies/tqt3/qt.csh b/redhat/dependencies/tqt3/qt.csh
new file mode 100755
index 000000000..7efcd89c5
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt.csh
@@ -0,0 +1,34 @@
+# Qt initialization script (csh)
+
+# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
+# When a conflict is found between two packages corresponding with different arches,
+# the installed file is the one from the preferred arch. This is very common for executables
+# in /usr/bin, for example. If the file /usr/bin/foo is found in an x86_64 package and in an
+# i386 package, the executable from x86_64 will be installe
+
+if ( $?QTDIR ) then
+ exit
+endif
+
+switch (`uname -m`)
+ case x86_64:
+ case ia64:
+ case s390x:
+ case ppc64:
+ set QTPREFIXES = "/usr/lib64/qt-3.3 /usr/lib/qt-3.3"
+ breaksw
+ case *:
+ set QTPREFIXES = "/usr/lib/qt-3.3 /usr/lib64/qt-3.3"
+endsw
+
+foreach QTPREFIX ( $QTPREFIXES )
+ test -d "$QTPREFIX" && setenv QTDIR $QTPREFIX && break
+end
+unset QTPREFIX QTPREFIXES
+
+if ( "${path}" !~ *$QTDIR/bin* ) then
+ set path = ( $QTDIR/bin $path )
+endif
+
+setenv QTINC $QTDIR/include
+setenv QTLIB $QTDIR/lib
diff --git a/redhat/dependencies/tqt3/qt.sh b/redhat/dependencies/tqt3/qt.sh
new file mode 100755
index 000000000..88b3e0cea
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt.sh
@@ -0,0 +1,32 @@
+# Qt initialization script (sh)
+
+# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
+# When a conflict is found between two packages corresponding with different arches,
+# the installed file is the one from the preferred arch. This is very common for executables
+# in /usr/bin, for example. If the file /usr/bin/foo is found in an x86_64 package and in an
+# i386 package, the executable from x86_64 will be installe
+
+if [ -z "${QTDIR}" ]; then
+
+case `uname -m` in
+ x86_64 | ia64 | s390x | ppc64 )
+ QT_PREFIXES="/usr/lib64/qt-3.3 /usr/lib/qt-3.3" ;;
+ * )
+ QT_PREFIXES="/usr/lib/qt-3.3 /usr/lib64/qt-3.3" ;;
+esac
+
+for QTDIR in ${QT_PREFIXES} ; do
+ test -d "${QTDIR}" && break
+done
+unset QT_PREFIXES
+
+if ! echo ${PATH} | /bin/grep -q $QTDIR/bin ; then
+ PATH=$QTDIR/bin:${PATH}
+fi
+
+QTINC="$QTDIR/include"
+QTLIB="$QTDIR/lib"
+
+export QTDIR QTINC QTLIB PATH
+
+fi
diff --git a/redhat/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch b/redhat/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
new file mode 120000
index 000000000..06a4852dc
--- /dev/null
+++ b/redhat/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
@@ -0,0 +1 @@
+../qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch \ No newline at end of file
diff --git a/redhat/dependencies/tqt3/qtconfig3.desktop b/redhat/dependencies/tqt3/qtconfig3.desktop
new file mode 100644
index 000000000..11df0abab
--- /dev/null
+++ b/redhat/dependencies/tqt3/qtconfig3.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt3 Config
+Comment=Configure Qt3 behavior, styles, fonts
+Exec=qtconfig
+Icon=qtconfig3
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Settings;
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-embed.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-embed.patch
new file mode 100644
index 000000000..10d7704ae
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-embed.patch
@@ -0,0 +1,10 @@
+--- tqt3/tools/qembed/qembed.pro.qembed 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/tools/qembed/qembed.pro 2012-02-13 21:26:57.417973392 +0100
+@@ -3,5 +3,7 @@
+ TARGET = qembed
+ REQUIRES=full-config nocrosscompiler
+
++DESTDIR = ../../bin
+ target.path = $$bins.path
+ INSTALLS += target
++
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch
new file mode 100644
index 000000000..77ca43101
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch
@@ -0,0 +1,23 @@
+--- tqt3/src/kernel/qscriptengine_x11.cpp.fontrendering-#214570 2012-02-13 21:41:17.792005290 +0100
++++ tqt3/src/kernel/qscriptengine_x11.cpp 2012-02-13 21:42:38.785202528 +0100
+@@ -1243,7 +1243,7 @@
+ int script = item->script;
+ Q_ASSERT(script >= TQFont::Devanagari && script <= TQFont::Sinhala);
+ const unsigned short script_base = 0x0900 + 0x80*(script-TQFont::Devanagari);
+- const unsigned short ra = script_base + 0x30;
++ unsigned short ra = script_base + 0x30; //it was const unsigned short ra before modification
+ const unsigned short halant = script_base + 0x4d;
+ const unsigned short nukta = script_base + 0x3c;
+
+@@ -1291,6 +1291,11 @@
+ }
+ #endif
+
++ unsigned short *chkAssamese=reordered.data();
++ if((script == TQFont::Bengali) && (*chkAssamese==0x09F0)) //if it is assamese ra
++ {
++ ra = script_base + 0x70;
++ }
+ if (len != 1) {
+ unsigned short *uc = reordered.data();
+ bool beginsWithRa = FALSE;
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch
new file mode 100644
index 000000000..9dca7998d
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch
@@ -0,0 +1,15 @@
+diff -pruN qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp
+--- qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp 2006-12-04 18:47:11.000000000 +0530
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-12-05 12:05:10.000000000 +0530
+@@ -1412,7 +1412,10 @@ static bool indic_shape_syllable(QOpenTy
+ toPos += 2;
+ if (script == QFont::Devanagari || script == QFont::Gujarati || script == QFont::Bengali) {
+ if (matra_position == Post || matra_position == Split) {
+- toPos = matra+1;
++ if (matra_position == Post )
++ toPos = matra;
++ else
++ toPos = matra+1;
+ matra -= 2;
+ }
+ } else if (script == QFont::Kannada) {
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch
new file mode 100644
index 000000000..cdb543b25
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch
@@ -0,0 +1,60 @@
+--- tqt3/src/kernel/qscriptengine_x11.cpp.fontrendering-ml_IN-bz#209097 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qscriptengine_x11.cpp 2012-02-13 21:36:07.227917886 +0100
+@@ -871,7 +871,7 @@
+ None, None, None, None,
+ None, None, None, Post,
+
+- Post, None, Below, None,
++ None, None, None, None,
+ None, Post, None, None,
+ None, None, None, None,
+ None, None, Post, Post,
+@@ -1274,6 +1274,16 @@
+ int base = 0;
+ int reph = -1;
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ bool is_special_conjuction_malayalam = false;
++
++ if ((len == 3) &&
++ ((reordered[2] == 0x0d30) || (reordered[2] == 0x0d31)) &&
++ (reordered[1] == 0x0d4d) &&
++ ((reordered[0] >= 0x0d15) && (reordered[0] <= 0x0d39))) {
++ is_special_conjuction_malayalam = true;
++ }
++
+ #ifdef INDIC_DEBUG
+ IDEBUG("original:");
+ for (i = 0; i < len; i++) {
+@@ -1550,6 +1560,15 @@
+ reph = i;
+ }
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ if (is_special_conjuction_malayalam) {
++ unsigned short temp;
++
++ temp = reordered[0];
++ reordered[0] = reordered[2];
++ reordered[2] = temp;
++ }
++
+ if (item->font->stringToCMap((const TQChar *)reordered.data(), len, item->glyphs, item->advances,
+ &item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
+ return FALSE;
+@@ -1661,6 +1680,15 @@
+
+ // halant always applies
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ if (is_special_conjuction_malayalam) {
++ unsigned int temp;
++
++ temp = properties[0];
++ properties[0] = ~PreSubstProperty;
++ properties[2] = temp;
++ }
++
+ #ifdef INDIC_DEBUG
+ {
+ IDEBUG("OT properties:");
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch
new file mode 100644
index 000000000..276441c22
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch
@@ -0,0 +1,11 @@
+--- tqt3/src/kernel/qfont_x11.cpp.fontrendering-ml_IN-217657 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qfont_x11.cpp 2012-02-13 21:45:39.903520249 +0100
+@@ -712,7 +712,7 @@
+ if ( script >= TQFont::Arabic && script <= TQFont::Khmer ) {
+ // complex script shaping. Have to do some hard work
+ int from = TQMAX( 0, pos - 8 );
+- int to = TQMIN( (int)str.length(), pos + 8 );
++ int to = str.length();
+ TQConstString cstr( str.unicode()+from, to-from);
+ TQTextEngine layout( cstr.string(), d );
+ layout.itemize( TQTextEngine::WidthOnly );
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-nodebug.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-nodebug.patch
new file mode 100644
index 000000000..ccfd411ff
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-nodebug.patch
@@ -0,0 +1,15 @@
+--- tqt3/src/tools/qgpluginmanager.cpp.ndebug 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/tools/qgpluginmanager.cpp 2012-02-13 19:25:05.653477747 +0100
+@@ -506,10 +506,12 @@
+ (*f).latin1(),
+ (const char*) TQFile::encodeName( old->library() ) );
+ } else {
++/*
+ qWarning("%s: Feature %s already defined in %s!",
+ (const char*) TQFile::encodeName( old->library() ),
+ (*f).latin1(),
+ (const char*) TQFile::encodeName( plugin->library() ) );
++*/
+ }
+ }
+ }
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-odbc.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-odbc.patch
new file mode 100644
index 000000000..3a5aea885
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-odbc.patch
@@ -0,0 +1,18 @@
+--- tqt3/src/sql/drivers/odbc/qsql_odbc.cpp.odbc 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/sql/drivers/odbc/qsql_odbc.cpp 2012-02-13 21:47:25.232367854 +0100
+@@ -61,13 +61,13 @@
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#ifdef SQLLEN
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define TQSQLLEN SQLLEN
+ #else
+ # define TQSQLLEN SQLINTEGER
+ #endif
+
+-#ifdef SQLULEN
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define TQSQLULEN SQLULEN
+ #else
+ # define TQSQLULEN SQLUINTEGER
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
new file mode 100644
index 000000000..88e066aa9
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
@@ -0,0 +1,92 @@
+--- qt-x11-free-3.3.6/src/widgets/qtextedit.cpp.preedit 2006-06-28 17:18:08.000000000 +0200
++++ qt-x11-free-3.3.6/src/widgets/qtextedit.cpp 2006-06-28 17:20:09.000000000 +0200
+@@ -1906,9 +1906,6 @@
+
+ void TQTextEdit::removeSelectedText( int selNum )
+ {
+- if(selNum != 0)
+- resetInputContext();
+-
+ TQTextCursor c1 = doc->selectionStartCursor( selNum );
+ c1.restoreState();
+ TQTextCursor c2 = doc->selectionEndCursor( selNum );
+@@ -3171,7 +3168,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ TQTextParagraph *p = doc->paragAt( para );
+ if ( !p )
+ return;
+@@ -3198,7 +3194,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3240,7 +3235,6 @@
+ if ( d->optimMode )
+ return;
+ #endif
+- resetInputContext();
+ TQTextParagraph *p = doc->paragAt( para );
+ if ( !p )
+ return;
+@@ -3285,7 +3279,6 @@
+ if ( isReadOnly() || !doc->commands()->isUndoAvailable() || !undoEnabled )
+ return;
+
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3336,7 +3329,6 @@
+ if ( isReadOnly() || !doc->commands()->isRedoAvailable() || !undoEnabled )
+ return;
+
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3450,7 +3442,6 @@
+ {
+ if ( isReadOnly() )
+ return;
+- resetInputContext();
+ normalCopy();
+ removeSelectedText();
+ updateMicroFocusHint();
+@@ -3938,7 +3929,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ if ( !isModified() && isReadOnly() &&
+ this->context() == context && this->text() == text )
+ return;
+@@ -4112,7 +4102,6 @@
+ if ( !p )
+ return;
+
+- resetInputContext();
+ if ( index > p->length() - 1 )
+ index = p->length() - 1;
+
+@@ -4169,7 +4158,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ if ( doc->hasSelection( selNum ) ) {
+ doc->removeSelection( selNum );
+ repaintChanged();
+@@ -5072,7 +5060,6 @@
+ {
+ if ( dc == doc )
+ return;
+- resetInputContext();
+ doc = dc;
+ delete cursor;
+ cursor = new QTextCursor( doc );
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-quiet.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-quiet.patch
new file mode 100644
index 000000000..cb6080ab5
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-quiet.patch
@@ -0,0 +1,13 @@
+--- tqt3/src/kernel/qpixmap_x11.cpp.quiet 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qpixmap_x11.cpp 2012-02-13 21:24:08.190653338 +0100
+@@ -394,8 +394,8 @@
+ {
+ #if defined(QT_CHECK_STATE)
+ if ( qApp->type() == TQApplication::Tty ) {
+- qWarning( "TQPixmap: Cannot create a TQPixmap when no GUI "
+- "is being used" );
++// qWarning( "TQPixmap: Cannot create a TQPixmap when no GUI "
++// "is being used" );
+ }
+ #endif
+
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch
new file mode 100644
index 000000000..39a42e6f5
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch
@@ -0,0 +1,12 @@
+--- qt-x11-free-3.3.2/tools/designer/uic/main.cpp.sopwith 2004-06-16 17:14:17.000000000 -0400
++++ qt-x11-free-3.3.2/tools/designer/uic/main.cpp 2004-06-16 17:21:43.000000000 -0400
+@@ -149,6 +149,9 @@
+ } else {
+ trmacro = &opt[1];
+ }
++ } else if ( opt == "nostdlib") {
++ TQStringList x;
++ TQApplication::setLibraryPaths(x);
+ } else if ( opt == "L" ) {
+ if ( !(n < argc-1) ) {
+ error = "Missing plugin path.";
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0-umask.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-umask.patch
new file mode 100644
index 000000000..9c24f9903
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0-umask.patch
@@ -0,0 +1,14 @@
+--- tqt3/src/tools/qsettings.cpp.umask 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/tools/qsettings.cpp 2012-02-13 19:28:00.802555882 +0100
+@@ -997,7 +997,10 @@
+ #endif
+
+ TQFile file( filename + ".tmp" );
+- if (! file.open(IO_WriteOnly)) {
++ mode_t old_umask = umask(0022);
++ bool f = file.open(IO_WriteOnly);
++ umask(old_umask);
++ if (! f) {
+
+ #ifdef QT_CHECK_STATE
+ qWarning("TQSettings::sync: failed to open '%s' for writing",
diff --git a/redhat/dependencies/tqt3/tqt3-3.4.0.spec b/redhat/dependencies/tqt3/tqt3-3.4.0.spec
new file mode 100644
index 000000000..f2530f3b4
--- /dev/null
+++ b/redhat/dependencies/tqt3/tqt3-3.4.0.spec
@@ -0,0 +1,656 @@
+# Always install under standard prefix
+%define _prefix /usr
+
+# This allows the legacy RHEL/Fedora patches to apply in TDE version.
+%define _default_patch_fuzz 2
+
+# The following QT4 packages should NOT be installed to
+# allow QT3 compilation (please uninstall them prior to compile)
+# qt
+# qt-sqlite
+# qt-mysql
+# qt-x11
+# qt-devel
+# ...maybe others !!!!
+
+%define _default_patch_fuzz 2
+
+Summary: The shared library for the Qt 3 GUI toolkit
+Version: 3.4.0
+Release: 1%{?dist}
+Name: tqt3
+
+#Obsoletes: qt < 1:%{version}-%{release}
+#Provides: qt = 1:%{version}-%{release}
+#Obsoletes: qt3 < 1:%{version}-%{release}
+#Provides: qt3 = 1:%{version}-%{release}
+
+License: QPL or GPLv2 or GPLv3
+Group: System Environment/Libraries
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Url: http://www.troll.no
+Source0: %{name}-%{version}.tar.gz
+#Source2: qt.sh
+#Source3: qt.csh
+Source4: designer3.desktop
+Source5: assistant3.desktop
+Source6: linguist3.desktop
+Source7: qtconfig3.desktop
+
+Patch1: qt-3.3.4-print-CJK.patch
+Patch2: tqt3-3.4.0-nodebug.patch
+Patch3: qt-3.1.0-makefile.patch
+Patch4: tqt3-3.4.0-umask.patch
+Patch5: qt-x11-free-3.3.6-strip.patch
+Patch7: tqt3-3.4.0-quiet.patch
+Patch8: tqt3-3.4.0-embed.patch
+Patch12: tqt3-3.4.0-uic-nostdlib.patch
+Patch13: qt-x11-free-3.3.6-qfontdatabase_x11.patch
+Patch27: tqt3-3.4.0-fontrendering-ml_IN-209097.patch
+Patch29: qt-3.3.8-fontrendering-as_IN-209972.patch
+Patch31: qt-3.3.6-fontrendering-te_IN-211259.patch
+Patch32: tqt3-3.4.0-fontrendering-214371.patch
+Patch33: tqt3-3.4.0-fontrendering-#214570.patch
+Patch34: qt-3.3.6-fontrendering-ml_IN-209974.patch
+Patch35: tqt3-3.4.0-fontrendering-ml_IN-217657.patch
+Patch37: qt-3.3.6-fontrendering-gu-228452.patch
+Patch38: tqt3-3.4.0-odbc.patch
+Patch39: qt-x11-free-3.3.7-arm.patch
+Patch40: qt-x11-free-3.3.8b-typo.patch
+
+# immodule patches
+Patch53: tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
+
+# qt-copy patches
+Patch110: 0084-compositing-properties.patch
+
+# upstream patches
+Patch200: qt-x11-free-3.3.4-fullscreen.patch
+
+# TDE 3.5.13 patches
+Patch300: qt3-3.3.8.d-updates_zh-tw_translations.patch
+
+%define immodule 1
+%define debug 0
+
+# MySQL plugins
+%define plugin_mysql -plugin-sql-mysql
+%define mysql_include_dir %{_includedir}/mysql
+%define mysql_lib_dir %{_libdir}/mysql
+
+# Postgres plugins
+%define plugin_psql -plugin-sql-psql
+
+# ODBC plugins
+%define plugin_odbc -plugin-sql-odbc
+
+# sqlite plugins
+%define plugin_sqlite -plugin-sql-sqlite
+
+%define plugins_style -qt-style-cde -qt-style-motifplus -qt-style-platinum -qt-style-sgi -qt-style-windows -qt-style-compact -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng
+%define plugins %{plugin_mysql} %{plugin_psql} %{plugin_odbc} %{plugin_sqlite} %{plugins_style}
+
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: coreutils
+Requires: fontconfig >= 2.0
+Requires: /etc/ld.so.conf.d
+
+BuildRequires: desktop-file-utils
+BuildRequires: libmng-devel
+BuildRequires: glibc-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: zlib-devel
+BuildRequires: giflib-devel
+BuildRequires: perl
+BuildRequires: sed
+BuildRequires: findutils
+BuildRequires: cups-devel
+BuildRequires: tar
+BuildRequires: freetype-devel
+BuildRequires: fontconfig-devel
+BuildRequires: libXrender-devel
+BuildRequires: libXrandr-devel
+BuildRequires: libXcursor-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXft-devel
+BuildRequires: libXext-devel
+BuildRequires: libX11-devel
+BuildRequires: libSM-devel
+BuildRequires: libICE-devel
+BuildRequires: libXt-devel
+BuildRequires: libXmu-devel
+BuildRequires: libXi-devel
+BuildRequires: xorg-x11-proto-devel
+BuildRequires: mesa-libGL-devel
+BuildRequires: mesa-libGLU-devel
+BuildRequires: desktop-file-utils
+BuildRequires: mysql-devel
+BuildRequires: postgresql-devel
+BuildRequires: unixODBC-devel
+BuildRequires: sqlite-devel
+
+
+%package config
+Summary: Graphical configuration tool for programs using Qt 3
+Group: User Interface/Desktops
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+#Obsoletes: qt-config < 1:%{version}-%{release}
+#Provides: qt-config = 1:%{version}-%{release}
+#Obsoletes: qt3-config < 1:%{version}-%{release}
+#Provides: qt3-config = 1:%{version}-%{release}
+
+
+%package devel
+Summary: Development files for the Qt 3 GUI toolkit
+Group: Development/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+Requires: freetype-devel
+Requires: fontconfig-devel
+Requires: libXrender-devel
+Requires: libXrandr-devel
+Requires: libXcursor-devel
+Requires: libXinerama-devel
+Requires: libXft-devel
+Requires: libXext-devel
+Requires: libX11-devel
+Requires: libSM-devel
+Requires: libICE-devel
+Requires: libXt-devel
+Requires: xorg-x11-proto-devel
+Requires: libpng-devel
+Requires: libjpeg-devel
+Requires: libmng-devel
+Requires: mesa-libGL-devel
+Requires: mesa-libGLU-devel
+
+#Obsoletes: qt-devel < 1:%{version}-%{release}
+#Provides: qt-devel = 1:%{version}-%{release}
+#Obsoletes: qt3-devel < 1:%{version}-%{release}
+#Provides: qt3-devel = 1:%{version}-%{release}
+
+
+%package devel-docs
+Summary: Documentation for the Qt 3 GUI toolkit
+Group: Development/Libraries
+Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-devel-docs < 1:%{version}-%{release}
+#Provides: qt-devel-docs = 1:%{version}-%{release}
+#Obsoletes: qt3-devel-docs < 1:%{version}-%{release}
+#Provides: qt3-devel-docs = 1:%{version}-%{release}
+
+
+%package ODBC
+Summary: ODBC drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-ODBC < 1:%{version}-%{release}
+#Provides: qt-ODBC = 1:%{version}-%{release}
+#Obsoletes: qt3-ODBC < 1:%{version}-%{release}
+#Provides: qt3-ODBC = 1:%{version}-%{release}
+
+
+%package MySQL
+Summary: MySQL drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-MySQL < 1:%{version}-%{release}
+#Provides: qt-MySQL = 1:%{version}-%{release}
+#Obsoletes: qt3-MySQL < 1:%{version}-%{release}
+#Provides: qt3-MySQL = 1:%{version}-%{release}
+
+
+%package PostgreSQL
+Summary: PostgreSQL drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-PostgreSQL < 1:%{version}-%{release}
+#Provides: qt-PostgreSQL = 1:%{version}-%{release}
+#Obsoletes: qt3-PostgreSQL < 1:%{version}-%{release}
+#Provides: qt3-PostgreSQL = 1:%{version}-%{release}
+
+
+%package sqlite
+Summary: sqlite drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-sqlite < 1:%{version}-%{release}
+#Provides: qt-sqlite = 1:%{version}-%{release}
+#Obsoletes: qt3-sqlite < 1:%{version}-%{release}
+#Provides: qt3-sqlite = 1:%{version}-%{release}
+
+
+%package designer
+Summary: In3erface designer (IDE) for the Qt 3 toolkit
+Group: Development/Tools
+Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
+
+#Obsoletes: qt-designer < 1:%{version}-%{release}
+#Provides: qt-designer = 1:%{version}-%{release}
+#Obsoletes: qt3-designer < 1:%{version}-%{release}
+#Provides: qt3-designer = 1:%{version}-%{release}
+
+
+%description
+Qt is a GUI software toolkit which simplifies the task of writing and
+maintaining GUI (Graphical User Interface) applications
+for the X Window System.
+
+Qt is written in C++ and is fully object-oriented.
+
+This package contains the shared library needed to run Qt 3
+applications, as well as the README files for Qt 3.
+
+
+%description config
+Qt is a GUI software toolkit which simplifies the task of writing and
+maintaining GUI (Graphical User Interface) applications
+for the X Window System.
+
+Qt is written in C++ and is fully object-oriented.
+
+This package contains a graphical configuration tool for programs using Qt 3.
+
+
+%description devel
+The %{name}-devel package contains the files necessary to develop
+applications using the Qt GUI toolkit: the header files, the Qt meta
+object compiler.
+
+Install %{name}-devel if you want to develop GUI applications using the Qt 3
+toolkit.
+
+
+%description devel-docs
+The %{name}-devel-docs package contains the man pages, the HTML documentation and
+example programs for Qt 3.
+
+
+%description ODBC
+ODBC driver for Qt 3's SQL classes (QSQL)
+
+
+%description MySQL
+MySQL driver for Qt 3's SQL classes (QSQL)
+
+
+%description PostgreSQL
+PostgreSQL driver for Qt 3's SQL classes (QSQL)
+
+
+%description sqlite
+sqlite driver for Qt 3's SQL classes (QSQL)
+
+
+%description designer
+The %{name}-designer package contains an User Interface designer tool
+for the Qt 3 toolkit.
+
+
+%prep
+%setup -q -n %{name}
+%patch1 -p1 -b .cjk
+%patch2 -p1 -b .ndebug
+%patch3 -p1 -b .makefile
+%patch4 -p1 -b .umask
+%patch5 -p1
+%patch7 -p1 -b .quiet
+%patch8 -p1 -b .qembed
+%patch12 -p1 -b .nostdlib
+%patch13 -p1 -b .fonts
+%patch27 -p1 -b .fontrendering-ml_IN-bz#209097
+%patch29 -p1 -b .fontrendering-as_IN-bz#209972
+%patch31 -p1 -b .fontrendering-te_IN-bz#211259
+%patch32 -p1 -b .fontrendering-bz#214371
+%patch33 -p1 -b .fontrendering-#214570
+%patch34 -p1 -b .fontrendering-#209974
+%patch35 -p1 -b .fontrendering-ml_IN-217657
+%patch37 -p1 -b .fontrendering-gu-228452
+%patch38 -p1 -b .odbc
+# it's not 100% clear to me if this is safe for all archs -- Rex
+%ifarch armv5tel
+%patch39 -p1 -b .arm
+%endif
+%patch40 -p1
+
+# immodule patches
+%if %{immodule}
+%patch53 -p1 -b .resetinputcontext
+%endif
+
+# qt-copy patches
+%patch110 -p0 -b .0084-compositing-properties
+
+# upstream patches
+%patch200 -p1 -b .fullscreen
+
+# TDE 3.5.13 patches
+%patch300 -p1
+
+# convert to UTF-8
+iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_
+mv doc/man/man3/qdial.3qt_ doc/man/man3/qdial.3qt
+
+%build
+%if %{immodule}
+ sh ./make-symlinks.sh
+%endif
+
+# set correct X11 prefix
+perl -pi -e "s,QMAKE_LIBDIR_X11.*,QMAKE_LIBDIR_X11\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_INCDIR_X11.*,QMAKE_INCDIR_X11\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_INCDIR_OPENGL.*,QMAKE_INCDIR_OPENGL\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_LIBDIR_OPENGL.*,QMAKE_LIBDIR_OPENGL\t=," mkspecs/*/qmake.conf
+
+# don't use rpath
+perl -pi -e "s|-Wl,-rpath,| |" mkspecs/*/qmake.conf
+
+perl -pi -e "s|-O2|$INCLUDES %{optflags} -fno-strict-aliasing|g" mkspecs/*/qmake.conf
+
+# set correct lib path
+if [ "%{_lib}" == "lib64" ] ; then
+ perl -pi -e "s,/usr/lib /lib,/usr/%{_lib} /%{_lib},g" config.tests/{unix,x11}/*.test
+ perl -pi -e "s,/lib /usr/lib,/%{_lib} /usr/%{_lib},g" config.tests/{unix,x11}/*.test
+fi
+
+# build shared, threaded (default) libraries
+echo yes | ./configure \
+ -prefix "%{_prefix}" \
+ -libdir "%{_libdir}" \
+ -docdir "%{_docdir}/%{name}-%{version}" \
+ -sysconfdir "%{_sysconfdir}/%{name}" \
+ -datadir "%{_datadir}/%{name}" \
+ -headerdir "%{_includedir}/%{name}" \
+ -plugindir "%{_libdir}/%{name}/plugins" \
+ -translationdir "%{_datadir}/%{name}/translations" \
+%if %{_lib} == lib64
+ -platform linux-g++-64 \
+%else
+ -platform linux-g++ \
+%endif
+%if %{debug}
+ -debug \
+%else
+ -release \
+%endif
+ -shared \
+ -largefile \
+ -qt-gif \
+ -system-zlib \
+ -system-libpng \
+ -system-libmng \
+ -system-libjpeg \
+ -no-exceptions \
+ -enable-styles \
+ -enable-tools \
+ -enable-kernel \
+ -enable-widgets \
+ -enable-dialogs \
+ -enable-iconview \
+ -enable-workspace \
+ -enable-network \
+ -enable-canvas \
+ -enable-table \
+ -enable-xml \
+ -enable-opengl \
+ -enable-sql \
+ -qt-style-motif \
+ %{plugins} \
+ -stl \
+ -thread \
+ -cups \
+ -sm \
+ -xinerama \
+ -xrender \
+ -xkb \
+ -ipv6 \
+ -dlopen-opengl \
+ -xft \
+ -tablet
+
+%__make %{?_smp_mflags} src-qmake
+
+
+# build sqlite plugin
+pushd plugins/src/sqldrivers/sqlite
+qmake -o Makefile sqlite.pro
+popd
+
+# build psql plugin
+pushd plugins/src/sqldrivers/psql
+qmake -o Makefile "INCLUDEPATH+=%{_includedir}/pgsql %{_includedir}/pgsql/server %{_includedir}/pgsql/internal" "LIBS+=-lpq" psql.pro
+popd
+
+# build mysql plugin
+pushd plugins/src/sqldrivers/mysql
+qmake -o Makefile "INCLUDEPATH+=%{mysql_include_dir}" "LIBS+=-L%{mysql_lib_dir} -lmysqlclient" mysql.pro
+popd
+
+# build odbc plugin
+pushd plugins/src/sqldrivers/odbc
+qmake -o Makefile "LIBS+=-lodbc" odbc.pro
+popd
+
+%__make %{?_smp_mflags} src-moc
+%__make %{?_smp_mflags} sub-src
+%__make %{?_smp_mflags} sub-tools
+
+%install
+%__rm -rf %{buildroot}
+%__make install INSTALL_ROOT=%{buildroot}
+
+for i in findtr qt20fix qtrename140 lrelease lupdate ; do
+ %__install bin/$i %{buildroot}%{_bindir}
+done
+
+# install man pages
+%__mkdir_p %{buildroot}%{_mandir}
+%__cp -fR doc/man/* %{buildroot}%{_mandir}/
+
+# clean up
+%__make -C tutorial clean
+%__make -C examples clean
+
+# Make sure the examples can be built outside the source tree.
+# Our binaries fulfill all requirements, so...
+perl -pi -e "s,^DEPENDPATH.*,,g;s,^REQUIRES.*,,g" `find examples -name "*.pro"`
+
+# don't include Makefiles of qt examples/tutorials
+find examples -name "Makefile" | xargs rm -f
+find examples -name "*.obj" | xargs rm -rf
+find examples -name "*.moc" | xargs rm -rf
+find tutorial -name "Makefile" | xargs rm -f
+
+for a in */*/Makefile ; do
+ sed 's|^SYSCONF_MOC.*|SYSCONF_MOC = %{_bindir}/moc|' < $a > ${a}.2
+ mv -v ${a}.2 $a
+done
+
+# Add desktop files
+%__mkdir_p %{buildroot}%{_datadir}/applications
+desktop-file-install \
+ --dir %{buildroot}%{_datadir}/applications \
+ --vendor="qt" \
+ %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7}
+
+# Patch qmake to use qt-mt unconditionally
+perl -pi -e "s,-lqt ,-lqt-mt ,g;s,-lqt$,-lqt-mt,g" %{buildroot}%{_datadir}/%{name}/mkspecs/*/qmake.conf
+
+# remove broken links
+%__rm -f %{buildroot}%{_datadir}/%{name}/mkspecs/default/linux-g++*
+%__rm -f %{buildroot}%{_libdir}/*.la
+
+# install icons
+%__mkdir_p %{buildroot}%{_datadir}/pixmaps
+%__install -m 644 tools/assistant/images/qt.png %{buildroot}%{_datadir}/pixmaps/qtconfig3.png
+%__install -m 644 tools/assistant/images/designer.png %{buildroot}%{_datadir}/pixmaps/designer3.png
+%__install -m 644 tools/assistant/images/assistant.png %{buildroot}%{_datadir}/pixmaps/assistant3.png
+%__install -m 644 tools/assistant/images/linguist.png %{buildroot}%{_datadir}/pixmaps/linguist3.png
+
+# own style directory
+%__mkdir_p %{buildroot}%{_libdir}/%{name}/plugins/styles
+
+# rename some binaries to make tqt3/4 installations possible
+for b in designer uic moc lupdate lrelease qmake qtconfig assistant linguist; do
+ %__mv -f %{buildroot}%{_bindir}/${b} %{buildroot}%{_bindir}/${b}-%{name}
+done
+
+%clean
+%__rm -rf %{buildroot}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc FAQ LICENSE* README* changes*
+%dir %{_libdir}/%{name}/plugins
+%dir %{_libdir}/%{name}/plugins/sqldrivers
+%dir %{_libdir}/%{name}/plugins/styles
+%{_datadir}/%{name}/translations
+%{_libdir}/%{name}/plugins/designer/
+%if %{immodule}
+%{_libdir}/%{name}/plugins/inputmethods
+%endif
+%{_libdir}/libtqui.so.*
+%{_libdir}/libtqt*.so.*
+
+# TQT 3.4.0: WTF is this file ??
+%exclude %{_mandir}/README
+
+%files config
+%defattr(-,root,root,-)
+%{_bindir}/qtconfig-%{name}
+%{_datadir}/applications/*qtconfig*.desktop
+%{_datadir}/pixmaps/qtconfig3.png
+
+%files devel
+%defattr(-,root,root,-)
+%{_docdir}/%{name}-%{version}
+%{_bindir}/moc-%{name}
+%{_bindir}/uic-%{name}
+%{_bindir}/findtr
+%{_bindir}/qt20fix
+%{_bindir}/qtrename140
+%{_bindir}/assistant-%{name}
+%{_bindir}/qm2ts
+%{_bindir}/qmake-%{name}
+%{_bindir}/qembed
+%{_bindir}/linguist-%{name}
+%{_bindir}/lupdate-%{name}
+%{_bindir}/lrelease-%{name}
+%{_includedir}/%{name}
+%{_datadir}/%{name}/mkspecs
+%{_libdir}/libtqt*.so
+%{_libdir}/libtqui.so
+%{_libdir}/libeditor.a
+%{_libdir}/libdesigner*.a
+%{_libdir}/libqassistantclient.a
+%{_libdir}/*.prl
+%{_datadir}/%{name}/phrasebooks
+%{_libdir}/pkgconfig/*
+%{_datadir}/applications/*linguist*.desktop
+%{_datadir}/applications/*assistant*.desktop
+%{_datadir}/pixmaps/linguist3.png
+%{_datadir}/pixmaps/assistant3.png
+
+# QT 3.3.8.D (TDE): 4 binaries have appeared
+%{_bindir}/createcw
+%{_bindir}/makeqpf
+%{_bindir}/mergetr
+%{_bindir}/msg2qm
+
+# QT 3.3.8.D (TDE): removes lots of unnecessary include files
+# (where do they come from ??? They were not in 3.3.8b !)
+%exclude %{_includedir}/%{name}/btree.h
+%exclude %{_includedir}/%{name}/crc32.h
+%exclude %{_includedir}/%{name}/debian_qsql_odbc.h
+%exclude %{_includedir}/%{name}/deflate.h
+%exclude %{_includedir}/%{name}/ftglue.h
+%exclude %{_includedir}/%{name}/ftxgdef.h
+%exclude %{_includedir}/%{name}/ftxgpos.h
+%exclude %{_includedir}/%{name}/ftxgsub.h
+%exclude %{_includedir}/%{name}/ftxopen.h
+%exclude %{_includedir}/%{name}/ftxopenf.h
+%exclude %{_includedir}/%{name}/hash.h
+%exclude %{_includedir}/%{name}/inffast.h
+%exclude %{_includedir}/%{name}/inffixed.h
+%exclude %{_includedir}/%{name}/inflate.h
+%exclude %{_includedir}/%{name}/inftrees.h
+%exclude %{_includedir}/%{name}/jchuff.h
+%exclude %{_includedir}/%{name}/jconfig.h
+%exclude %{_includedir}/%{name}/jdct.h
+%exclude %{_includedir}/%{name}/jdhuff.h
+%exclude %{_includedir}/%{name}/jerror.h
+%exclude %{_includedir}/%{name}/jinclude.h
+%exclude %{_includedir}/%{name}/jmemsys.h
+%exclude %{_includedir}/%{name}/jmorecfg.h
+%exclude %{_includedir}/%{name}/jversion.h
+%exclude %{_includedir}/%{name}/moc_yacc.h
+%exclude %{_includedir}/%{name}/opcodes.h
+%exclude %{_includedir}/%{name}/os.h
+%exclude %{_includedir}/%{name}/otlbuffer.h
+%exclude %{_includedir}/%{name}/pager.h
+%exclude %{_includedir}/%{name}/parse.h
+%exclude %{_includedir}/%{name}/pngasmrd.h
+%exclude %{_includedir}/%{name}/pngconf.h
+%exclude %{_includedir}/%{name}/sqlite.h
+%exclude %{_includedir}/%{name}/sqliteInt.h
+%exclude %{_includedir}/%{name}/trees.h
+%exclude %{_includedir}/%{name}/vdbe.h
+%exclude %{_includedir}/%{name}/vdbeInt.h
+%exclude %{_datadir}/%{name}/mkspecs/linux-g++-sparc
+
+%files devel-docs
+%defattr(-,root,root,-)
+%doc examples
+%doc tutorial
+%{_mandir}/*/*
+
+%files sqlite
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/plugins/sqldrivers/libqsqlite.so
+
+%files ODBC
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/plugins/sqldrivers/libqsqlodbc.so
+
+%files PostgreSQL
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/plugins/sqldrivers/libqsqlpsql.so
+
+%files MySQL
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/plugins/sqldrivers/libqsqlmysql.so
+
+%files designer
+%defattr(-,root,root,-)
+%{_datadir}/%{name}/templates
+%{_bindir}/designer-%{name}
+%{_datadir}/applications/*designer*.desktop
+%{_datadir}/pixmaps/designer3.png
+
+
+%changelog
+* Mon Feb 13 2012 Francois Andriot <francois.andriot@free.fr> - 3.4.0-1
+- Initial build for TDE R14
+- Renames 'qt3' to 'tqt3'
+- Spec file based on 'qt3-3.3.8b-30' from RHEL 6
+
+* Sun Dec 18 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-3
+- Updates zh_TW translations, thanks to Wei-Lun Chao .
+
+* Thu Nov 03 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-2
+- Add missing BuildRequires
+
+* Fri Sep 02 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-1
+- Initial build for RHEL 6, RHEL 5, and Fedora 15
+- Switch to Trinity Version
+- Spec file based on RHEL 6 'qt3-3.3.8b-29'
diff --git a/redhat/dependencies/tqtinterface/tqtinterface-r14.spec b/redhat/dependencies/tqtinterface/tqtinterface-r14.spec
new file mode 100755
index 000000000..97cfa834c
--- /dev/null
+++ b/redhat/dependencies/tqtinterface/tqtinterface-r14.spec
@@ -0,0 +1,91 @@
+# Always build under "/usr"
+%define _prefix /usr
+%define cmake_modules_dir %{_datadir}/cmake/Modules
+
+Name: tqtinterface
+Version: r14
+Release: 1%{?dist}
+License: GPL
+Summary: Trinity QT Interface
+Group: System Environment/Libraries
+
+Vendor: Trinity Project
+URL: http://www.trinitydesktop.org/
+Packager: Francois Andriot <francois.andriot@free.fr>
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Source0: %{name}-%{version}.tar.gz
+
+
+BuildRequires: cmake >= 2.8
+BuildRequires: tqt3-devel >= 3.4.0
+BuildRequires: gcc-c++
+BuildRequires: libXi-devel
+BuildRequires: pth-devel
+
+Requires: tqt3 >= 3.4.0
+
+%description
+Trinity QT Interface
+
+%package devel
+Group: Development/Libraries
+Summary: %{name} - Development files
+Requires: %{name} = %{version}-%{release}
+Requires: tqt3-devel >= 3.4.0
+
+%description devel
+Development files for %{name}
+
+%prep
+%setup -q -n dependencies/%{name}
+
+%build
+%__mkdir build
+cd build
+%cmake \
+ -DQT_VERSION=3 \
+ -DINCLUDE_INSTALL_DIR=%{_includedir}/tqt \
+ -DMOC_EXECUTABLE=/usr/bin/moc-tqt3 \
+ -DUIC_EXECUTABLE=/usr/bin/uic-tqt3 \
+ ..
+
+%__make %{?_smp_mflags}
+
+
+%install
+%__rm -rf %{?buildroot}
+%__make install DESTDIR=%{?buildroot} -C build
+
+# RHEL 5: add newline at end of include files to avoid warnings
+%if 0%{?rhel} && 0%{?rhel} <= 5
+for i in %{?buildroot}%{_includedir}/*.h; do
+ echo "" >>${i}
+done
+%endif
+
+# Install 'cmake' modules for development use
+%__mkdir_p %{?buildroot}%{cmake_modules_dir}
+for i in cmake/modules/*.cmake; do
+ %__install -m 644 $i %{?buildroot}%{cmake_modules_dir}
+done
+
+%clean
+%__rm -rf %{?buildroot}
+
+%files
+%{_bindir}/*
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/tqt/
+%{_libdir}/*.so
+%{_libdir}/*.la
+%{_libdir}/pkgconfig/*.pc
+%{cmake_modules_dir}/*.cmake
+
+
+%changelog
+* Tue Feb 14 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/extras/kdebluetooth/kdebluetooth-1.0_beta8-gcc43.patch b/redhat/extras/kdebluetooth/kdebluetooth-1.0_beta8-gcc43.patch
new file mode 100644
index 000000000..abe24f805
--- /dev/null
+++ b/redhat/extras/kdebluetooth/kdebluetooth-1.0_beta8-gcc43.patch
@@ -0,0 +1,110 @@
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/kcm_btpaired/pairedtab.h~ kdebluetooth-1.0_beta8/kdebluetooth/kcm_btpaired/pairedtab.h
+--- kdebluetooth-1.0_beta8/kdebluetooth/kcm_btpaired/pairedtab.h~ 2007-09-17 19:52:30.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/kcm_btpaired/pairedtab.h 2008-01-06 15:45:56.000000000 +0200
+@@ -29,6 +29,7 @@
+ #define PAIREDTAB_H
+
+ #include "pairedtabbase.h"
++#include <stdint.h>
+ #include <qcstring.h>
+ #include <qdatastream.h>
+ #include <qstringlist.h>
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverops.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverops.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverops.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverops.cpp 2008-01-06 15:58:29.000000000 +0200
+@@ -28,6 +28,7 @@
+ #include "qobexserverops.h"
+ #include "qobexauth.h"
+
++#undef myDebug
+ #undef DEBUG
+ // #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverconnection.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverconnection.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverconnection.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserverconnection.cpp 2008-01-06 15:57:54.000000000 +0200
+@@ -42,6 +42,7 @@
+ #include "qobexnullserverops.h"
+ #include "qobexserverops.h"
+
++#undef myDebug
+ #undef DEBUG
+ #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexclient.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexclient.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexclient.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexclient.cpp 2008-01-06 15:56:55.000000000 +0200
+@@ -31,6 +31,7 @@
+
+ #include "qobexclient.h"
+
++#undef myDebug
+ //#undef DEBUG
+ #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserialtransport.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserialtransport.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserialtransport.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserialtransport.cpp 2008-01-06 15:59:12.000000000 +0200
+@@ -31,6 +31,7 @@
+
+ #include "qobexserialtransport.h"
+
++#undef myDebug
+ #undef DEBUG
+ // #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobextransport.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobextransport.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobextransport.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobextransport.cpp 2008-01-06 15:57:32.000000000 +0200
+@@ -46,6 +46,7 @@
+
+ #include "qobextransport.h"
+
++#undef myDebug
+ //#undef DEBUG
+ #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qserialdevice.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qserialdevice.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qserialdevice.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qserialdevice.cpp 2008-01-06 15:58:59.000000000 +0200
+@@ -43,6 +43,7 @@
+ #include "qttylock.h"
+ #include "qserialdevice.h"
+
++#undef myDebug
+ #undef DEBUG
+ // #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexbase.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexbase.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexbase.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexbase.cpp 2008-01-06 15:58:05.000000000 +0200
+@@ -23,6 +23,7 @@
+
+ #include "qobexbase.h"
+
++#undef myDebug
+ #undef DEBUG
+ // #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserver.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserver.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserver.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexserver.cpp 2008-01-06 15:57:13.000000000 +0200
+@@ -31,6 +31,7 @@
+
+ #include "qobexserver.h"
+
++#undef myDebug
+ #undef DEBUG
+ // #define DEBUG
+ #ifdef DEBUG
+diff -up kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexericssontransport.cpp~ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexericssontransport.cpp
+--- kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexericssontransport.cpp~ 2007-09-17 19:52:31.000000000 +0300
++++ kdebluetooth-1.0_beta8/kdebluetooth/libqobex/qobex/qobexericssontransport.cpp 2008-01-06 15:58:44.000000000 +0200
+@@ -31,6 +31,7 @@
+
+ #include "qobexericssontransport.h"
+
++#undef myDebug
+ #undef DEBUG
+ #define DEBUG
+ #ifdef DEBUG
diff --git a/redhat/extras/kdebluetooth/kdebluetooth-trinity.patch b/redhat/extras/kdebluetooth/kdebluetooth-trinity.patch
new file mode 100644
index 000000000..db62a3b8c
--- /dev/null
+++ b/redhat/extras/kdebluetooth/kdebluetooth-trinity.patch
@@ -0,0 +1,131 @@
+diff -Nuar kdebluetooth.ORI/admin/acinclude.m4.in kdebluetooth.P/admin/acinclude.m4.in
+--- kdebluetooth.ORI/admin/acinclude.m4.in 2012-02-12 14:10:33.093808915 +0100
++++ kdebluetooth.P/admin/acinclude.m4.in 2012-02-12 14:13:57.437558226 +0100
+@@ -483,10 +483,10 @@
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+- kde_styledir='\${libdir}/kde3/plugins/styles'
++ kde_styledir='\${libdir}/trinity/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+- kde_widgetdir='\${libdir}/kde3/plugins/designer'
++ kde_widgetdir='\${libdir}/trinity/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+@@ -1813,7 +1813,7 @@
+
+ kde_widgetdir=NO
+ dnl this might be somewhere else
+-AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
++AC_FIND_FILE("trinity/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
+
+ if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+ AC_MSG_ERROR([
+@@ -1821,14 +1821,14 @@
+ So, check this please and use another prefix!])
+ fi
+
+-if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
++if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/trinity/plugins/designer/kdewidgets.la"; then
+ AC_MSG_ERROR([
+ I can't find the designer plugins. These are required and should have been installed
+ by kdelibs])
+ fi
+
+ if test -n "$kde_widgetdir"; then
+- kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
++ kde_widgetdir="$kde_widgetdir/trinity/plugins/designer"
+ fi
+
+
+diff -Nuar kdebluetooth.ORI/admin/cvs.sh kdebluetooth.P/admin/cvs.sh
+--- kdebluetooth.ORI/admin/cvs.sh 2012-02-12 14:10:33.093808915 +0100
++++ kdebluetooth.P/admin/cvs.sh 2012-02-12 14:11:27.951558154 +0100
+@@ -68,7 +68,7 @@
+ echo "*** KDE requires automake $required_automake_version"
+ exit 1
+ ;;
+- automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
++ automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.1[0-9]*)
+ echo "*** $AUTOMAKE_STRING found."
+ UNSERMAKE=no
+ ;;
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/libkbluetooth/Makefile.am.ORI 2012-02-12 14:40:37.124683567 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/libkbluetooth/Makefile.am 2012-02-12 14:41:13.572933231 +0100
+@@ -12,7 +12,7 @@
+ libkbluetooth_la_LIBADD = $(LIB_KDECORE) $(DBUS_LIBS) $(LIB_KIO) $(BLUETOOTH_LIBS) -ldbus-qt-1
+
+ libkbluetoothincludedir = $(includedir)/libkbluetooth
+-libkbluetoothinclude_HEADERS = adapter.h dbusinit.h dbussignal.h dbussignal.h manager.h inputdevice.h inputmanager.h \
++libkbluetoothinclude_HEADERS = adapter.h dbusinit.h dbussignal.h manager.h inputdevice.h inputmanager.h \
+ security.h dbusfilter.h service.h passkeyagent.h servicerecord.h devicemimeconverter.h \
+ deviceaddress.h rfcommsocket.h servicediscovery.h sdpservice.h namerequest.h adapter_old.h \
+ sdpdevice.h sdpattribute.h serviceselectionwidget.h inquiry.h hcisocket.h hcidefault.h \
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluetooth/Makefile.am.ORI 2012-02-12 15:23:53.713273076 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluetooth/Makefile.am 2012-02-12 15:24:04.547424194 +0100
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = kbluetooth
+
+ kbluetooth_SOURCES = adapterconfig.cpp adapterdialog.ui authorize.cpp authdialog.ui deviceconfig.cpp trayicon.cpp main.cpp application.cpp pindefdialog.ui pindialog.cpp confirmationdlgbase.ui confirmation.cpp rfcommportlistener.cpp procinheritsock.cpp portlistener.cpp sdprecord.cpp
+-kbluetooth_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries)
++kbluetooth_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries) -lDCOP -lkdefx
+ kbluetooth_LDADD = ../libkbluetooth/libkbluetooth.la $(LIB_KIO) $(LIB_KDEUI)
+
+ # this is where the desktop file will go
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluemon/Makefile.am.ORI 2012-02-12 15:27:57.544671388 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluemon/Makefile.am 2012-02-12 15:28:03.821758799 +0100
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = kbluemon
+
+ kbluemon_SOURCES = main.cpp monitor.cpp mondialog.ui
+-kbluemon_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries)
++kbluemon_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries) -lkdefx
+ kbluemon_LDADD = ../libkbluetooth/libkbluetooth.la $(LIB_KIO) $(LIB_KDEUI)
+
+ # this is where the desktop file will go
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluelock/Makefile.am.ORI 2012-02-12 15:29:34.900026701 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbluelock/Makefile.am 2012-02-12 15:29:40.774108449 +0100
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = kbluelock
+
+ kbluelock_SOURCES = main.cpp kbluelock.cpp lockdialog.ui
+-kbluelock_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries)
++kbluelock_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries) -lDCOP -lkdefx
+ kbluelock_LDADD = ../libkbluetooth/libkbluetooth.la $(LIB_KIO) $(LIB_KDEUI)
+
+ # this is where the desktop file will go
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kinputwizard/Makefile.am.ORI 2012-02-12 15:31:54.069962658 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kinputwizard/Makefile.am 2012-02-12 15:32:00.579053161 +0100
+@@ -4,7 +4,7 @@
+ bin_PROGRAMS = kinputwizard
+
+ kinputwizard_SOURCES = main.cpp inputwizard.cpp inputdialog.ui inputdialog_ext.ui
+-kinputwizard_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries)
++kinputwizard_LDFLAGS = $(KDE_RPATH) $(DBUS_LIBS) -ldbus-qt-1 $(all_libraries) -lkdefx
+ kinputwizard_LDADD = ../libkbluetooth/libkbluetooth.la $(LIB_KIO) $(LIB_KDEUI)
+
+
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbtobexsrv/Makefile.am.ORI 2012-02-12 15:33:26.869242631 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbtobexsrv/Makefile.am 2012-02-12 15:33:44.826485520 +0100
+@@ -19,7 +19,7 @@
+
+ # the application source, library search path, and link libraries
+ kbtobexsrv_SOURCES = main.cpp maindlg.cpp maindlgbase.ui myfileiconview.cpp
+-kbtobexsrv_LDFLAGS = $(KDE_RPATH) $(all_libraries)
++kbtobexsrv_LDFLAGS = $(KDE_RPATH) $(all_libraries) -lkdefx
+ kbtobexsrv_LDADD = ../libkbluetooth/libkbluetooth.la ../libkobex/libkobex.la $(LIB_KIO) $(OPENOBEX_LIBS) -lkio $(LIB_KDEUI) $(BLUETOOTH_LIBS)
+
+ # this is where the desktop file will go
+--- kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbtobexclient/Makefile.am.ORI 2012-02-12 15:35:17.239735523 +0100
++++ kdebluetooth-1.0~beta9~r769275/kdebluetooth/kbtobexclient/Makefile.am 2012-02-12 15:35:25.381845659 +0100
+@@ -17,7 +17,7 @@
+
+ # the application source, library search path, and link libraries
+
+-kbtobexclient_LDFLAGS = $(KDE_RPATH) $(all_libraries)
++kbtobexclient_LDFLAGS = $(KDE_RPATH) $(all_libraries) -lkdefx
+ kbtobexclient_LDADD = ../libkbluetooth/libkbluetooth.la ../libkobex/libkobex.la $(LIB_KIO) $(OPENOBEX_LIBS) -lkio $(LIB_KDEUI) $(BLUETOOTH_LIBS) $(DBUS_LIBS) -ldbus-qt-1
+
+ # this is where the desktop file will go
diff --git a/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275-0ubuntu1.diff.gz b/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275-0ubuntu1.diff.gz
new file mode 100644
index 000000000..ba1d19308
--- /dev/null
+++ b/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275-0ubuntu1.diff.gz
Binary files differ
diff --git a/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275.orig.tar.gz b/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275.orig.tar.gz
new file mode 100644
index 000000000..e9b080342
--- /dev/null
+++ b/redhat/extras/kdebluetooth/kdebluetooth_1.0~beta9~r769275.orig.tar.gz
Binary files differ
diff --git a/redhat/extras/kdebluetooth/trinity-kdebluetooth.spec b/redhat/extras/kdebluetooth/trinity-kdebluetooth.spec
new file mode 100644
index 000000000..b9d3aa2b2
--- /dev/null
+++ b/redhat/extras/kdebluetooth/trinity-kdebluetooth.spec
@@ -0,0 +1,365 @@
+# 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
+%endif
+
+Name: trinity-kdebluetooth
+Version: 1.0_beta9_r769275
+Release: 1%{?dist}%{?_variant}
+
+Summary: The TDE Bluetooth Framework
+
+License: GPLv2+
+Group: Applications/Communications
+URL: http://bluetooth.kmobiletools.org/
+
+Source0: kdebluetooth_1.0~beta9~r769275.orig.tar.gz
+Patch0: kdebluetooth-1.0_beta8-gcc43.patch
+Patch1: kdebluetooth_1.0~beta9~r769275-0ubuntu1.diff.gz
+Patch2: kdebluetooth-trinity.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: gettext
+BuildRequires: desktop-file-utils
+BuildRequires: lockdev-devel
+BuildRequires: xmms-devel
+BuildRequires: bluez-libs-devel
+BuildRequires: trinity-kdelibs-devel
+BuildRequires: trinity-kdepim-devel
+BuildRequires: openobex-devel >= 1.1
+BuildRequires: libusb-devel
+BuildRequires: pkgconfig
+Buildrequires: libidn-devel
+Buildrequires: dbus-qt-devel
+BuildRequires: obexftp-devel
+BuildRequires: automake >= 1.6.1
+BuildRequires: autoconf >= 2.52
+Requires: %{name}-libs = %{version}-%{release}
+Requires: %{_bindir}/kdesu
+
+
+
+%description
+The KDE Bluetooth Framework is a set of tools built on top of Linux'
+Bluetooth (Bluez) stack. The goal is to provide easy access to the most
+common Bluetooth profiles and to make data exchange with Bluetooth
+enabled devices as straightforward as possible.
+
+
+%package libs
+Summary: Base libraries for %{name}
+Group: System Environment/Libraries
+Obsoletes: %{name} < %{version}-%{release}
+
+%if 0%{?fedora} >= 8
+Provides: dbus-bluez-pin-helper
+%endif
+
+
+%description libs
+KDE Bluetooth framework libraries.
+
+
+%package devel
+Summary: Development files for %{name}
+Group: Development/Libraries
+Requires: trinity-kdelibs-devel
+Requires: bluez-libs-devel
+Requires: %{name}-libs = %{version}-%{release}
+
+
+%description devel
+KDE Bluetooth framework development libraries and headers.
+
+
+%prep
+%setup -q -n kdebluetooth-1.0~beta9~r769275
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%__cp -f "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in"
+if [ -r "/usr/share/libtool/config/ltmain.sh" ]; then
+ %__cp -f "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh"
+else
+ %__cp -f "/usr/share/libtool/ltmain.sh" "admin/ltmain.sh"
+fi
+%__make -f "admin/Makefile.common"
+
+
+%build
+export PATH="%{_bindir}:${PATH}"
+export LDFLAGS="-L%{_libdir} -I%{_includedir}"
+export CXXFLAGS="-fpermissive"
+
+unset QTDIR || : ; . /etc/profile.d/qt.sh
+%configure \
+ --with-bluetooth-libraries=%{_libdir} \
+ --disable-rpath \
+ --enable-new-ldflags \
+ --disable-debug \
+ --disable-dependency-tracking \
+ --enable-final \
+ --enable-closure \
+ --with-extra-includes=%{_includedir}/tqt
+
+make %{?_smp_mflags} LIBTOOL=/usr/bin/libtool
+
+
+%install
+export PATH="%{_bindir}:${PATH}"
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+for DESK_PATH in applications/kde applnk/Utilities ; do
+ desktop-file-install \
+ --mode=644 \
+ --vendor="" \
+ --dir=$RPM_BUILD_ROOT%{_datadir}/applications/kde \
+ --remove-category="Network" \
+ --add-category="System" \
+ --delete-original \
+ $RPM_BUILD_ROOT%{_datadir}/$DESK_PATH/*.desktop ||:
+done
+
+touch %{name}.lang
+PROG_LIST="kbluelock kbluemon kbluetooth kinputwizard
+ kcm_btpaired kio_bluetooth kio_obex2 kio_sdp
+ libkbluetooth kdebluetooth"
+for PROG in $PROG_LIST ; do
+ %find_lang $PROG && cat $PROG.lang >> %{name}.lang ||:
+done
+
+rm -f $RPM_BUILD_ROOT/%{_datadir}/applnk/Settings/Network/Bluetooth/.directory
+
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.a
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/kde3/*.a
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post
+/sbin/ldconfig
+touch --no-create %{_datadir}/icons/hicolor ||:
+gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2> /dev/null ||:
+
+
+%postun
+/sbin/ldconfig
+touch --no-create %{_datadir}/icons/hicolor ||:
+gtk-update-icon-cache -qf %{_datadir}/icons/hicolor 2> /dev/null ||:
+
+
+%files -f %{name}.lang
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING INSTALL README
+%{_bindir}/kblue*
+%{_bindir}/kbtobexclient
+%{_bindir}/kioobex_start
+%{_bindir}/kinputwizard
+%{_datadir}/applications/kde/*.desktop
+%{_datadir}/applnk/.hidden/*.desktop
+%{_datadir}/apps/konqsidebartng/virtual_folders/services/*.desktop
+%{_datadir}/apps/*/*
+%{_datadir}/autostart/*
+%{_datadir}/desktop-directories/*
+%{_datadir}/icons/hicolor/*/*/*
+%{_datadir}/mimelnk/bluetooth/
+%{_datadir}/service*/*
+%lang(ca) %{_docdir}/HTML/ca/kdebluetooth/
+%lang(da) %{_docdir}/HTML/da/kdebluetooth/
+%lang(en) %{_docdir}/HTML/en/kdebluetooth/
+%lang(es) %{_docdir}/HTML/es/kdebluetooth/
+%lang(et) %{_docdir}/HTML/et/kdebluetooth/
+%lang(fr) %{_docdir}/HTML/fr/kdebluetooth/
+%lang(it) %{_docdir}/HTML/it/kdebluetooth/
+%lang(nl) %{_docdir}/HTML/nl/kdebluetooth/
+%lang(pt) %{_docdir}/HTML/pt/kdebluetooth/
+%lang(ru) %{_docdir}/HTML/ru/kdebluetooth/
+%lang(sv) %{_docdir}/HTML/sv/kdebluetooth/
+
+
+%files libs
+%defattr(-,root,root,-)
+%{_libdir}/*.la
+%{_libdir}/*.so.*
+%{_libdir}/kde3/*.so
+%{_libdir}/kde3/*.la
+%{_libdir}/kdebluetooth/
+
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
+
+
+%changelog
+* Sun Feb 12 2012 Francois Andriot <francois.andriot@free.fr> - 1.0_beta9_r769275-1
+- Initial version for TDE 3.5.13
+- Updates base version to 1.0_beta9_r769275 (taken from Ubuntu Hardy)
+- Fix autotools detection
+
+* Tue Apr 1 2008 Rex Dieter <rdieter@fedoraproject.org> - 1.0-0.41.beta8
+- -devel: Requires: kdelibs3-devel
+
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.0-0.40.beta8
+- Fix build with gcc 4.3.
+
+* Sun Dec 9 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.0-0.39.beta8
+- Require kdesu in main package.
+
+* Sun Dec 08 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.0-0.38.beta8
+- BR: kdelibs3-devel kdepim3-devel
+- drop Requires: kdebase (?)
+
+* Wed Nov 08 2007 Gilboa Davara <gilboad[AT]gmail.com> 1.0-0.37.beta8
+- Missing BR: automake, autoconf.
+
+* Wed Nov 08 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-36.beta8
+- Move BRs to main package to fix mock breakage.
+
+* Wed Nov 07 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-35.beta8
+- Fix multi-lib conflicts (#341731).
+
+* Sat Oct 06 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-34.beta8
+- Beta8. (First official release since beta3)
+- Remove redundant beta3 patches.
+- LANG support by Ville Skytta.
+- Virtual provides: dbus-bluez-pin-helper.
+
+* Sun Aug 26 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-33.beta3
+- Re-Fix the license tag.
+
+* Sun Aug 26 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-32.beta3
+- Fixed license tag.
+- Re-enable PPC64.
+
+* Tue Jul 31 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-31.beta3
+- Fix error in ExcludeArch.
+
+* Tue Jul 31 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-30.beta3
+- ExcludeArch ppc64 (obexftp, again)
+
+* Mon Jul 30 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-29.beta3
+- ExcludeArch ppc/ppc64 (obexftp missing.)
+
+* Sun Jul 15 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-28.beta3
+- Fix %%dist... again...
+
+* Thu Jul 12 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-27.beta3
+- Add missing touch /icon/hicolor.
+- Menu items: Remove only-in-KDE.
+- BR: Remove libutempter-devel.
+- Fix project URL and source URL.
+- Add missing %%dist.
+
+* Sun Jul 08 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-26.beta3
+- Remove the Nokia N70 patch. (Doesn't seem to work.)
+- OBEX Object push fix.
+
+* Sun Jul 08 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-25.beta3
+- Adopted Ville Skyttä b2 patch to b3. (Hopefully) re-enable Nokia N7x obex support.
+- Patch out "Configure services". (Disabled in B3)
+
+* Mon Jun 25 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-24.beta3
+- Added hex encoding patch by Thomas Davis.
+- Removed --enable-irmcsynckonnector (deprecated in b3)
+- Add missing docs. (Removed by mistake in b23)
+- Known issue - services menu doesn't seem to work. (Requires debugging / upstream )
+
+* Tue Jun 12 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0.0-23.beta3
+- Beta3.
+- Remove pin-helper. (No longer needed - beta3 has dbus support.)
+- Added BR dbus-qt.
+- Added BR obexftp-devel.
+- Remove b2 patches.
+
+* Sat May 26 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0-0.22.beta2
+- Use the bluez_pinhelper wrapper instead of modified bluez-utils.
+- Remove %%dist.
+- *rc should not be marked as config.
+- Prevent RPM from owning Network/Peripherals.
+
+* Mon Apr 23 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0-0.21.beta2
+- Patch list clean-up.
+- Add Nokia obex detection patch.
+- Fix 64bit compile due to bad default in configure. (with_bluetooth_dir)
+- Missing BR: libtempter-devel.
+- Missing BT: libidn-devel.
+- Added: kbluepin wrapper - configure kbluepin as the old-style pin helper.
+
+* Wed Apr 04 2007 Gilboa Davara <gilboad[AT]gmail.com> 1-0-0.20.beta2
+- Re-merge Ville Skytta's latest .spec. (Got dropped by mistake)
+- Summery, description clean-up.
+
+* Thu Mar 29 2007 Gilboa Davara <gilboad[AT]gmail.com> 1.0-0.19.beta2
+- Spec file clean-up.
+
+* Fri Oct 20 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.18.beta2
+- BR: gettext
+- include locales
+
+* Tue Oct 17 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.17.beta2
+- kdebluetooth-1.0_beta2
+
+* Fri Sep 08 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.16.20060908svn
+- kdebluetoooth-20060908svn
+
+* Thu Jul 13 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.15.20060621svn
+- put svn at end of Release tag (per packaging guidelines)
+
+* Wed Jun 21 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.14.svn20060621
+- kdebluetooth-20060621svn, fixes
+ compile error kdebluetooth libkobex obex.h not found (kde bug #94572)
+
+* Tue Jun 20 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.13.svn20060620
+- kdebluetooth-svn20060620, (re)fixes
+ konqueror bluetooth:/ returns error "Bad URL" (kde bug #123607)
+- --disable-dependency-tracking
+- own %%_datadir/applnk/Settings/Network
+
+* Mon Jun 19 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.12.svn20060619
+- document svn tarball creation
+- Requires: kdebase (for kcm bits, applnk dir ownership)
+- desktop-file-install --add-only-show-in=KDE
+
+* Mon Jun 19 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.11.svn20060619
+- kdebluetooth-svn20060619, making most patches obsolete
+
+* Fri Apr 28 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.10.beta1
+- -devel: Requires: qt-devel bluez-libs-devel
+- include libirmcsynckonnector.so in main pkg
+- .desktop: --remove-category=Network --add-category=System
+- remove zero length files
+- fix default hcid start/top command
+
+* Mon Apr 17 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1.0-0.9.beta1
+- konqueror bluetooth:/ returns error "Bad URL" (kde bug #123607)
+
+* Tue Mar 28 2006 Rex Dieter 1.0-0.8.beta1
+- BR: kdepim-devel (for kitchensync)
+- kdebluetooth-1.0_beta1-gcc41.patch
+
+* Thu Mar 23 2006 Rex Dieter 1.0-0.7.beta1
+- cleanup openobex patch
+- fixup .desktop file(s)
+
+* Wed Mar 22 2006 Rex Dieter 1.0-0.6.beta1
+- cleanup for Extras
+- %%post: ldconfig, fdo icon spec
+
+* Mon Mar 06 2006 Rex Dieter 1.0-0.5.beta1
+- respin
+
+* Mon Mar 21 2005 Rex Dieter 1.0-0.3.beta1
+- --enable-irmcsynckonnector
+
+* Mon Mar 21 2005 Rex Dieter 1.0-0.1.beta1
+- 1.0_beta1
+
+* Wed Dec 29 2004 Rex Dieter <rexdieter[AT]users.sf.net> 0.0-0.1.cvs20050110
+- first try
+
diff --git a/redhat/extras/trinity-live/fedora-live-tde-base.ks b/redhat/extras/trinity-live/fedora-live-tde-base.ks
index 827a0b2bf..593b44ca1 100644
--- a/redhat/extras/trinity-live/fedora-live-tde-base.ks
+++ b/redhat/extras/trinity-live/fedora-live-tde-base.ks
@@ -86,6 +86,14 @@ touch /usr/share/icons/hicolor/
mkdir -p /home/liveuser/Desktop
mkdir -p /home/liveuser/Documents
+# Kmix (from TDE) should be started automatically
+#mkdir -p /home/liveuser/.trinity/Autostart
+#ln -sf /opt/trinity/share/applications/kde/kmix.desktop /home/liveuser/.trinity/Autostart/kmix.desktop
+cat <<EOF >/home/liveuser/.trinity/share/config/kmixrc
+Autostart=true
+Visible=false
+EOF
+
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
@@ -97,7 +105,7 @@ EOF
### TDE LIVECD specific features ###
-# Sets 'nm-applet' to run automatically
+# Sets 'nm-applet' to run automatically (system-wide)
ln -sf /usr/share/applications/nm-applet.desktop /opt/trinity/share/autostart/nm-applet.desktop
%end
diff --git a/redhat/extras/trinity-live/fedora-livecd-tde.ks b/redhat/extras/trinity-live/fedora-livecd-tde.ks
index efc379f6a..b9e0f78f1 100644
--- a/redhat/extras/trinity-live/fedora-livecd-tde.ks
+++ b/redhat/extras/trinity-live/fedora-livecd-tde.ks
@@ -25,6 +25,7 @@ trinity-k3b
trinity-kaffeine
trinity-kasablanca
trinity-kbookreader
+trinity-kdebluetooth
trinity-kde-style-lipstik
trinity-kgtk-qt3
trinity-kio-umountwrapper
@@ -43,11 +44,10 @@ trinity-kde-i18n-French
#trinity-kde-i18n-Spanish
trinity-kde-i18n-Chinese-Big5
-
# Fedora stuff
fuse
liveusb-creator
-
+yumex
### more desktop stuff
fedora-icon-theme
diff --git a/redhat/extras/trinity-live/trinity-live.spec b/redhat/extras/trinity-live/trinity-live.spec
index 89f09e7f9..52c7612ad 100644
--- a/redhat/extras/trinity-live/trinity-live.spec
+++ b/redhat/extras/trinity-live/trinity-live.spec
@@ -2,7 +2,7 @@
%if "%{?version}" == ""
%define version 3.5.13
%endif
-%define release 2
+%define release 3
%define _datadir %{_usr}/share
@@ -79,6 +79,10 @@ EOF
%changelog
+* Sat Jan 07 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-3
+- Start kmix automatically in LiveCD
+- Add 'yumex' package manager
+
* Mon Dec 02 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-2
- More TDE 3.5.13 specific visual settings
- Updates all packages to fix TDE bugs
diff --git a/redhat/genrpm.sh b/redhat/genrpm.sh
index 68a82b470..20f8d45ce 100755
--- a/redhat/genrpm.sh
+++ b/redhat/genrpm.sh
@@ -121,5 +121,3 @@ if grep -q "error: Failed build dependencies:" ${LOGFILE}; then
set $( grep " is needed by " ${LOGFILE} | cut -d " " -f1 )
exit 2
fi
-
-
diff --git a/redhat/kdebase/kdebase-3.5.13-fix_kdm_cpu_usage.patch b/redhat/kdebase/kdebase-3.5.13-fix_kdm_cpu_usage.patch
new file mode 100644
index 000000000..1a80c00f1
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-fix_kdm_cpu_usage.patch
@@ -0,0 +1,47 @@
+commit 1e2983ad0107fb1d26e3e9931528701f30632c6d
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1326856834 -0600
+
+ Fix kdm_greet high CPU usage
+ Clean up a few build warnings
+
+diff --git a/kdm/kfrontend/kgreeter.cpp b/kdm/kfrontend/kgreeter.cpp
+index 9b974cc..5877cb6 100644
+--- a/kdm/kfrontend/kgreeter.cpp
++++ b/kdm/kfrontend/kgreeter.cpp
+@@ -273,6 +273,9 @@ void KGreeter::handleInputPipe(void) {
+ readbuf[numread] = 0;
+ readbuf[2047] = 0;
+ inputcommand += readbuf;
++ if (!tqApp->hasPendingEvents()) {
++ usleep(500);
++ }
+ tqApp->processEvents();
+ }
+ if (closingDown) {
+@@ -508,11 +511,11 @@ KGreeter::insertUsers(int limit_users)
+ int count = 0;
+ for (setpwent(); (ps = getpwent()) != 0;) {
+ if (*ps->pw_dir && *ps->pw_shell &&
+- (ps->pw_uid >= (unsigned)_lowUserId ||
+- !ps->pw_uid && _showRoot) &&
+- ps->pw_uid <= (unsigned)_highUserId &&
+- !noUsers.hasUser( ps->pw_name ) &&
+- !noUsers.hasGroup( ps->pw_gid ))
++ ((ps->pw_uid >= (unsigned)_lowUserId) ||
++ ((!ps->pw_uid) && _showRoot)) &&
++ (ps->pw_uid <= (unsigned)_highUserId) &&
++ (!noUsers.hasUser( ps->pw_name )) &&
++ (!noUsers.hasGroup( ps->pw_gid )))
+ {
+ TQString username( TQFile::decodeName( ps->pw_name ) );
+ if (!dupes.find( username )) {
+@@ -574,7 +577,7 @@ KGreeter::insertUsers(int limit_users)
+ for (setpwent(); (ps = getpwent()) != 0;) {
+ if (*ps->pw_dir && *ps->pw_shell &&
+ (ps->pw_uid >= (unsigned)_lowUserId ||
+- !ps->pw_uid && _showRoot) &&
++ ((!ps->pw_uid) && _showRoot)) &&
+ ps->pw_uid <= (unsigned)_highUserId &&
+ (users.hasUser( ps->pw_name ) ||
+ users.hasGroup( ps->pw_gid )))
diff --git a/redhat/kdebase/kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch b/redhat/kdebase/kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch
new file mode 100644
index 000000000..1d3f73ceb
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch
@@ -0,0 +1,95 @@
+commit 8468d9bd5c66fe402acbc06f728b12ea996848de
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1327049889 -0600
+
+ Replicate LED status from virtual keyboards to physical keyboards
+ Fix keyboard attribute cloning
+ This commit closes Bug 561
+
+diff --git a/tsak/main.cpp b/tsak/main.cpp
+index df485a0..26aad00 100644
+--- a/tsak/main.cpp
++++ b/tsak/main.cpp
+@@ -126,22 +126,23 @@ static void copy_features(int devin, int devout)
+ for(i=0;i<EV_MAX;++i) {
+ if (bit_set(i, evtypes)) {
+ switch(i) {
+- case EV_KEY: op = UI_SET_KEYBIT; break;
+- case EV_REL: op = UI_SET_RELBIT; break;
+- case EV_ABS: op = UI_SET_ABSBIT; break;
+- case EV_MSC: op = UI_SET_MSCBIT; break;
+- case EV_LED: op = UI_SET_LEDBIT; break;
+- case EV_SND: op = UI_SET_SNDBIT; break;
+- case EV_SW: op = UI_SET_SWBIT; break;
+- default: op = -1;
++ case EV_KEY: op = UI_SET_KEYBIT; break;
++ case EV_REL: op = UI_SET_RELBIT; break;
++ case EV_ABS: op = UI_SET_ABSBIT; break;
++ case EV_MSC: op = UI_SET_MSCBIT; break;
++ case EV_LED: op = UI_SET_LEDBIT; break;
++ case EV_SND: op = UI_SET_SNDBIT; break;
++ case EV_SW: op = UI_SET_SWBIT; break;
++ default: op = -1;
++ }
+ }
+- }
+- if (op == -1) continue;
+- ioctl(devout, UI_SET_EVBIT, i);
+- memset(codes,0,sizeof(codes));
+- if (ioctl(devin, EVIOCGBIT(i, sizeof(codes)), codes) < 0) return;
+- for(code=0;code<KEY_MAX;code++) {
+- if (bit_set(code, codes)) ioctl(devout, op, code);
++ if (op == -1) continue;
++ ioctl(devout, UI_SET_EVBIT, i);
++ memset(codes,0,sizeof(codes));
++ if (ioctl(devin, EVIOCGBIT(i, sizeof(codes)), codes) >= 0) {
++ for(code=0;code<KEY_MAX;code++) {
++ if (bit_set(code, codes)) ioctl(devout, op, code);
++ }
+ }
+ }
+ }
+@@ -342,6 +343,7 @@ int main (int argc, char *argv[])
+ {
+ struct input_event ev[64];
+ struct input_event event;
++ struct input_event revev;
+ struct uinput_user_dev devinfo={0};
+ int devout[MAX_KEYBOARDS], rd, i, value, size = sizeof (struct input_event);
+ char name[256] = "Unknown";
+@@ -416,9 +418,9 @@ int main (int argc, char *argv[])
+ fprintf(stderr, "Reading from keyboard: (%s)\n", name);
+
+ // Create filtered virtual output device
+- devout[current_keyboard]=open("/dev/misc/uinput",O_WRONLY|O_NONBLOCK);
++ devout[current_keyboard]=open("/dev/misc/uinput",O_RDWR|O_NONBLOCK);
+ if (devout[current_keyboard]<0) {
+- devout[current_keyboard]=open("/dev/uinput",O_WRONLY|O_NONBLOCK);
++ devout[current_keyboard]=open("/dev/uinput",O_RDWR|O_NONBLOCK);
+ if (devout[current_keyboard]<0) {
+ perror("open(\"/dev/misc/uinput\")");
+ }
+@@ -483,6 +485,14 @@ int main (int argc, char *argv[])
+ fprintf(stderr, "Read failed.\n");
+ break;
+ }
++
++ // Replicate LED events from the virtual keyboard to the physical keyboard
++ int rrd = read(devout[current_keyboard], &revev, size);
++ if (rrd >= size) {
++ if (revev.type == EV_LED) {
++ write(keyboard_fds[current_keyboard], &revev, sizeof(revev));
++ }
++ }
+
+ value = ev[0].value;
+
+@@ -506,7 +516,7 @@ int main (int argc, char *argv[])
+ }
+ }
+
+- if (hide_event == false) {
++ if ((hide_event == false) && (ev[0].type != EV_LED) && (ev[1].type != EV_LED)) {
+ // Pass the event on...
+ event = ev[0];
+ write(devout[current_keyboard], &event, sizeof event);
diff --git a/redhat/kdebase/kdebase-3.5.13-tsak_keyboard_hotplug.patch b/redhat/kdebase/kdebase-3.5.13-tsak_keyboard_hotplug.patch
new file mode 100644
index 000000000..8c8ab415f
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-tsak_keyboard_hotplug.patch
@@ -0,0 +1,641 @@
+commit 5f413b26ebaab8a6478427e4125bda628058ff85
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1327015159 -0600
+
+ Add keyboard hotplug (add/remove) support to tsak
+ This closes Bug 587
+ Fix warning in kompmgr
+
+diff --git a/tsak/CMakeLists.txt b/tsak/CMakeLists.txt
+index 6aa5b49..4490636 100644
+--- a/tsak/CMakeLists.txt
++++ b/tsak/CMakeLists.txt
+@@ -23,5 +23,6 @@ link_directories(
+
+ tde_add_executable( tsak
+ SOURCES main.cpp
++ LINK udev
+ DESTINATION ${BIN_INSTALL_DIR}
+ )
+diff --git a/tsak/main.cpp b/tsak/main.cpp
+index 050d6c0..df485a0 100644
+--- a/tsak/main.cpp
++++ b/tsak/main.cpp
+@@ -1,8 +1,8 @@
+ /*
+ Copyright 2010 Adam Marchetti
+-Copyright 2011 Timothy Pearson <kb9vqf@pearsoncomputing.net>
++Copyright 2011-2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
+
+-This file is part of tsak.
++This file is part of tsak, the TDE Secure Attention Key daemon
+
+ tsak is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+@@ -35,9 +35,15 @@ License along with tsak. If not, see http://www.gnu.org/licenses/.
+ #include <sys/time.h>
+ #include <termios.h>
+ #include <signal.h>
++#include <libudev.h>
++#include <libgen.h>
+
+ #define FIFO_DIR "/tmp/ksocket-global"
+ #define FIFO_FILE_OUT "/tmp/ksocket-global/tsak"
++#define FIFO_LOCKFILE_OUT "/tmp/ksocket-global/tsak.lock"
++
++#define MAX_KEYBOARDS 64
++#define MAX_INPUT_NODE 128
+
+ #define TestBit(bit, array) (array[(bit) / 8] & (1 << ((bit) % 8)))
+
+@@ -46,9 +52,18 @@ typedef unsigned char byte;
+ bool mPipeOpen_out = false;
+ int mPipe_fd_out = -1;
+
++int mPipe_lockfd_out = -1;
++
++char filename[32];
++char key_bitmask[(KEY_MAX + 7) / 8];
++
+ struct sigaction usr_action;
+ sigset_t block_mask;
+
++int keyboard_fd_num;
++int keyboard_fds[MAX_KEYBOARDS];
++int child_pids[MAX_KEYBOARDS];
++
+ const char *keycode[256] =
+ {
+ "", "<esc>", "1", "2", "3", "4", "5", "6", "7", "8",
+@@ -79,6 +94,26 @@ int bit_set(size_t i, const byte* a)
+ return a[i/CHAR_BIT] & (1 << i%CHAR_BIT);
+ }
+
++// --------------------------------------------------------------------------------------
++// Useful function from Stack Overflow
++// http://stackoverflow.com/questions/874134/find-if-string-endswith-another-string-in-c
++// --------------------------------------------------------------------------------------
++/* returns 1 iff str ends with suffix */
++int str_ends_with(const char * str, const char * suffix) {
++
++ if( str == NULL || suffix == NULL )
++ return 0;
++
++ size_t str_len = strlen(str);
++ size_t suffix_len = strlen(suffix);
++
++ if(suffix_len > str_len)
++ return 0;
++
++ return 0 == strncmp( str + str_len - suffix_len, suffix, suffix_len );
++}
++// --------------------------------------------------------------------------------------
++
+ /* Assign features (supported axes and keys) of the physical input device (devin)
+ * to the virtual input device (devout) */
+ static void copy_features(int devin, int devout)
+@@ -111,26 +146,40 @@ static void copy_features(int devin, int devout)
+ }
+ }
+
+-int find_keyboard() {
++int find_keyboards() {
+ int i, j;
+ int fd;
+- char filename[32];
+- char key_bitmask[(KEY_MAX + 7) / 8];
++ char name[256] = "Unknown";
++
++ keyboard_fd_num = 0;
++ for (i=0; i<MAX_KEYBOARDS; i++) {
++ keyboard_fds[i] = 0;
++ }
+
+- for (i=0; i<32; i++) {
++ for (i=0; i<MAX_INPUT_NODE; i++) {
+ snprintf(filename,sizeof(filename), "/dev/input/event%d", i);
+-
++
+ fd = open(filename, O_RDWR|O_SYNC);
+ ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(key_bitmask)), key_bitmask);
+-
+- /* We assume that anything that has an alphabetic key in the
+- QWERTYUIOP range in it is the main keyboard. */
+- for (j = KEY_Q; j <= KEY_P; j++) {
+- if (TestBit(j, key_bitmask))
+- return fd;
++
++ // Ensure that we do not detect our own tsak faked keyboards
++ ioctl (fd, EVIOCGNAME (sizeof (name)), name);
++ if (str_ends_with(name, "+tsak") == 0) {
++ /* We assume that anything that has an alphabetic key in the
++ QWERTYUIOP range in it is the main keyboard. */
++ for (j = KEY_Q; j <= KEY_P; j++) {
++ if (TestBit(j, key_bitmask)) {
++ keyboard_fds[keyboard_fd_num] = fd;
++ }
++ }
++ }
++
++ if (keyboard_fds[keyboard_fd_num] == 0) {
++ close (fd);
++ }
++ else {
++ keyboard_fd_num++;
+ }
+-
+- close (fd);
+ }
+ return 0;
+ }
+@@ -144,6 +193,12 @@ void tearDownPipe()
+ }
+ }
+
++void tearDownLockingPipe()
++{
++ close(mPipe_lockfd_out);
++ unlink(FIFO_LOCKFILE_OUT);
++}
++
+ bool setFileLock(int fd, bool close_on_failure)
+ {
+ struct flock fl;
+@@ -154,8 +209,8 @@ bool setFileLock(int fd, bool close_on_failure)
+ fl.l_len = 1;
+
+ // Set the exclusive file lock
+- if (fcntl(mPipe_fd_out, F_SETLK, &fl) == -1) {
+- close(mPipe_fd_out);
++ if (fcntl(fd, F_SETLK, &fl) == -1) {
++ close(fd);
+ return false;
+ }
+
+@@ -171,7 +226,7 @@ bool checkFileLock()
+ fl.l_whence = SEEK_SET;
+ fl.l_len = 0;
+
+- int fd = open(FIFO_FILE_OUT, O_RDWR | O_NONBLOCK);
++ int fd = open(FIFO_LOCKFILE_OUT, O_RDWR | O_NONBLOCK);
+ fcntl(fd, F_GETLK, &fl); /* Overwrites lock structure with preventors. */
+
+ if (fd > -1) {
+@@ -202,6 +257,71 @@ bool setupPipe()
+ return setFileLock(mPipe_fd_out, true);
+ }
+
++bool setupLockingPipe()
++{
++ /* Create the FIFOs if they do not exist */
++ umask(0);
++ mkdir(FIFO_DIR,0644);
++
++ mknod(FIFO_LOCKFILE_OUT, S_IFIFO|0600, 0);
++ chmod(FIFO_LOCKFILE_OUT, 0600);
++
++ mPipe_lockfd_out = open(FIFO_LOCKFILE_OUT, O_RDWR | O_NONBLOCK);
++ if (mPipe_lockfd_out > -1) {
++ // Set the exclusive file lock
++ return setFileLock(mPipe_lockfd_out, true);
++ }
++
++ return false;
++}
++
++void broadcast_sak()
++{
++ // Let anyone listening to our interface know that an SAK keypress was received
++ // I highly doubt there are more than 255 VTs active at once...
++ int i;
++ for (i=0;i<255;i++) {
++ write(mPipe_fd_out, "SAK\n\r", 6);
++ }
++}
++
++void restart_tsak()
++{
++ int i;
++
++ fprintf(stderr, "Forcibly terminating...\n");
++
++ // Close down all child processes
++ for (i=0; i<MAX_KEYBOARDS; i++) {
++ if (child_pids[i] != 0) {
++ kill(child_pids[i], SIGKILL);
++ }
++ }
++
++ // Wait for process termination
++ sleep(1);
++
++ // Release all exclusive keyboard locks
++ for (int current_keyboard=0;current_keyboard<keyboard_fd_num;current_keyboard++) {
++ if(ioctl(keyboard_fds[current_keyboard], EVIOCGRAB, 0) < 0) {
++ fprintf(stderr, "Failed to release exclusive input device lock");
++ }
++ close(keyboard_fds[current_keyboard]);
++ }
++
++#if 1
++ // Restart now
++ // Note that the execl function never returns
++ char me[2048];
++ int chars = readlink("/proc/self/exe", me, sizeof(me));
++ me[chars] = 0;
++ me[2047] = 0;
++ execl(me, basename(me), (char*)NULL);
++#else
++ _exit(0);
++#endif
++}
++
+ class PipeHandler
+ {
+ public:
+@@ -215,7 +335,7 @@ PipeHandler::PipeHandler()
+
+ PipeHandler::~PipeHandler()
+ {
+- tearDownPipe();
++ tearDownLockingPipe();
+ }
+
+ int main (int argc, char *argv[])
+@@ -223,13 +343,19 @@ int main (int argc, char *argv[])
+ struct input_event ev[64];
+ struct input_event event;
+ struct uinput_user_dev devinfo={0};
+- int fd, devout, rd, value, size = sizeof (struct input_event);
++ int devout[MAX_KEYBOARDS], rd, i, value, size = sizeof (struct input_event);
+ char name[256] = "Unknown";
+ bool ctrl_down = false;
+ bool alt_down = false;
+ bool hide_event = false;
+ bool established = false;
+ bool testrun = false;
++ int current_keyboard;
++ bool can_proceed;
++
++ for (i=0; i<MAX_KEYBOARDS; i++) {
++ child_pids[i] = 0;
++ }
+
+ if (argc == 2) {
+ if (strcmp(argv[1], "checkactive") == 0) {
+@@ -239,7 +365,11 @@ int main (int argc, char *argv[])
+
+ // Check for existing file locks
+ if (!checkFileLock()) {
+- fprintf(stderr, "Another instance of this program is already running\n");
++ fprintf(stderr, "Another instance of this program is already running [1]\n");
++ return 8;
++ }
++ if (!setupLockingPipe()) {
++ fprintf(stderr, "Another instance of this program is already running [2]\n");
+ return 8;
+ }
+
+@@ -256,125 +386,227 @@ int main (int argc, char *argv[])
+ return 5;
+ }
+
+- // Open Device
+- fd = find_keyboard();
+- if (fd == -1) {
+- printf ("Could not find your keyboard!\n");
++ // Find keyboards
++ find_keyboards();
++ if (keyboard_fd_num == 0) {
++ printf ("Could not find any usable keyboard(s)!\n");
++ // Make sure everyone knows we physically can't detect a SAK
++ // Before we do this we broadcast one so that active dialogs are updated appropriately
++ // Also, we keep watching for a keyboard to be added via a forked child process...
++ broadcast_sak();
+ if (established)
+ sleep(1);
+- else
+- return 4;
++ else {
++ int i=fork();
++ if (i<0) return 12; // fork failed
++ if (i>0) {
++ return 4;
++ }
++ sleep(1);
++ restart_tsak();
++ }
+ }
+ else {
+- // Print Device Name
+- ioctl (fd, EVIOCGNAME (sizeof (name)), name);
+- fprintf(stderr, "Reading From : (%s)\n", name);
+-
+- // Create filtered virtual output device
+- devout=open("/dev/misc/uinput",O_WRONLY|O_NONBLOCK);
+- if (devout<0) {
+- perror("open(\"/dev/misc/uinput\")");
+- devout=open("/dev/uinput",O_WRONLY|O_NONBLOCK);
+- }
+- if (devout<0) {
+- fprintf(stderr,"Unable to open /dev/uinput or /dev/misc/uinput (char device 10:223).\nPossible causes:\n 1) Device node does not exist\n 2) Kernel not compiled with evdev [INPUT_EVDEV] and uinput [INPUT_UINPUT] user level driver support\n 3) Permission denied.\n");
+- perror("open(\"/dev/uinput\")");
+- if (established)
+- sleep(1);
+- else
+- return 3;
+- }
+- else {
+- if(ioctl(fd, EVIOCGRAB, 2) < 0) {
+- close(fd);
+- fprintf(stderr, "Failed to grab exclusive input device lock");
++ fprintf(stderr, "Found %d keyboard(s)\n", keyboard_fd_num);
++
++ can_proceed = true;
++ for (current_keyboard=0;current_keyboard<keyboard_fd_num;current_keyboard++) {
++ // Print Device Name
++ ioctl (keyboard_fds[current_keyboard], EVIOCGNAME (sizeof (name)), name);
++ fprintf(stderr, "Reading from keyboard: (%s)\n", name);
++
++ // Create filtered virtual output device
++ devout[current_keyboard]=open("/dev/misc/uinput",O_WRONLY|O_NONBLOCK);
++ if (devout[current_keyboard]<0) {
++ devout[current_keyboard]=open("/dev/uinput",O_WRONLY|O_NONBLOCK);
++ if (devout[current_keyboard]<0) {
++ perror("open(\"/dev/misc/uinput\")");
++ }
++ }
++ if (devout[current_keyboard]<0) {
++ can_proceed = false;
++ fprintf(stderr, "Unable to open /dev/uinput or /dev/misc/uinput (char device 10:223).\nPossible causes:\n 1) Device node does not exist\n 2) Kernel not compiled with evdev [INPUT_EVDEV] and uinput [INPUT_UINPUT] user level driver support\n 3) Permission denied.\n");
++ perror("open(\"/dev/uinput\")");
+ if (established)
+ sleep(1);
+ else
+- return 1;
++ return 3;
+ }
+- else {
+- ioctl(fd, EVIOCGNAME(UINPUT_MAX_NAME_SIZE), devinfo.name);
+- strncat(devinfo.name, "+tsak", UINPUT_MAX_NAME_SIZE-1);
+- fprintf(stderr, "%s\n", devinfo.name);
+- ioctl(fd, EVIOCGID, &devinfo.id);
+-
+- copy_features(fd, devout);
+- write(devout,&devinfo,sizeof(devinfo));
+- if (ioctl(devout,UI_DEV_CREATE)<0) {
+- fprintf(stderr,"Unable to create input device with UI_DEV_CREATE\n");
++ }
++
++ if (can_proceed == true) {
++ for (current_keyboard=0;current_keyboard<keyboard_fd_num;current_keyboard++) {
++ if(ioctl(keyboard_fds[current_keyboard], EVIOCGRAB, 2) < 0) {
++ close(keyboard_fds[current_keyboard]);
++ fprintf(stderr, "Failed to grab exclusive input device lock");
+ if (established)
+ sleep(1);
+ else
+- return 2;
++ return 1;
+ }
+ else {
+- fprintf(stderr,"Device created.\n");
+-
+- if (established == false) {
+- tearDownPipe();
+- int i=fork();
+- if (i<0) return 9; // fork failed
+- if (i>0) {
+- // close parent process
+- close(mPipe_fd_out);
+- return 0;
+- }
+- setupPipe();
++ ioctl(keyboard_fds[current_keyboard], EVIOCGNAME(UINPUT_MAX_NAME_SIZE), devinfo.name);
++ strncat(devinfo.name, "+tsak", UINPUT_MAX_NAME_SIZE-1);
++ fprintf(stderr, "%s\n", devinfo.name);
++ ioctl(keyboard_fds[current_keyboard], EVIOCGID, &devinfo.id);
++
++ copy_features(keyboard_fds[current_keyboard], devout[current_keyboard]);
++ write(devout[current_keyboard],&devinfo,sizeof(devinfo));
++ if (ioctl(devout[current_keyboard],UI_DEV_CREATE)<0) {
++ fprintf(stderr, "Unable to create input device with UI_DEV_CREATE\n");
++ if (established)
++ sleep(1);
++ else
++ return 2;
+ }
+-
+- established = true;
+-
+- if (testrun == true) {
+- return 0;
+- }
+-
+- while (1) {
+- if ((rd = read (fd, ev, size * 2)) < size) {
+- fprintf(stderr,"Read failed.\n");
+- break;
+- }
+-
+- value = ev[0].value;
+-
+- if (value != ' ' && ev[1].value == 0 && ev[1].type == 1){ // Read the key release event
+- if (keycode[(ev[1].code)]) {
+- if (strcmp(keycode[(ev[1].code)], "<control>") == 0) ctrl_down = false;
+- if (strcmp(keycode[(ev[1].code)], "<alt>") == 0) alt_down = false;
++ else {
++ fprintf(stderr, "Device created.\n");
++
++ if (established == false) {
++ int i=fork();
++ if (i<0) return 9; // fork failed
++ if (i>0) {
++ child_pids[current_keyboard] = i;
++ continue;
+ }
++ setupLockingPipe();
+ }
+- if (value != ' ' && ev[1].value == 1 && ev[1].type == 1){ // Read the key press event
+- if (keycode[(ev[1].code)]) {
+- if (strcmp(keycode[(ev[1].code)], "<control>") == 0) ctrl_down = true;
+- if (strcmp(keycode[(ev[1].code)], "<alt>") == 0) alt_down = true;
+- }
++
++ established = true;
++
++ if (testrun == true) {
++ return 0;
+ }
+
+- hide_event = false;
+- if (keycode[(ev[1].code)]) {
+- if (alt_down && ctrl_down && (strcmp(keycode[(ev[1].code)], "<del>") == 0)) {
+- hide_event = true;
++ while (1) {
++ if ((rd = read (keyboard_fds[current_keyboard], ev, size * 2)) < size) {
++ fprintf(stderr, "Read failed.\n");
++ break;
++ }
++
++ value = ev[0].value;
++
++ if (value != ' ' && ev[1].value == 0 && ev[1].type == 1){ // Read the key release event
++ if (keycode[(ev[1].code)]) {
++ if (strcmp(keycode[(ev[1].code)], "<control>") == 0) ctrl_down = false;
++ if (strcmp(keycode[(ev[1].code)], "<alt>") == 0) alt_down = false;
++ }
++ }
++ if (value != ' ' && ev[1].value == 1 && ev[1].type == 1){ // Read the key press event
++ if (keycode[(ev[1].code)]) {
++ if (strcmp(keycode[(ev[1].code)], "<control>") == 0) ctrl_down = true;
++ if (strcmp(keycode[(ev[1].code)], "<alt>") == 0) alt_down = true;
++ }
++ }
++
++ hide_event = false;
++ if (keycode[(ev[1].code)]) {
++ if (alt_down && ctrl_down && (strcmp(keycode[(ev[1].code)], "<del>") == 0)) {
++ hide_event = true;
++ }
++ }
++
++ if (hide_event == false) {
++ // Pass the event on...
++ event = ev[0];
++ write(devout[current_keyboard], &event, sizeof event);
++ event = ev[1];
++ write(devout[current_keyboard], &event, sizeof event);
++ }
++ if (hide_event == true) {
++ // Let anyone listening to our interface know that an SAK keypress was received
++ broadcast_sak();
+ }
+ }
++ }
++ }
++ }
++
++ // fork udev monitor process
++ int i=fork();
++ if (i<0) return 10; // fork failed
++ if (i>0) {
++ // Terminate parent
++ return 0;
++ }
++
++ // Prevent multiple process instances from starting
++ setupLockingPipe();
++
++ // Wait a little bit so that udev hotplug can stabilize before we start monitoring
++ sleep(1);
++
++ fprintf(stderr, "Hotplug monitoring process started\n");
++
++ // Monitor for hotplugged keyboards
++ int j;
++ int hotplug_fd;
++ bool is_new_keyboard;
++ struct udev *udev;
++ struct udev_device *dev;
++ struct udev_monitor *mon;
++
++ // Create the udev object
++ udev = udev_new();
++ if (!udev) {
++ fprintf(stderr, "Cannot connect to udev interface\n");
++ return 11;
++ }
++
++ // Set up a udev monitor to monitor input devices
++ mon = udev_monitor_new_from_netlink(udev, "udev");
++ udev_monitor_filter_add_match_subsystem_devtype(mon, "input", NULL);
++ udev_monitor_enable_receiving(mon);
++
++ while (1) {
++ // Watch for input from the monitoring process
++ dev = udev_monitor_receive_device(mon);
++ if (dev) {
++ // If a keyboard was removed we need to restart...
++ if (strcmp(udev_device_get_action(dev), "remove") == 0) {
++ udev_device_unref(dev);
++ udev_unref(udev);
++ restart_tsak();
++ }
++
++ is_new_keyboard = false;
++ snprintf(filename,sizeof(filename), "%s", udev_device_get_devnode(dev));
++ udev_device_unref(dev);
++
++ // Print name of keyboard
++ hotplug_fd = open(filename, O_RDWR|O_SYNC);
++ ioctl(hotplug_fd, EVIOCGBIT(EV_KEY, sizeof(key_bitmask)), key_bitmask);
+
+- if (hide_event == false) {
+- // Pass the event on...
+- event = ev[0];
+- write(devout, &event, sizeof event);
+- event = ev[1];
+- write(devout, &event, sizeof event);
+- }
+- if (hide_event == true) {
+- // Let anyone listening to our interface know that an SAK keypress was received
+- // I highly doubt there are more than 255 VTs active at once...
+- int i;
+- for (i=0;i<255;i++) {
+- write(mPipe_fd_out, "SAK\n\r", 6);
+- }
++ /* We assume that anything that has an alphabetic key in the
++ QWERTYUIOP range in it is the main keyboard. */
++ for (j = KEY_Q; j <= KEY_P; j++) {
++ if (TestBit(j, key_bitmask)) {
++ is_new_keyboard = true;
+ }
+ }
++ ioctl (hotplug_fd, EVIOCGNAME (sizeof (name)), name);
++ close(hotplug_fd);
++
++ // Ensure that we do not detect our own tsak faked keyboards
++ if (str_ends_with(name, "+tsak") == 1) {
++ is_new_keyboard = false;
++ }
++
++ // If a keyboard was added we need to restart...
++ if (is_new_keyboard == true) {
++ fprintf(stderr, "Hotplugged new keyboard: (%s)\n", name);
++ udev_unref(udev);
++ restart_tsak();
++ }
++ }
++ else {
++ fprintf(stderr, "No Device from receive_device(). An error occured.\n");
+ }
+ }
++
++ udev_unref(udev);
++
++ fprintf(stderr, "Hotplug monitoring process terminated\n");
+ }
+ }
+ }
+diff --git a/twin/kompmgr/kompmgr.c b/twin/kompmgr/kompmgr.c
+index 5daf8c2..8216676 100644
+--- a/kwin/kompmgr/kompmgr.c
++++ b/kwin/kompmgr/kompmgr.c
+@@ -60,6 +60,7 @@ check baghira.sf.net for more infos
+ #include <signal.h>
+ #include <time.h>
+ #include <unistd.h>
++#include <libgen.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+@@ -397,7 +398,7 @@ void delete_pid_file()
+ int chars = readlink("/proc/self/exe", me, sizeof(me));
+ me[chars] = 0;
+ me[2047] = 0;
+- execl(me, NULL);
++ execl(me, basename(me), (char*)NULL);
+ }
+ #endif
+ }
diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec
index bc99f494d..7496f1ec9 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 15
+%define release 16
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
@@ -99,6 +99,12 @@ Patch29: kdebase-3.5.13-fix_multihead_desktop_lock.patch
Patch30: kdebase-3.5.12-kdm_hide_menu_button.patch
## [kdebase/kxkb] Enables xtest support
Patch31: kdebase-3.5.13-enable_xtest_support.patch
+## [kdebase/kdm/kfrontend] fix KDM high CPU usage when inactive [Bug #690]
+Patch32: kdebase-3.5.13-fix_kdm_cpu_usage.patch
+## [kdebase/tsak] Add keyboard hotplug (add/remove) support to tsak [Bug #587]
+Patch33: kdebase-3.5.13-tsak_keyboard_hotplug.patch
+## [kdebase/tsak] Replicate LED status from virtual keyboards to physical keyboards [Bug #561]
+Patch34: kdebase-3.5.13-replicate_led_status_on_virtual_keyboard.patch
# Fedora 15 Theme: "Lovelock"
%if 0%{?fedora} == 15
@@ -169,11 +175,11 @@ BuildRequires: libXcomposite-devel
BuildRequires: libXtst-devel
BuildRequires: libXdamage-devel
BuildRequires: xorg-x11-font-utils
-
-# These dependancies are not met in RHEL
-%if 0%{?fedora}
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: nas-devel
+
+%if 0%{?rhel} >= 6 || 0%{?fedora} >= 15
+BuildRequires: libudev-devel
%endif
Requires: tqtinterface
@@ -306,6 +312,11 @@ Protocol handlers (KIOslaves) for personal information management, including:
%patch29 -p0
%patch30 -p1
%patch31 -p1
+%patch32 -p1
+%if 0%{?fedora} >= 15
+%patch33 -p1
+%patch34 -p1
+%endif
# Applies an optional distro-specific graphical theme
%if "%{?tde_bg}" != ""
@@ -354,7 +365,7 @@ cd build
-DWITH_XCOMPOSITE=ON \
-DWITH_XCURSOR=ON \
-DWITH_XFIXES=ON \
-%if 0%{?fedora} || 0%{?rhel} > 5
+%if 0%{?fedora} || 0%{?rhel} >= 6
-DWITH_XRANDR=ON \
%else
-DWITH_XRANDR=OFF \
@@ -692,6 +703,11 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%{_datadir}/cmake/*.cmake
%changelog
+* Sat Jan 21 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-16
+- Fix KDM high CPU usage when inactive [Bug #690]
+- Add keyboard hotplug (add/remove) support to tsak [Bug #587]
+- Replicate LED status from virtual keyboards to physical keyboards [Bug #561]
+
* Thu Jan 05 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-15
- Add a KDM option to hide 'Menu' button on login prompt
- Fix corrupted PNG tiles [Bug #298]
diff --git a/redhat/kdelibs/kdelibs-3.5.13-fix_UTF8_encoding_for_WebDAV_directories.patch b/redhat/kdelibs/kdelibs-3.5.13-fix_UTF8_encoding_for_WebDAV_directories.patch
new file mode 100644
index 000000000..6fa9a085a
--- /dev/null
+++ b/redhat/kdelibs/kdelibs-3.5.13-fix_UTF8_encoding_for_WebDAV_directories.patch
@@ -0,0 +1,45 @@
+From 1f37c9cdb9bb47f8453cf26af8006c7c8d4ca3b3 Mon Sep 17 00:00:00 2001
+From: Thorsten Glaser <t.glaser@tarent.de>
+Date: Tue, 27 Dec 2011 14:28:27 +0100
+Subject: [PATCH] fix UTF-8 encoding for WebDAV directories
+
+idea derived from KIO slave http.cpp from KDE 4; reimplemented
+on top of Qt3/KDE3 APIs
+
+Bug: http://bugs.kde.org/show_bug.cgi?id=127251
+
+Signed-off-by: Thorsten Glaser <t.glaser@tarent.de>
+---
+ kioslave/http/http.cc | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/kioslave/http/http.cc b/kioslave/http/http.cc
+index a1495d7..16b785d 100644
+--- a/kioslave/http/http.cc
++++ b/kioslave/http/http.cc
+@@ -45,6 +45,7 @@
+ #include <tqregexp.h>
+ #include <tqdatetime.h>
+ #include <tqstringlist.h>
++#include <tqurl.h>
+
+ #include <kurl.h>
+ #include <kidna.h>
+@@ -750,9 +751,14 @@ void HTTPProtocol::davStatList( const KURL& url, bool stat )
+ entry.clear();
+
+ TQString urlStr = href.text();
++#if 0
+ int encoding = remoteEncoding()->encodingMib();
+ if ((encoding == 106) && (!KStringHandler::isUtf8(KURL::decode_string(urlStr, 4).latin1())))
+ encoding = 4; // Use latin1 if the file is not actually utf-8
++#else
++ TQUrl::decode(urlStr);
++ int encoding = 106;
++#endif
+
+ KURL thisURL ( urlStr, encoding );
+
+--
+1.7.2.3
+
diff --git a/redhat/kdelibs/kdelibs-3.5.13-fix_add_printer.patch b/redhat/kdelibs/kdelibs-3.5.13-fix_add_printer.patch
new file mode 100644
index 000000000..5fb5aa576
--- /dev/null
+++ b/redhat/kdelibs/kdelibs-3.5.13-fix_add_printer.patch
@@ -0,0 +1,20 @@
+commit 87201a3741bd9d4b4638be7b3d8c44a737115b0f
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1325899796 -0600
+
+ Fix make_driver_db_cups path
+ This closes Bug 383
+
+diff --git a/kdeprint/cups/kmcupsmanager.cpp b/tdeprint/cups/kmcupsmanager.cpp
+index 635cfd5..4a64248 100644
+--- a/kdeprint/cups/kmcupsmanager.cpp
++++ b/kdeprint/cups/kmcupsmanager.cpp
+@@ -95,7 +95,7 @@ KMCupsManager::~KMCupsManager()
+
+ TQString KMCupsManager::driverDbCreationProgram()
+ {
+- return TQString::tqfromLatin1("/opt/trinity/bin/make_driver_db_cups");
++ return TQString(__KDE_BINDIR).append(TQString::fromLatin1("/make_driver_db_cups"));
+ }
+
+ TQString KMCupsManager::driverDirectory()
diff --git a/redhat/kdelibs/tdelibs-r14.spec b/redhat/kdelibs/tdelibs-r14.spec
new file mode 100755
index 000000000..bbbcf60da
--- /dev/null
+++ b/redhat/kdelibs/tdelibs-r14.spec
@@ -0,0 +1,315 @@
+# 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
+%endif
+
+# TDE specific variables
+BuildRequires: cmake >= 2.8
+%define tde_docdir %{_docdir}/trinity
+%define tde_libdir %{_libdir}/trinity
+
+# Older RHEL/Fedora versions use packages named "qt", "qt-devel", ..
+# whereas newer versions use "qt3", "qt3-devel" ...
+%if 0%{?rhel} >= 6 || 0%{?fedora} >= 8
+%define _qt_suffix 3
+%endif
+
+
+Name: tdelibs
+Version: r14
+Release: 1%{?dist}%{?_variant}
+License: GPL
+Summary: TDE Libraries
+Group: System Environment/Libraries
+
+Vendor: Trinity Project
+Packager: Francois Andriot <francois.andriot@free.fr>
+URL: http://www.trinitydesktop.org/
+
+Prefix: %{_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: tdelibs-%{version}.tar.gz
+Patch0: git.patch
+
+## [kdelibs/kio] Disable 'max line length' detection [Bug #656]
+Patch10: kdelibs-3.5.13-maxlinelength.patch
+
+BuildRequires: libtool
+BuildRequires: tqtinterface-devel
+BuildRequires: trinity-arts-devel
+BuildRequires: avahi-devel
+BuildRequires: lua-devel
+BuildRequires: krb5-devel libxslt-devel cups-devel libart_lgpl-devel pcre-devel
+BuildRequires: libutempter-devel
+BuildRequires: bzip2-devel
+BuildRequires: openssl-devel
+BuildRequires: gcc-c++
+BuildRequires: alsa-lib-devel
+BuildRequires: libidn-devel
+BuildRequires: tqt3-devel >= 3.4.0
+BuildRequires: avahi-tqt-devel
+BuildRequires: jasper-devel
+BuildRequires: libtiff-devel
+BuildRequires: OpenEXR-devel
+BuildRequires: libtool-ltdl-devel
+BuildRequires: glib2-devel
+BuildRequires: gamin-devel
+BuildRequires: xorg-x11-proto-devel
+
+Requires: tqtinterface
+Requires: trinity-arts
+Requires: avahi
+Requires: tqt3 >= 3.4.0
+Requires: avahi-tqt
+
+Obsoletes: trinity-kdelibs <= 3.5.13
+
+%if "%{?_prefix}" == "/usr"
+Provides: kdelibs%{?_qt_suffix} = %{version}
+Obsoletes: kdelibs%{?_qt_suffix} <= 3.5.10
+%endif
+
+%description
+Libraries for the Trinity Desktop Environment:
+KDE Libraries included: kdecore (KDE core library), kdeui (user interface),
+kfm (file manager), khtmlw (HTML widget), kio (Input/Output, networking),
+kspell (spelling checker), jscript (javascript), kab (addressbook),
+kimgio (image manipulation).
+
+
+%package devel
+Summary: %{name} - Development files
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Obsoletes: trinity-kdelibs-devel <= 3.5.13
+%if "%{?_prefix}" == "/usr"
+Provides: kdelibs%{?_qt_suffix}-devel = %{version}
+Obsoletes: kdelibs%{?_qt_suffix}-devel <= 3.5.10
+%endif
+
+%description devel
+This package includes the header files you will need to compile
+applications for TDE.
+
+%package apidocs
+Group: Development/Libraries
+Summary: %{name} - API documentation
+Requires: %{name} = %{version}-%{release}
+Obsoletes: trinity-kdelibs-apidocs <= 3.5.13
+%if "%{?_prefix}" == "/usr"
+Provides: kdelibs%{?_qt_suffix}-apidocs = %{version}
+Obsoletes: kdelibs%{?_qt_suffix}-apidocs <= 3.5.10
+%endif
+
+%description apidocs
+This package includes the TDE API documentation in HTML
+format for easy browsing
+
+
+%prep
+%setup -q -n tdelibs
+#patch0 -p1
+%patch10 -p1
+
+
+%build
+export PATH="%{_bindir}:${PATH}"
+export LD_LIBRARY_PATH="%{_libdir}"
+export PKG_CONFIG_PATH="%{_libdir}/pkgconfig"
+export CMAKE_INCLUDE_PATH="%{_includedir}:%{_includedir}/tqt"
+
+%__mkdir build
+cd build
+%cmake \
+ -DHAVE_REAL_TQT=ON \
+ -DWITH_ARTS=ON \
+ -DWITH_ALSA=ON \
+ -DWITH_LIBART=ON \
+ -DWITH_LIBIDN=OFF \
+ -DWITH_SSL=ON \
+ -DWITH_CUPS=ON \
+ -DWITH_LUA=OFF \
+ -DWITH_TIFF=ON \
+ -DWITH_JASPER=ON \
+ -DWITH_OPENEXR=ON \
+ -DWITH_UTEMPTER=ON \
+ -DWITH_AVAHI=ON \
+ -DWITH_ASPELL=OFF \
+ -DWITH_HSPELL=OFF \
+ -DWITH_PCRE=ON \
+ -DWITH_INOTIFY=ON \
+ -DWITH_GAMIN=ON \
+ ..
+
+%__make %{?_smp_mflags}
+
+
+%install
+%__rm -rf %{?buildroot}
+%__make install DESTDIR=%{?buildroot} -C build
+
+%__mkdir_p %{?buildroot}%{_sysconfdir}/ld.so.conf.d
+cat <<EOF >%{?buildroot}%{_sysconfdir}/ld.so.conf.d/trinity.conf
+%if "%{?_prefix}" != "/usr"
+%{_libdir}
+%endif
+%{tde_libdir}
+EOF
+
+# Moves the XDG configuration files to TDE directory
+%if "%{_prefix}" != "/usr"
+ %__install -p -D -m644 \
+ "%{?buildroot}%{_sysconfdir}/xdg/menus/applications.menu" \
+ "%{?buildroot}%{_prefix}/etc/xdg/menus/kde-applications.menu"
+ %__rm -rf "%{?buildroot}%{_sysconfdir}/xdg"
+%else
+ %__mv -f "%{?buildroot}%{_sysconfdir}/xdg/menus/applications.menu" "%{?buildroot}%{_sysconfdir}/xdg/menus/kde-applications.menu"
+%endif
+
+
+%clean
+%__rm -rf %{?buildroot}
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files
+%defattr(-,root,root,-)
+%doc README
+%doc COPYING.LIB
+%{_bindir}/artsmessage
+%{_bindir}/cupsdconf
+%{_bindir}/cupsdoprint
+%{_bindir}/dcop
+%{_bindir}/dcopclient
+%{_bindir}/dcopfind
+%{_bindir}/dcopobject
+%{_bindir}/dcopquit
+%{_bindir}/dcopref
+%{_bindir}/dcopserver
+%{_bindir}/dcopserver_shutdown
+%{_bindir}/dcopstart
+%{_bindir}/filesharelist
+%{_bindir}/fileshareset
+%{_bindir}/imagetops
+%{_bindir}/kab2kabc
+%{_bindir}/kaddprinterwizard
+%{_bindir}/kbuildsycoca
+%{_bindir}/kcmshell
+%{_bindir}/kconf_update
+%{_bindir}/kcookiejar
+%{_bindir}/kde-config
+%{_bindir}/kde-menu
+%{_bindir}/kded
+%{_bindir}/kdeinit
+%{_bindir}/kdeinit_shutdown
+%{_bindir}/kdeinit_wrapper
+%{_bindir}/kdesu_stub
+%{_bindir}/kdontchangethehostname
+%{_bindir}/kdostartupconfig
+%{_bindir}/kfile
+%{_bindir}/kfmexec
+%{_bindir}/khotnewstuff
+%{_bindir}/kinstalltheme
+%{_bindir}/kio_http_cache_cleaner
+%{_bindir}/kio_uiserver
+%{_bindir}/kioexec
+%{_bindir}/kioslave
+%{_bindir}/klauncher
+%{_bindir}/kmailservice
+%{_bindir}/kmimelist
+%attr(4755,root,root) %{_bindir}/kpac_dhcp_helper
+%{_bindir}/ksendbugmail
+%{_bindir}/kshell
+%{_bindir}/kstartupconfig
+%{_bindir}/ktelnetservice
+%{_bindir}/ktradertest
+%{_bindir}/kwrapper
+%{_bindir}/lnusertemp
+%{_bindir}/make_driver_db_cups
+%{_bindir}/make_driver_db_lpr
+%{_bindir}/meinproc
+%{_bindir}/networkstatustestservice
+%{_bindir}/start_kdeinit
+%{_bindir}/start_kdeinit_wrapper
+%attr(4755,root,root) %{_bindir}/kgrantpty
+%{_libdir}/lib*.so.*
+%{_libdir}/libkdeinit_*.so
+%{_libdir}/lib*.la
+%{tde_libdir}/
+%{_datadir}/applications/kde/*.desktop
+%{_datadir}/autostart/kab2kabc.desktop
+%{_datadir}/applnk/kio_iso.desktop
+%{_datadir}/apps/*
+%exclude %{_datadir}/apps/ksgmltools2/
+%config(noreplace) %{_datadir}/config/*
+%{_datadir}/emoticons/*
+%{_datadir}/icons/default.kde
+%{_datadir}/mimelnk/magic
+%{_datadir}/mimelnk/*/*.desktop
+%{_datadir}/services/*
+%{_datadir}/servicetypes/*
+%{_datadir}/icons/crystalsvg/
+%{tde_docdir}/HTML/en/kspell
+# remove conflicts with kdelibs-4
+%if "%{?_prefix}" != "/usr"
+%{_bindir}/checkXML
+%{_bindir}/ksvgtopng
+%{_bindir}/kunittestmodrunner
+%{_bindir}/preparetips
+%{_datadir}/icons/hicolor/index.theme
+%{_datadir}/locale/all_languages
+%{tde_docdir}/HTML/en/common/*
+%else
+%exclude %{_bindir}/checkXML
+%exclude %{_bindir}/ksvgtopng
+%exclude %{_bindir}/kunittestmodrunner
+%exclude %{_bindir}/preparetips
+%exclude %{_datadir}/config/colors
+%exclude %{_datadir}/config/kdebug.areas
+%exclude %{_datadir}/config/kdebugrc
+%exclude %{_datadir}/config/ksslcalist
+%exclude %{_datadir}/config/ui/ui_standards.rc
+%exclude %{_datadir}/icons/hicolor/index.theme
+%exclude %{_datadir}/locale/all_languages
+%exclude %{tde_docdir}/HTML/en/common/*
+%endif
+%{_sysconfdir}/ld.so.conf.d/trinity.conf
+
+# Avoid conflict with 'redhat-menus' package
+%if "%{_prefix}" == "/usr"
+%{_sysconfdir}/xdg/menus/kde-applications.menu
+%else
+%{_prefix}/etc/xdg/menus/kde-applications.menu
+%endif
+
+# New in TDE 3.5.13
+%{_bindir}/kdetcompmgr
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/dcopidl*
+%{_bindir}/kconfig_compiler
+%{_bindir}/makekdewidgets
+%{_datadir}/apps/ksgmltools2/
+%{_includedir}/
+%{_libdir}/lib*.so
+%{_libdir}/lib*.a
+%exclude %{_libdir}/libkdeinit_*.so
+
+# New in TDE 3.5.13
+%{_datadir}/cmake/kdelibs.cmake
+
+%files apidocs
+%defattr(-,root,root,-)
+%{_docdir}/%{name}-%{version}/
+
+
+%changelog
+* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - r14-1
+- Initial build for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/kdelibs/trinity-kdelibs-3.5.13.spec b/redhat/kdelibs/trinity-kdelibs-3.5.13.spec
index 21e80ffd8..c6a44125f 100755
--- a/redhat/kdelibs/trinity-kdelibs-3.5.13.spec
+++ b/redhat/kdelibs/trinity-kdelibs-3.5.13.spec
@@ -2,7 +2,7 @@
%if "%{?version}" == ""
%define version 3.5.13
%endif
-%define release 6
+%define release 7
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
@@ -48,6 +48,10 @@ Patch12: kdelibs-3.5.13-kate_syntax.patch.gz
Patch13: kdelibs-3.5.13-add_inotify_support.patch
## [kdelibs] Add fam/gamin support to tdelibs CMake (backport commit 2b035349c31fe64c31d2c050892b117a3a807179)
Patch14: kdelibs-3.5.13-enable_fam_gamin.patch
+## [kdelibs/kioslave/http] Fix UTF8 Encoding for WebDAV directories
+Patch15: kdelibs-3.5.13-fix_UTF8_encoding_for_WebDAV_directories.patch
+## [kdelibs/kdeprint] Fix add printer [Bug #383]
+Patch16: kdelibs-3.5.13-fix_add_printer.patch
BuildRequires: libtool
BuildRequires: tqtinterface-devel
@@ -69,6 +73,7 @@ BuildRequires: OpenEXR-devel
BuildRequires: libtool-ltdl-devel
BuildRequires: glib2-devel
BuildRequires: gamin-devel
+BuildRequires: xorg-x11-proto-devel
Requires: tqtinterface
Requires: trinity-arts
@@ -124,6 +129,8 @@ format for easy browsing
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
+%patch16 -p1
%build
@@ -324,6 +331,10 @@ EOF
%changelog
+* Sat Jan 21 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-7
+- Fix UTF8 Encoding for WebDAV directories
+- Fix hardcoded path in 'add printer' [Bug #383]
+
* Mon Jan 16 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-6
- Adds 'fam' and 'gamin' support
diff --git a/redhat/kdemultimedia/kdemultimedia-3.5.13-fix_mmx_detection.patch b/redhat/kdemultimedia/kdemultimedia-3.5.13-fix_mmx_detection.patch
new file mode 100644
index 000000000..785b9d150
--- /dev/null
+++ b/redhat/kdemultimedia/kdemultimedia-3.5.13-fix_mmx_detection.patch
@@ -0,0 +1,12 @@
+diff -urN tdemultimedia/configure.in.in tdemultimedia.new/configure.in.in
+--- tdemultimedia/configure.in.in 2010-08-11 22:36:30.000000000 -0500
++++ tdemultimedia.new/configure.in.in 2012-01-12 22:54:04.000000000 -0600
+@@ -35,7 +35,7 @@
+ then
+ MMX_SUPPORT="no"
+ else
+- as_ver=`echo $as_ver |sed -e "s/.*version //;s/ .*//"`
++ as_ver=`echo|as -v 2>&1 | grep ".*version.*" | awk '{print $NF}'`
+ as_major=`echo $as_ver |cut -d. -f1`
+ if test $as_major -gt 2
+ then
diff --git a/redhat/kdemultimedia/trinity-kdemultimedia-3.5.13.spec b/redhat/kdemultimedia/trinity-kdemultimedia-3.5.13.spec
index 24dcdb176..d896d0a06 100644
--- a/redhat/kdemultimedia/trinity-kdemultimedia-3.5.13.spec
+++ b/redhat/kdemultimedia/trinity-kdemultimedia-3.5.13.spec
@@ -54,6 +54,9 @@ Provides: kdemultimedia3 = %{version}-%{release}
Patch3: kdemultimedia-3.4.0-xdg.patch
Patch5: kdemultimedia-3.5.7-pthread.patch
+# [kdemultimedia] Fix MMX detection [Bug #800]
+Patch10: kdemultimedia-3.5.13-fix_mmx_detection.patch
+
Requires: %{name}-libs = %{version}-%{release}
BuildRequires: trinity-arts-devel
@@ -132,6 +135,7 @@ Requires: %{name} = %{version}-%{release}
%setup -q -n kdemultimedia
%patch3 -p1 -b .xdg
%patch5 -p1 -b .pthread
+%patch10 -p1
# Ugly hack to modify TQT include directory inside autoconf files.
# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 !
@@ -413,6 +417,7 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%changelog
* Mon Jan 16 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-5
- Enables 'akode' support
+- Fix MMX support [Bug #800]
* Fri Nov 25 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-4
- Fix HTML directory location
diff --git a/redhat/kdenetwork/trinity-kdenetwork-3.5.13.spec b/redhat/kdenetwork/trinity-kdenetwork-3.5.13.spec
index a9171f867..82f176b5e 100644
--- a/redhat/kdenetwork/trinity-kdenetwork-3.5.13.spec
+++ b/redhat/kdenetwork/trinity-kdenetwork-3.5.13.spec
@@ -185,7 +185,7 @@ Requires: %{name} = %{version}-%{release}
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%patch14 -p1
+%patch14 -p4
# TDE 3.5.13: missing 'dummy.cpp' in MSN protocol
diff --git a/redhat/tdelibs b/redhat/tdelibs
new file mode 120000
index 000000000..028555378
--- /dev/null
+++ b/redhat/tdelibs
@@ -0,0 +1 @@
+kdelibs \ No newline at end of file