trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2011

Qt3 code analysis, qt-x11-3.3.8b source compared to trinitydesktop (svn)

From: "David C. Rankin" <drankinatty@...>
Date: Sat, 14 May 2011 01:34:05 -0500
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.8d-comp.tar.gz

   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 :)

-- 
David C. Rankin, J.D.,P.E.