trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2011

Re: [trinity-devel] Qt3 code analysis, qt-x11-3.3.8b source compared to trinitydesktop (svn)

From: "Timothy Pearson" <kb9vqf@...>
Date: Sat, 14 May 2011 14:27:53 -0500
> Le Sat, 14 May 2011 13:29:49 -0500,
> "Timothy Pearson" <kb9vqf@...> a écrit :
>
>> > 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 :)
>> >
>>
>> 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....
> I used the qt-copy patches with Qt3 on Slackware without noticing
> problems. However, in the other set of patches (of which I guess they
> come from Debian/Ubuntu), they are at least 2 patches that shouldn't be
> included:
> -the 06_disable_rpath.diff is policy, and I had to remove it from
> MutantTurkey's set of patches to build Qt3 on Slackware.
> -the 72_dont_trust_uname-m[…].diff patch has nothing to do in a Qt3
> fork which is intended to be used with any Linux distribution.
> Slackware doesn't have dpkg-architecture, neither does Arch.

Fixed in SVN revision 193.

Tim