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: /dev/ammo42 <mickeytintincolle@...>
Date: Tue, 17 May 2011 01:06:06 +0200
Le Sat, 14 May 2011 21:00:13 +0200,
/dev/ammo42 <mickeytintincolle@...> a écrit :

> 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.
I have reviewed a bit more the patches tarball, and the 05 and 09
patches are also Debian-specific (the 05 one specifies paths, and the 09
one makes /usr/X11R6/lib the default X11 path instead
of /usr/X11R6/lib64, which will almost surely break the build on
Slackware64).
According the following link:
http://www.trevorpounds.com/blog/?p=111
lib64 is the usual directory for 64-bit libraries on amd64 and will also
work on Debian/Ubuntu.
> > 
> > Tim
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> trinity-devel-unsubscribe@... For additional
> commands, e-mail: trinity-devel-help@... Read
> list messsages on the Web archive:
> http://trinity-devel.pearsoncomputing.net/ Please remember not to
> top-post:
> http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
>