Guys,
After working to build Qt3 from svn for a day, it became clear that a
bit of
cleanup will be needed on the code before and getting a handle on what
patches
it contains before it can be usable. I took a bit of time tonight to
analyze the
qt-x11-3.3.8b source compared to the trinitydesktop (svn) code in hope of
helping move this process along.
The script I used is here:
http://www.3111skyline.com/dl/dt/trinity/arch/scr/qt3srccmp.sh
The basic setup for running the script is contained in a comment in the
top
of the script:
#!/bin/bash --norc
## this presumes you have:
##
## (1) downloaded the trinity desktop qt3 source with svn checkout
## (2) removed the .svn files (tar --exclude-vcs -czf qt3svn.tar.gz
qt3/), then
untarred the files in a 'tmp-dir/qt3'
## (3) untarred the qt3-3.3.8b source into the same
'tmp-dir/qt-x11-free-3.3.8b'
#
The script then loops through the files in qt-x11-3.3.8b/ and compares
the
files to those in trinitydesktop qt3 (svn). The script summary provides:
6420 - files examined
files in both Qt3 (svn) and qt-x11-free-3.3.8b, reported in:
identical-svn-338b.txt
files in qt-x11-free-3.3.8b but not in Qt3 svn, reported in:
missing-svn-338b.txt
diffs for files present in both with differing contents in :
qtdiffs/path/to/filename.diff
All results are available in the tarball available here:
[99k]
http://www.3111skyline.com/dl/dt/trinity/arch/dev/qt3-compare/qt3-svn-v-3.3…
Files included:
-> identical-svn-338b.txt - The script identifies those files that are
identical
between 3.3.8b code and svn (not that interesting, but useful for knowing
which
patches must still be applied;
-> missing-svn-338b.txt - The files that are included in
qt-x11-free-3.3.8b but
are MISSING in trinitydesktop qt3 (svn). This is interesting:
examples/opengl/overlay_x11/utilities/sovinfo/Makefile
examples/opengl/overlay_x11/utilities/glxvisuals/Makefile
extensions/nsplugin/examples/Makefile
doc/Makefile
src/3rdparty/Makefile
src/3rdparty/zlib/Makefile
The most important output is the identification of those file present
in both
source trees, but where the content of the files differs. This is wher
many of
the problem lie, and where work will need to be done to identify what
patches
have been previously applied and those that still need to be applied (or
those
that can be removed). This information is contained in 'diff' files
created for
each file where this difference was encountered. The diff files are
contained
under the qtdiff directory in the tarball (in proper hierarchy and effect
the
following files:
qmake/option.cpp.diff
mkspecs/hurd-g++/qmake.conf.diff
mkspecs/linux-g++/qplatformdefs.h.diff
mkspecs/linux-g++/qmake.conf.diff
mkspecs/linux-g++-64/qmake.conf.diff
examples/demo/opengl/fbm.h.diff
examples/demo/opengl/fbm.c.diff
tools/makeqpf/makeqpf.pro.diff
tools/makeqpf/main.cpp.diff
tools/mergetr/mergetr.pro.diff
tools/msg2qm/msg2qm.pro.diff
tools/tools.pro.diff
tools/designer/designer.pro.diff
tools/designer/tools/createcw/createcw.pro.diff
tools/designer/uic/form.cpp.diff
tools/designer/integration/designer.el.diff
tools/qvfb/qvfbview.cpp.diff
tools/qvfb/pda.skin.diff
tools/qvfb/qvfb.cpp.diff
tools/qtconfig/mainwindow.cpp.diff
tools/qtconfig/mainwindow.h.diff
tools/qtconfig/mainwindowbase.ui.diff
tools/qembed/qembed.pro.diff
doc/html/qglobal-h.html.diff
src/codecs/qutfcodec.cpp.diff
src/widgets/qpopupmenu.h.diff
src/widgets/qcombobox.cpp.diff
src/widgets/qtextedit.cpp.diff
src/widgets/qtextedit.h.diff
src/widgets/qscrollview.cpp.diff
src/widgets/qtooltip.cpp.diff
src/widgets/qmenubar.cpp.diff
src/widgets/qbutton.h.diff
src/widgets/qpopupmenu.cpp.diff
src/widgets/qlineedit.h.diff
src/widgets/qlistview.cpp.diff
src/widgets/qlineedit.cpp.diff
src/kernel/qdragobject.h.diff
src/kernel/qfontengine_x11.cpp.diff
src/kernel/qrichtext.cpp.diff
src/kernel/qapplication_x11.cpp.diff
src/kernel/qclipboard_x11.cpp.diff
src/kernel/qfontdatabase_x11.cpp.diff
src/kernel/qinputcontext_x11.cpp.diff
src/kernel/qwidget.h.diff
src/kernel/qrichtext_p.h.diff
src/kernel/qt_kernel.pri.diff
src/kernel/qwidget_x11.cpp.diff
src/kernel/qobject.h.diff
src/kernel/qapplication.cpp.diff
src/kernel/qdnd_x11.cpp.diff
src/kernel/qobject.cpp.diff
src/kernel/qapplication.h.diff
src/kernel/qpixmap_x11.cpp.diff
src/kernel/qwidget.cpp.diff
src/kernel/qdesktopwidget_x11.cpp.diff
src/kernel/qt_x11_p.h.diff
src/kernel/qnamespace.h.diff
src/kernel/qdragobject.cpp.diff
src/kernel/qevent.cpp.diff
src/kernel/qfontdatabase.cpp.diff
src/tools/qstring.h.diff
src/tools/qlibrary.cpp.diff
src/tools/qlocale.cpp.diff
src/tools/qdir_unix.cpp.diff
src/tools/qglobal.h.diff
src/tools/qfeatures.h.diff
src/tools/qfileinfo_unix.cpp.diff
src/qt.pro.diff
src/sql/drivers/odbc/qsql_odbc.h.diff
src/sql/drivers/ibase/qsql_ibase.cpp.diff
src/sql/qt_sql.pri.diff
src/dialogs/qdialog.cpp.diff
src/iconview/qiconview.cpp.diff
src/opengl/qgl_x11.cpp.diff
plugins/src/sqldrivers/odbc/odbc.pro.diff
plugins/src/sqldrivers/ibase/ibase.pro.diff
plugins/src/src.pro.diff
configure.diff
The file diff-file-list.txt in the tarball contains this index. I
suspect the
diffs above are the reason I can build from the 3.3.8b code, but my build
from
svn crashes.
That's it for tonight. This will allow us to get a handle on what we
have in
the qt3 svn dir. Depending on how well documented all the current patches
are
that have been applied to the qt3 code in svn, it may be quicker to save
the
current qt3 dir on the server and to just start over with the
qt-x11-3.3.8b
code. It still builds fine with minimum patching. (you guys make that
call)
Feel free to add/remove whatever you like from the qt3srccmp.sh script.
It is
as flexible as you want to make it. Adding a bash statement or 2 will
allow you
to get 99.9% of the information you want from the two source trees.
Hope this helps :)
I have attached the patches that were applied; this should be all of them.
Let me know if I still need to start with a clean 3.3.8b....
Tim