summaryrefslogtreecommitdiffstats
path: root/redhat/dependencies/qt3
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/dependencies/qt3')
-rw-r--r--redhat/dependencies/qt3/0084-compositing-properties.patch80
-rw-r--r--redhat/dependencies/qt3/assistant3.desktop9
-rw-r--r--redhat/dependencies/qt3/designer3.desktop11
-rw-r--r--redhat/dependencies/qt3/linguist3.desktop10
-rw-r--r--redhat/dependencies/qt3/qt-3.0.5-nodebug.patch15
-rw-r--r--redhat/dependencies/qt3/qt-3.1.0-makefile.patch11
-rw-r--r--redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch18
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch15
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch12
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch60
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch11
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch12
-rw-r--r--redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch11
-rw-r--r--redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch23
-rw-r--r--redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch11
-rw-r--r--redhat/dependencies/qt3/qt-uic-nostdlib.patch12
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch14
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch11
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch11
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch92
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch36
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch25
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch14
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch19
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch11
-rw-r--r--redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch24
-rwxr-xr-xredhat/dependencies/qt3/qt.csh33
-rwxr-xr-xredhat/dependencies/qt3/qt.sh32
-rw-r--r--redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch251
-rw-r--r--redhat/dependencies/qt3/qt3.spec721
-rw-r--r--redhat/dependencies/qt3/qtconfig3.desktop9
31 files changed, 1624 insertions, 0 deletions
diff --git a/redhat/dependencies/qt3/0084-compositing-properties.patch b/redhat/dependencies/qt3/0084-compositing-properties.patch
new file mode 100644
index 000000000..368b6c267
--- /dev/null
+++ b/redhat/dependencies/qt3/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/qt3/assistant3.desktop b/redhat/dependencies/qt3/assistant3.desktop
new file mode 100644
index 000000000..49e718c5d
--- /dev/null
+++ b/redhat/dependencies/qt3/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/qt3/designer3.desktop b/redhat/dependencies/qt3/designer3.desktop
new file mode 100644
index 000000000..23f1f549a
--- /dev/null
+++ b/redhat/dependencies/qt3/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/qt3/linguist3.desktop b/redhat/dependencies/qt3/linguist3.desktop
new file mode 100644
index 000000000..c6fce02c8
--- /dev/null
+++ b/redhat/dependencies/qt3/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/qt3/qt-3.0.5-nodebug.patch b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch
new file mode 100644
index 000000000..09d697fb4
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch
@@ -0,0 +1,15 @@
+--- qt-x11-free-3.0.5/src/tools/qgpluginmanager.cpp.bero 2002-08-21 15:16:19.000000000 +0200
++++ qt-x11-free-3.0.5/src/tools/qgpluginmanager.cpp 2002-08-21 15:16:41.000000000 +0200
+@@ -501,10 +501,10 @@
+ (*f).latin1(),
+ (const char*) QFile::encodeName( old->library() ) );
+ } else {
+- qWarning("%s: Feature %s already defined in %s!",
++/* qWarning("%s: Feature %s already defined in %s!",
+ (const char*) QFile::encodeName( old->library() ),
+ (*f).latin1(),
+- (const char*) QFile::encodeName( plugin->library() ) );
++ (const char*) QFile::encodeName( plugin->library() ) ); */
+ }
+ }
+ }
diff --git a/redhat/dependencies/qt3/qt-3.1.0-makefile.patch b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch
new file mode 100644
index 000000000..009ab81fb
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.1.0/Makefile.orig 2002-11-14 15:44:17.000000000 +0100
++++ qt-x11-free-3.1.0/Makefile 2002-11-14 15:49:33.000000000 +0100
+@@ -11,7 +11,7 @@
+ install: FORCE
+ @$(MAKE) qt.install
+
+-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples
++all: symlinks src-qmake src-moc sub-src sub-tools
+ @echo
+ @echo "The Qt library is now built in ./lib"
+ @echo "The Qt examples are built in the directories in ./examples"
diff --git a/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch
new file mode 100644
index 000000000..5bd5e9e0a
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch
@@ -0,0 +1,18 @@
+--- qt-x11-free-3.3.4/src/kernel/qpsprinter.cpp.cjk 2005-01-21 18:16:11.000000000 +0100
++++ qt-x11-free-3.3.4/src/kernel/qpsprinter.cpp 2005-01-26 15:09:20.911239907 +0100
+@@ -4748,10 +4748,11 @@
+
+ // GB18030 fonts on Turbolinux
+ static const psfont SongGBK2K [] = {
+- { "MSung-Light-GBK2K-H", 0, 100. },
+- { "MSung-Italic-GBK2K-H", 0, 100. },
+- { "MSung-Bold-GBK2K-H", 0, 100. },
+- { "MSung-BoldItalic-GBK2K-H", 0, 100. },
++ { "MSungGBK-Light-GBK2K-H", 0, 100. },
++ { "MSungGBK-Light-GBK2K-H", 0, 100. },
++ { "MSungGBK-Light-GBK2K-H", 0, 100. },
++ { "MSungGBK-Light-GBK2K-H", 0, 100. },
++
+ };
+ static const psfont KaiGBK2K [] = {
+ { "MKai-Medium-GBK2K-H", 0, 100. },
diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch
new file mode 100644
index 000000000..9dca7998d
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-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/qt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch
new file mode 100644
index 000000000..21081d1a6
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch
@@ -0,0 +1,12 @@
+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 2007-02-13 14:41:25.000000000 +0530
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:40:02.000000000 +0530
+@@ -253,7 +253,7 @@ static const unsigned char indicForms[0x
+ Unknown, Unknown, Unknown, Unknown,
+ Unknown, Unknown, Unknown, Unknown,
+
+- Other, Other, Other, Other,
++ Other, Other, VowelMark, VowelMark,
+ Other, Other, Other, Other,
+ Other, Other, Other, Other,
+ Other, Other, Other, Other,
diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch
new file mode 100644
index 000000000..01f3824c1
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch
@@ -0,0 +1,60 @@
+--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.bak 2006-10-13 13:21:37.000000000 +0800
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-10-13 13:57:36.000000000 +0800
+@@ -868,7 +868,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,
+@@ -1271,6 +1271,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++) {
+@@ -1547,6 +1557,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 QChar *)reordered.data(), len, item->glyphs, item->advances,
+ &item->num_glyphs, item->flags & QTextEngine::RightToLeft) != QFontEngine::NoError)
+ return FALSE;
+@@ -1658,6 +1677,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/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
new file mode 100644
index 000000000..8dbb2ae98
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.orig 2006-11-29 17:17:26.000000000 +0100
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-11-29 17:22:34.000000000 +0100
+@@ -864,7 +864,7 @@
+ None, None, None, Post,
+
+ None, None, None, None,
+- None, Post, None, None,
++ None, None, None, None,
+ None, None, None, None,
+ None, None, Post, Post,
+
diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch
new file mode 100644
index 000000000..eb880b1cc
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch
@@ -0,0 +1,12 @@
+diff -pruN qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp
+--- qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp 2006-03-08 00:00:00.000000000 +0530
++++ qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp 2006-12-04 18:49:09.000000000 +0530
+@@ -709,7 +709,7 @@ int QFontMetrics::charWidth( const QStri
+ if ( script >= QFont::Arabic && script <= QFont::Khmer ) {
+ // complex script shaping. Have to do some hard work
+ int from = QMAX( 0, pos - 8 );
+- int to = QMIN( (int)str.length(), pos + 8 );
++ int to = str.length();
+ QConstString cstr( str.unicode()+from, to-from);
+ QTextEngine layout( cstr.string(), d );
+ layout.itemize( QTextEngine::WidthOnly );
diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch
new file mode 100644
index 000000000..eb3868c96
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.bak 2006-10-18 17:55:23.000000000 +0800
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-10-19 16:42:31.641160984 +0800
+@@ -786,7 +786,7 @@
+ Below, None, Below, Below,
+ Below, Below, Below, Below,
+
+- Below, None, Below, Below,
++ Below, Below, Below, Below,
+ None, Below, Below, Below,
+ Below, Below, None, None,
+ None, None, Post, Above,
diff --git a/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch
new file mode 100644
index 000000000..41a74fba7
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch
@@ -0,0 +1,23 @@
+--- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200
++++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200
+@@ -1240,7 +1240,7 @@
+ int script = item->script;
+ Q_ASSERT(script >= QFont::Devanagari && script <= QFont::Sinhala);
+ const unsigned short script_base = 0x0900 + 0x80*(script-QFont::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;
+
+@@ -1278,6 +1278,11 @@
+ }
+ #endif
+
++ unsigned short *chkAssamese=reordered.data();
++ if((script == QFont::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/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch
new file mode 100644
index 000000000..7583239cc
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200
++++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200
+@@ -601,7 +601,7 @@
+ None, None, None, None,
+ None, None, None, None,
+
+- None, None, None, None,
++ Below, None, None, None,
+ None, None, None, None,
+ None, None, None, None,
+ None, None, None, None,
diff --git a/redhat/dependencies/qt3/qt-uic-nostdlib.patch b/redhat/dependencies/qt3/qt-uic-nostdlib.patch
new file mode 100644
index 000000000..02a40b225
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-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") {
++ QStringList x;
++ QApplication::setLibraryPaths(x);
+ } else if ( opt == "L" ) {
+ if ( !(n < argc-1) ) {
+ error = "Missing plugin path.";
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch
new file mode 100644
index 000000000..6dce7aa80
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch
@@ -0,0 +1,14 @@
+--- qt-x11-free-3.3.2/src/kernel/qpixmap_x11.cpp.orig 2004-05-10 13:54:03.592289052 +0200
++++ qt-x11-free-3.3.2/src/kernel/qpixmap_x11.cpp 2004-05-10 13:56:10.165560473 +0200
+@@ -288,8 +288,9 @@
+ {
+ #if defined(QT_CHECK_STATE)
+ if ( qApp->type() == QApplication::Tty ) {
+- qWarning( "QPixmap: Cannot create a QPixmap when no GUI "
+- "is being used" );
++// qWarning( "QPixmap: Cannot create a QPixmap when no GUI "
++// "is being used" );
++ ;
+ }
+ #endif
+
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch
new file mode 100644
index 000000000..0d03f0809
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.3/src/kernel/qapplication_x11.cpp.orig 2004-11-09 18:57:15.012843629 +0100
++++ qt-x11-free-3.3.3/src/kernel/qapplication_x11.cpp 2004-11-09 19:02:31.351637807 +0100
+@@ -1412,7 +1412,7 @@
+ False, XA_ATOM, &type, &format, &nitems, &after, &data);
+
+ if (type == XA_ATOM && format == 32) {
+- ts.writeBlock((const char *) data, nitems * 4);
++ ts.writeBlock((const char *) data, nitems * sizeof(long));
+ offset += nitems;
+ } else
+ after = 0;
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
new file mode 100644
index 000000000..a9cfaf4c3
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.6/src/kernel/qfontdatabase_x11.cpp.fonts 2004-08-05 16:42:06.000000000 +0200
++++ qt-x11-free-3.3.6/src/kernel/qfontdatabase_x11.cpp 2004-09-28 16:11:54.955374161 +0200
+@@ -975,7 +981,7 @@
+ };
+ const XftDefaultFont defaults[] = {
+ { "Serif", "serif", FALSE },
+- { "Sans Serif", "sans-serif", FALSE },
++ { "Sans", "sans-serif", FALSE },
+ { "Monospace", "monospace", TRUE },
+ { 0, 0, FALSE }
+ };
diff --git a/redhat/dependencies/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
new file mode 100644
index 000000000..24982206d
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-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 QTextEdit::removeSelectedText( int selNum )
+ {
+- if(selNum != 0)
+- resetInputContext();
+-
+ QTextCursor c1 = doc->selectionStartCursor( selNum );
+ c1.restoreState();
+ QTextCursor c2 = doc->selectionEndCursor( selNum );
+@@ -3171,7 +3168,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ QTextParagraph *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();
+ QTextParagraph *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/qt3/qt-x11-free-3.3.6-strip.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch
new file mode 100644
index 000000000..efc24c8a1
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch
@@ -0,0 +1,36 @@
+--- qt-x11-free-3.3.6/mkspecs/linux-g++/qmake.conf.orig 2006-06-21 15:37:53.000000000 +0200
++++ qt-x11-free-3.3.6/mkspecs/linux-g++/qmake.conf 2006-06-21 15:38:02.000000000 +0200
+@@ -84,7 +84,7 @@
+ QMAKE_MOVE = mv -f
+ QMAKE_DEL_FILE = rm -f
+ QMAKE_DEL_DIR = rmdir
+-QMAKE_STRIP =
+-QMAKE_STRIPFLAGS_LIB += --strip-unneeded
++QMAKE_STRIP =
++QMAKE_STRIPFLAGS_LIB +=
+ QMAKE_CHK_DIR_EXISTS = test -d
+ QMAKE_MKDIR = mkdir -p
+--- qt-x11-free-3.3.6/mkspecs/linux-g++-32/qmake.conf.orig 2006-06-21 15:37:09.000000000 +0200
++++ qt-x11-free-3.3.6/mkspecs/linux-g++-32/qmake.conf 2006-06-21 15:37:19.000000000 +0200
+@@ -84,7 +84,7 @@
+ QMAKE_MOVE = mv -f
+ QMAKE_DEL_FILE = rm -f
+ QMAKE_DEL_DIR = rmdir
+-QMAKE_STRIP = strip
+-QMAKE_STRIPFLAGS_LIB += --strip-unneeded
++QMAKE_STRIP =
++QMAKE_STRIPFLAGS_LIB +=
+ QMAKE_CHK_DIR_EXISTS = test -d
+ QMAKE_MKDIR = mkdir -p
+--- qt-x11-free-3.3.6/mkspecs/linux-g++-64/qmake.conf.orig 2006-06-21 15:36:23.000000000 +0200
++++ qt-x11-free-3.3.6/mkspecs/linux-g++-64/qmake.conf 2006-06-21 15:36:56.000000000 +0200
+@@ -87,7 +87,7 @@
+ QMAKE_MOVE = mv -f
+ QMAKE_DEL_FILE = rm -f
+ QMAKE_DEL_DIR = rmdir
+-QMAKE_STRIP = strip
+-QMAKE_STRIPFLAGS_LIB += --strip-unneeded
++QMAKE_STRIP =
++QMAKE_STRIPFLAGS_LIB +=
+ QMAKE_CHK_DIR_EXISTS = test -d
+ QMAKE_MKDIR = mkdir -p
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch
new file mode 100644
index 000000000..0c93c416a
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch
@@ -0,0 +1,25 @@
+--- qt-x11-free-3.3.7/src/tools/qglobal.h.orig 2007-04-24 09:02:36.000000000 -0400
++++ qt-x11-free-3.3.7/src/tools/qglobal.h 2007-04-24 09:03:02.000000000 -0400
+@@ -315,9 +315,9 @@
+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
+ members of a packed struct. (Pointers are OK, because then you
+ supposedly know what you are doing.) */
+-# if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
++# if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) && !defined(__ARM_EABI__)
+ # define Q_PACKED __attribute__ ((packed))
+-# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
++# if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+ # define Q_NO_PACKED_REFERENCE
+ # endif
+ # endif
+--- qt-x11-free-3.3.7/src/tools/qstring.h.orig 2007-04-24 09:03:11.000000000 -0400
++++ qt-x11-free-3.3.7/src/tools/qstring.h 2007-04-24 09:03:27.000000000 -0400
+@@ -194,7 +194,7 @@
+ char latin1() const { return ucs > 0xff ? 0 : (char) ucs; }
+ ushort unicode() const { return ucs; }
+ #ifdef Q_NO_PACKED_REFERENCE
+- ushort &unicode() { return *(&ucs); }
++ ushort &unicode() { return *((ushort *)&ucs); }
+ #else
+ ushort &unicode() { return ucs; }
+ #endif
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch
new file mode 100644
index 000000000..f2351909f
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch
@@ -0,0 +1,14 @@
+--- qt-x11-free-3.3.7/src/tools/qsettings.cpp.tn 2006-11-09 20:53:25.000000000 +0100
++++ qt-x11-free-3.3.7/src/tools/qsettings.cpp 2006-11-09 20:59:53.000000000 +0100
+@@ -994,7 +994,10 @@
+ #endif
+
+ QFile 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("QSettings::sync: failed to open '%s' for writing",
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch
new file mode 100644
index 000000000..6f21e3cf1
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch
@@ -0,0 +1,19 @@
+diff -up qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp
+--- qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig 2009-02-24 11:32:27.000000000 +0100
++++ qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp 2009-02-24 11:33:43.000000000 +0100
+@@ -57,13 +57,13 @@
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#ifdef SQLLEN
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLLEN SQLLEN
+ #else
+ # define QSQLLEN SQLINTEGER
+ #endif
+
+-#ifdef SQLULEN
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define QSQLULEN SQLULEN
+ #else
+ # define QSQLULEN SQLUINTEGER
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch
new file mode 100644
index 000000000..c1ff66c2c
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch
@@ -0,0 +1,11 @@
+--- qt-x11-free-3.3.8b/mkspecs/macx-mwerks/mwerkstmpl.xml.orig 2010-06-30 01:00:36.000000000 +0200
++++ qt-x11-free-3.3.8b/mkspecs/macx-mwerks/mwerkstmpl.xml 2010-06-30 01:00:56.000000000 +0200
+@@ -817,7 +817,7 @@
+ <PATHFORMAT>MacOS</PATHFORMAT>
+ </FILEREF>
+ </GROUP>
+- <GROUP><Name>QtGenerated</NAME>
++ <GROUP><NAME>QtGenerated</NAME>
+ $$CODEWARRIOR_QPREPROCESS_GROUP
+ $$CODEWARRIOR_QPREPROCESSOUT_GROUP
+ </GROUP>
diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch
new file mode 100644
index 000000000..341cab7e1
--- /dev/null
+++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch
@@ -0,0 +1,24 @@
+diff -up qt-x11-free-3.3.8b/tools/designer/uic/main.cpp.orig qt-x11-free-3.3.8b/tools/designer/uic/main.cpp
+--- qt-x11-free-3.3.8b/tools/designer/uic/main.cpp.orig 2008-01-24 13:25:29.000000000 +0100
++++ qt-x11-free-3.3.8b/tools/designer/uic/main.cpp 2008-01-24 13:28:17.000000000 +0100
+@@ -320,7 +320,7 @@ int main( int argc, char * argv[] )
+ out << "/****************************************************************************" << endl;
+ out << "** Form "<< (impl? "implementation" : "interface") << " generated from reading ui file '" << fileName << "'" << endl;
+ out << "**" << endl;
+- out << "** Created: " << QDateTime::currentDateTime().toString() << endl;
++ out << "** Created by User Interface Compiler" << endl;
+ out << "**" << endl;
+ out << "** WARNING! All changes made in this file will be lost!" << endl;
+ out << "****************************************************************************/" << endl << endl;
+diff -up qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp.orig qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp
+--- qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp.orig 2008-01-24 13:28:30.000000000 +0100
++++ qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp 2008-01-24 13:29:10.000000000 +0100
+@@ -137,7 +137,7 @@ void Uic::embed( QTextStream& out, const
+ for ( it = images.begin(); it != images.end(); ++it )
+ out << "** " << *it << "\n";
+ out << "**\n";
+- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
++ out << "** Created by The User Interface Compiler" << "\n";
+ out << "**\n";
+ out << "** WARNING! All changes made in this file will be lost!\n";
+ out << "****************************************************************************/\n";
diff --git a/redhat/dependencies/qt3/qt.csh b/redhat/dependencies/qt3/qt.csh
new file mode 100755
index 000000000..93fd941ed
--- /dev/null
+++ b/redhat/dependencies/qt3/qt.csh
@@ -0,0 +1,33 @@
+# Qt initialization script (csh)
+
+# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
+# 32 bit over 64 bit in ppc64. 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:
+ 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/qt3/qt.sh b/redhat/dependencies/qt3/qt.sh
new file mode 100755
index 000000000..f9ca654c1
--- /dev/null
+++ b/redhat/dependencies/qt3/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,
+# 32 bit over 64 bit in ppc64. 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 )
+ 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/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
new file mode 100644
index 000000000..c5da1ad4c
--- /dev/null
+++ b/redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
@@ -0,0 +1,251 @@
+--- qt3/translations/qt_zh-tw.ts.ORI 2011-10-30 09:42:26.000000000 +0100
++++ qt3/translations/qt_zh-tw.ts 2011-12-18 22:06:58.432615802 +0100
+@@ -115,7 +115,7 @@
+ </message>
+ <message>
+ <source>Menu</source>
+- <translation>Menu</translation>
++ <translation>選單</translation>
+ </message>
+ <message>
+ <source>Help</source>
+@@ -337,7 +337,7 @@
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+- <translation>Alpha 色頻(&amp;L):</translation>
++ <translation>透明色頻(&amp;L):</translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+@@ -429,11 +429,11 @@
+ </message>
+ <message>
+ <source>Read: %1</source>
+- <translation>讀取: %1</translation>
++ <translation>讀取:%1</translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+- <translation>寫入: %1</translation>
++ <translation>寫入:%1</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+@@ -1194,7 +1194,7 @@
+ </message>
+ <message>
+ <source>Customize...</source>
+- <translation>自訂...</translation>
++ <translation>自訂…</translation>
+ </message>
+ </context>
+ <context>
+@@ -1264,7 +1264,7 @@
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for multiplatform GUI &amp;amp; application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants.&lt;br&gt;Qt is also available for embedded devices.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;tt&gt;http://www.trolltech.com/qt/&lt;/tt&gt; for more information.&lt;/p&gt;</source>
+- <translation>&lt;h3&gt;關於 Qt&lt;/h3&gt;&lt;p&gt;本程式使用 Qt 版本 %1。&lt;/p&gt;&lt;p&gt;Qt 是用於多平台 GUI 和應用程式開發的 C++ 工具套件。&lt;/p&gt;&lt;p&gt;Qt 為 MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux 和所有主要的商用 Unix 變異版本,提供跨平台的單一原始碼可攜性。&lt;br&gt;Qt 也可用於內嵌裝置。&lt;/p&gt;&lt;p&gt;Qt 是 Trolltech 的產品。如需詳細資訊,請參閱 &lt;tt&gt;http://www.trolltech.com/qt/&lt;/tt&gt;。&lt;/p&gt;</translation>
++ <translation>&lt;h3&gt;關於 Qt&lt;/h3&gt;&lt;p&gt;本程式使用 Qt 版本 %1。&lt;/p&gt;&lt;p&gt;Qt 是用於多平臺 GUI 和應用程式開發的 C++ 工具套件。&lt;/p&gt;&lt;p&gt;Qt 為 MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux 和所有主要的商用 Unix 變異版本,提供跨平臺的單一原始碼可攜性。&lt;br&gt;Qt 也可用於內嵌裝置。&lt;/p&gt;&lt;p&gt;Qt 是 Trolltech 的產品。如需詳細資訊,請參閱 &lt;tt&gt;http://www.trolltech.com/qt/&lt;/tt&gt;。&lt;/p&gt;</translation>
+ </message>
+ </context>
+ <context>
+@@ -1282,7 +1282,7 @@
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+- <translation>別名: %1</translation>
++ <translation>別名:%1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+@@ -1338,7 +1338,7 @@
+ </message>
+ <message>
+ <source>Browse...</source>
+- <translation>瀏覽...</translation>
++ <translation>瀏覽…</translation>
+ </message>
+ <message>
+ <source>Options</source>
+@@ -1386,123 +1386,123 @@
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+- <translation>A0 (841 x 1189 mm)</translation>
++ <translation>A0 (841 x 1189 公釐)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+- <translation>A1 (594 x 841 mm)</translation>
++ <translation>A1 (594 x 841 公釐)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+- <translation>A2 (420 x 594 mm)</translation>
++ <translation>A2 (420 x 594 公釐)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+- <translation>A3 (297 x 420 mm)</translation>
++ <translation>A3 (297 x 420 公釐)</translation>
+ </message>
+ <message>
+ <source>A4 (210x297 mm, 8.26x11.7 inches)</source>
+- <translation>A4 (210x297 mm,8.26x11.7 英吋)</translation>
++ <translation>A4 (210x297 公釐,8.26x11.7 英吋)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+- <translation>A5 (148 x 210 mm)</translation>
++ <translation>A5 (148 x 210 公釐)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+- <translation>A6 (105 x 148 mm)</translation>
++ <translation>A6 (105 x 148 公釐)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+- <translation>A7 (74 x 105 mm)</translation>
++ <translation>A7 (74 x 105 公釐)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+- <translation>A8 (52 x 74 mm)</translation>
++ <translation>A8 (52 x 74 公釐)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+- <translation>A9 (37 x 52 mm)</translation>
++ <translation>A9 (37 x 52 公釐)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+- <translation>B0 (1000 x 1414 mm)</translation>
++ <translation>B0 (1000 x 1414 公釐)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+- <translation>B1 (707 x 1000 mm)</translation>
++ <translation>B1 (707 x 1000 公釐)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+- <translation>B2 (500 x 707 mm)</translation>
++ <translation>B2 (500 x 707 公釐)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+- <translation>B3 (353 x 500 mm)</translation>
++ <translation>B3 (353 x 500 公釐)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+- <translation>B4 (250 x 353 mm)</translation>
++ <translation>B4 (250 x 353 公釐)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93x9.84 inches)</source>
+- <translation>B5 (176 x 250 mm,6.93x9.84 英吋)</translation>
++ <translation>B5 (176 x 250 公釐,6.93x9.84 英吋)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+- <translation>B6 (125 x 176 mm)</translation>
++ <translation>B6 (125 x 176 公釐)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+- <translation>B7 (88 x 125 mm)</translation>
++ <translation>B7 (88 x 125 公釐)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+- <translation>B8 (62 x 88 mm)</translation>
++ <translation>B8 (62 x 88 公釐)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+- <translation>B9 (44 x 62 mm)</translation>
++ <translation>B9 (44 x 62 公釐)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+- <translation>B10 (31 x 44 mm)</translation>
++ <translation>B10 (31 x 44 公釐)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+- <translation>C5E (163 x 229 mm)</translation>
++ <translation>C5E (163 x 229 公釐)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+- <translation>DLE (110 x 220 mm)</translation>
++ <translation>DLE (110 x 220 公釐)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5x10 inches, 191x254 mm)</source>
+- <translation>Executive (7.5x10 英吋,191x254 mm)</translation>
++ <translation>Executive (7.5x10 英吋,191x254 公釐)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+- <translation>Folio (210 x 330 mm)</translation>
++ <translation>Folio (210 x 330 公釐)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+- <translation>Ledger (432 x 279 mm)</translation>
++ <translation>Ledger (432 x 279 公釐)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5x14 inches, 216x356 mm)</source>
+- <translation>Legal (8.5x14 英吋,216x356 mm)</translation>
++ <translation>Legal (8.5x14 英吋,216x356 公釐)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5x11 inches, 216x279 mm)</source>
+- <translation>Letter (8.5x11 英吋,216x279 mm)</translation>
++ <translation>Letter (8.5x11 英吋,216x279 公釐)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+- <translation>Tabloid (279 x 432 mm)</translation>
++ <translation>Tabloid (279 x 432 公釐)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+- <translation>美國一般 10 號信封 (105 x 241 mm)</translation>
++ <translation>美國一般 10 號信封 (105 x 241 公釐)</translation>
+ </message>
+ <message>
+ <source>Setup Printer</source>
+@@ -1691,7 +1691,7 @@
+ <name>QToolBar</name>
+ <message>
+ <source>More...</source>
+- <translation>其他...</translation>
++ <translation>其他…</translation>
+ </message>
+ </context>
+ <context>
+@@ -1811,7 +1811,7 @@
+ </message>
+ <message>
+ <source>&amp;Help</source>
+- <translation>說明(&amp;H)</translation>
++ <translation>求助(&amp;H)</translation>
+ </message>
+ </context>
+ <context>
+@@ -1988,7 +1988,7 @@
+ </message>
+ <message>
+ <source>Paste special...</source>
+- <translation>選擇性貼上...</translation>
++ <translation>選擇性貼上…</translation>
+ </message>
+ <message>
+ <source>Clear</source>
diff --git a/redhat/dependencies/qt3/qt3.spec b/redhat/dependencies/qt3/qt3.spec
new file mode 100644
index 000000000..fcadb5b6d
--- /dev/null
+++ b/redhat/dependencies/qt3/qt3.spec
@@ -0,0 +1,721 @@
+# Default version for this component
+%if "%{?version}" == ""
+%define version 3.3.8.d
+%endif
+
+# 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 !!!!
+
+Name: qt3
+Version: %{?version}
+Release: 3%{?dist}
+Summary: The shared library for the Qt 3 GUI toolkit
+
+License: QPL or GPLv2 or GPLv3
+Group: System Environment/Libraries
+URL: http://www.trinitydesktop.org/
+
+Obsoletes: qt < 1:%{version}-%{release}
+Provides: qt = 1:%{version}-%{release}
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source0: qt3-3.3.8.d.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: qt-3.0.5-nodebug.patch
+Patch3: qt-3.1.0-makefile.patch
+Patch4: qt-x11-free-3.3.7-umask.patch
+Patch5: qt-x11-free-3.3.6-strip.patch
+Patch7: qt-x11-free-3.3.2-quiet.patch
+#Patch8: qt-x11-free-3.3.3-qembed.patch
+Patch12: qt-uic-nostdlib.patch
+Patch13: qt-x11-free-3.3.6-qfontdatabase_x11.patch
+#Patch14: qt-x11-free-3.3.3-gl.patch
+#Patch19: qt-3.3.3-gtkstyle.patch
+#Patch20: qt-x11-free-3.3.8b-gcc4-buildkey.patch
+#Patch24: qt-x11-free-3.3.5-uic.patch
+Patch25: qt-x11-free-3.3.8b-uic-multilib.patch
+Patch27: qt-3.3.6-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: qt-3.3.6-fontrendering-214371.patch
+Patch33: qt-3.3.8-fontrendering-#214570.patch
+Patch34: qt-3.3.6-fontrendering-ml_IN-209974.patch
+Patch35: qt-3.3.6-fontrendering-ml_IN-217657.patch
+Patch37: qt-3.3.6-fontrendering-gu-228452.patch
+Patch38: qt-x11-free-3.3.8-odbc.patch
+Patch39: qt-x11-free-3.3.7-arm.patch
+Patch40: qt-x11-free-3.3.8b-typo.patch
+
+# immodule patches
+#Patch50: qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2
+#Patch51: qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch
+#Patch52: qt-x11-free-3.3.8b-fix-key-release-event-with-imm.diff
+Patch53: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
+
+# qt-copy patches
+#Patch100: 0038-dragobject-dont-prefer-unknown.patch
+#Patch101: 0047-fix-kmenu-width.diff
+#Patch102: 0048-qclipboard_hack_80072.patch
+#Patch103: 0056-khotkeys_input_84434.patch
+#patch105: 0073-xinerama-aware-qpopup.patch
+#Patch107: 0079-compositing-types.patch
+#Patch108: 0080-net-wm-sync-request-2.patch
+Patch110: 0084-compositing-properties.patch
+
+# upstream patches
+Patch200: qt-x11-free-3.3.4-fullscreen.patch
+#Patch201: qt-x11-free-3.3.8b-gcc43.patch
+
+# TDE 3.5.13 patches
+Patch300: qt3-3.3.8.d-updates_zh-tw_translations.patch
+
+%define qt_dirname qt-3.3
+%define qtdir %{_libdir}/%{qt_dirname}
+%define qt_docdir %{_docdir}/qt-devel-%{version}
+
+%define smp 1
+%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
+BuildRequires: gcc-c++
+
+
+%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}
+
+
+%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}
+
+
+%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}
+
+
+%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}
+
+
+%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}
+
+
+%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}
+
+
+%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}
+
+
+%package designer
+Summary: Interface 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}
+
+
+%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 qt3
+%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
+#patch14 -p1 -b .gl
+#patch19 -p1 -b .gtk
+#patch20 -p1 -b .gcc4-buildkey
+#patch24 -p1 -b .uic
+%patch25 -p1 -b .uic-multilib
+%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}
+#patch50 -p1
+#patch51 -p1 -b .quiet
+#patch52 -p1 -b .fix-key-release-event-with-imm
+%patch53 -p1 -b .resetinputcontext
+%endif
+
+# qt-copy patches
+#patch100 -p0 -b .0038-dragobject-dont-prefer-unknown
+#patch101 -p0 -b .0047-fix-kmenu-width
+#patch102 -p0 -b .0048-qclipboard_hack_80072
+#patch103 -p0 -b .0056-khotkeys_input_84434
+#patch105 -p0 -b .0073-xinerama-aware-qpopup
+#patch107 -p0 -b .0079-compositing-types
+#patch108 -p0 -b .0080-net-wm-sync-request
+%patch110 -p0 -b .0084-compositing-properties
+
+# upstream patches
+%patch200 -p1 -b .fullscreen
+#patch201 -p1 -b .gcc34
+
+# 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
+export QTDIR=`/bin/pwd`
+export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
+export PATH="$QTDIR/bin:$PATH"
+export QTDEST=%{qtdir}
+
+%if %{smp}
+ export SMP_MFLAGS="%{?_smp_mflags}"
+%endif
+
+%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 $QTDEST \
+ -docdir %{qt_docdir} \
+%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 UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins"
+
+%install
+rm -rf %{buildroot}
+
+export QTDIR=`/bin/pwd`
+export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
+export PATH="$QTDIR/bin:$PATH"
+export QTDEST=%{qtdir}
+
+make install INSTALL_ROOT=%{buildroot}
+
+for i in findtr qt20fix qtrename140 lrelease lupdate ; do
+ install bin/$i %{buildroot}%{qtdir}/bin/
+done
+
+mkdir -p %{buildroot}%{_libdir}/pkgconfig/
+mv %{buildroot}%{qtdir}/lib/pkgconfig/*.pc %{buildroot}%{_libdir}/pkgconfig/
+
+# 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 = %{qtdir}/bin/moc|' < $a > ${a}.2
+ mv -v ${a}.2 $a
+done
+
+mkdir -p %{buildroot}/etc/profile.d
+install -m 644 %{SOURCE2} %{SOURCE3} %{buildroot}/etc/profile.d/
+
+# 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}%{qtdir}/mkspecs/*/qmake.conf
+
+# remove broken links
+rm -f %{buildroot}%{qtdir}/mkspecs/default/linux-g++*
+rm -f %{buildroot}%{qtdir}/lib/*.la
+
+mkdir -p %{buildroot}/etc/ld.so.conf.d
+echo "%{qtdir}/lib" > %{buildroot}/etc/ld.so.conf.d/qt-%{_arch}.conf
+
+# install icons
+mkdir %{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}%{qtdir}/plugins/styles
+
+%clean
+rm -rf %{buildroot}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc FAQ LICENSE* README* changes*
+%dir %{qtdir}
+%dir %{qtdir}/bin
+%dir %{qtdir}/lib
+%dir %{qtdir}/plugins
+%dir %{qtdir}/plugins/sqldrivers
+%dir %{qtdir}/plugins/styles
+%{qtdir}/translations
+%{qtdir}/plugins/designer/
+%if %{immodule}
+%{qtdir}/plugins/inputmethods
+%endif
+%config /etc/profile.d/*
+/etc/ld.so.conf.d/*
+%{qtdir}/lib/libqui.so.*
+%{qtdir}/lib/libqt*.so.*
+
+%files config
+%defattr(-,root,root,-)
+%{qtdir}/bin/qtconfig
+%{_datadir}/applications/*qtconfig*.desktop
+%{_datadir}/pixmaps/qtconfig3.png
+
+%files devel
+%defattr(-,root,root,-)
+%{qt_docdir}/
+%{qtdir}/bin/moc
+%{qtdir}/bin/uic
+%{qtdir}/bin/findtr
+%{qtdir}/bin/qt20fix
+%{qtdir}/bin/qtrename140
+%{qtdir}/bin/assistant
+%{qtdir}/bin/qm2ts
+%{qtdir}/bin/qmake
+%{qtdir}/bin/qembed
+%{qtdir}/bin/linguist
+%{qtdir}/bin/lupdate
+%{qtdir}/bin/lrelease
+%{qtdir}/include
+%{qtdir}/mkspecs
+%{qtdir}/lib/libqt*.so
+%{qtdir}/lib/libqui.so
+%{qtdir}/lib/libeditor.a
+%{qtdir}/lib/libdesigner*.a
+%{qtdir}/lib/libqassistantclient.a
+%{qtdir}/lib/*.prl
+%{qtdir}/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
+%{qtdir}/bin/createcw
+%{qtdir}/bin/makeqpf
+%{qtdir}/bin/mergetr
+%{qtdir}/bin/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 %{qtdir}/include/btree.h
+#%exclude %{qtdir}/include/config.h
+%exclude %{qtdir}/include/crc32.h
+%exclude %{qtdir}/include/debian_qsql_odbc.h
+%exclude %{qtdir}/include/deflate.h
+%exclude %{qtdir}/include/ftglue.h
+%exclude %{qtdir}/include/ftxgdef.h
+%exclude %{qtdir}/include/ftxgpos.h
+%exclude %{qtdir}/include/ftxgsub.h
+%exclude %{qtdir}/include/ftxopen.h
+%exclude %{qtdir}/include/ftxopenf.h
+%exclude %{qtdir}/include/hash.h
+%exclude %{qtdir}/include/inffast.h
+%exclude %{qtdir}/include/inffixed.h
+%exclude %{qtdir}/include/inflate.h
+%exclude %{qtdir}/include/inftrees.h
+%exclude %{qtdir}/include/jchuff.h
+%exclude %{qtdir}/include/jconfig.h
+%exclude %{qtdir}/include/jdct.h
+%exclude %{qtdir}/include/jdhuff.h
+%exclude %{qtdir}/include/jerror.h
+%exclude %{qtdir}/include/jinclude.h
+%exclude %{qtdir}/include/jmemsys.h
+%exclude %{qtdir}/include/jmorecfg.h
+#%exclude %{qtdir}/include/jpegint.h
+#%exclude %{qtdir}/include/jpeglib.h
+%exclude %{qtdir}/include/jversion.h
+#%exclude %{qtdir}/include/libmng.h
+#%exclude %{qtdir}/include/libmng_chunk_io.h
+#%exclude %{qtdir}/include/libmng_chunk_prc.h
+#%exclude %{qtdir}/include/libmng_chunks.h
+#%exclude %{qtdir}/include/libmng_cms.h
+#%exclude %{qtdir}/include/libmng_conf.h
+#%exclude %{qtdir}/include/libmng_data.h
+#%exclude %{qtdir}/include/libmng_display.h
+#%exclude %{qtdir}/include/libmng_dither.h
+#%exclude %{qtdir}/include/libmng_error.h
+#%exclude %{qtdir}/include/libmng_filter.h
+#%exclude %{qtdir}/include/libmng_jpeg.h
+#%exclude %{qtdir}/include/libmng_memory.h
+#%exclude %{qtdir}/include/libmng_object_prc.h
+#%exclude %{qtdir}/include/libmng_objects.h
+#%exclude %{qtdir}/include/libmng_pixels.h
+#%exclude %{qtdir}/include/libmng_read.h
+#%exclude %{qtdir}/include/libmng_trace.h
+#%exclude %{qtdir}/include/libmng_types.h
+#%exclude %{qtdir}/include/libmng_write.h
+#%exclude %{qtdir}/include/libmng_zlib.h
+%exclude %{qtdir}/include/moc_yacc.h
+%exclude %{qtdir}/include/opcodes.h
+%exclude %{qtdir}/include/os.h
+%exclude %{qtdir}/include/otlbuffer.h
+%exclude %{qtdir}/include/pager.h
+%exclude %{qtdir}/include/parse.h
+#%exclude %{qtdir}/include/png.h
+%exclude %{qtdir}/include/pngasmrd.h
+%exclude %{qtdir}/include/pngconf.h
+%exclude %{qtdir}/include/sqlite.h
+%exclude %{qtdir}/include/sqliteInt.h
+%exclude %{qtdir}/include/trees.h
+%exclude %{qtdir}/include/vdbe.h
+%exclude %{qtdir}/include/vdbeInt.h
+#%exclude %{qtdir}/include/zconf.h
+#%exclude %{qtdir}/include/zconf.in.h
+#%exclude %{qtdir}/include/zlib.h
+#%exclude %{qtdir}/include/zutil.h
+%exclude %{qtdir}/mkspecs/linux-g++-sparc
+
+
+
+%files devel-docs
+%defattr(-,root,root,-)
+%doc examples
+%doc tutorial
+%{_mandir}/*/*
+
+%files sqlite
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlite.so
+
+%files ODBC
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlodbc.so
+
+%files PostgreSQL
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlpsql.so
+
+%files MySQL
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlmysql.so
+
+%files designer
+%defattr(-,root,root,-)
+%{qtdir}/templates
+%{qtdir}/bin/designer
+%{_datadir}/applications/*designer*.desktop
+%{_datadir}/pixmaps/designer3.png
+
+
+%changelog
+* 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/qt3/qtconfig3.desktop b/redhat/dependencies/qt3/qtconfig3.desktop
new file mode 100644
index 000000000..11df0abab
--- /dev/null
+++ b/redhat/dependencies/qt3/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;