Hi,
I built tqt3->tdebase on a Debian Unstable box (GCC-4.7.1, cmake-2.8.9~rc1) and the only show stopper was bug #1116 (kconfig_compiler should be renamed)--and that only cropped up because I have KDE-4 dev packages installed. I then started looking at the build logs for tqt3 and came across a few simple to fix packaging issues...
$ diff -ru tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian tde/build/main/dependencies/tqt3/debian Only in tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian/patches: 09_amd64_lib64.diff diff -ru tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian/patches/series tde/build/main/dependencies/tqt3/debian/patches/series --- tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian/patches/series 2012-07-13 00:27:09.000000000 -0600 +++ tde/build/main/dependencies/tqt3/debian/patches/series 2012-07-20 15:25:19.000000000 -0600 @@ -1,4 +1,3 @@ 06_disable_rpath.diff -09_amd64_lib64.diff 72_dont_trust_uname-m_use_dpkg-arch_instead.diff kubuntu_06_fglrx_0_size_screen.diff
... 09_amd64_lib64.diff patches to use obsolete /usr/X11R6 dirs ...
diff -ru tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian/rules tde/build/main/dependencies/tqt3/debian/rules --- tde/tde-packaging/debian/squeeze/dependencies/tqt3/debian/rules 2012-07-13 00:27:09.000000000 -0600 +++ tde/build/main/dependencies/tqt3/debian/rules 2012-07-23 19:08:09.000000000 -0600 @@ -25,7 +25,11 @@ ifeq ($(DEB_HOST_ARCH),sparc) PLATFORM_ARG = linux-g++-sparc else #sparc +ifeq ($(DEB_HOST_ARCH),amd64) + PLATFORM_ARG = linux-g++-64 +else #amd64 PLATFORM_ARG = linux-g++ +endif #amd64 endif #sparc endif #hurd
... the platform wasn't being set properly, mkspecs/linux-g++ was being used instead of the expected mkspecs/linux-g++-64. This patches over the problem but (AFAICT) shouldn't be necessary (i.e., something deeper needs fixing)...
@@ -230,8 +234,6 @@ # copy all docs there first install -d $(P_DOC)/usr/share/tqt3/doc/html/ for a in `cd $(TMP_INSTALL)/usr/share/tqt3/doc/html/ && find`; do cp $(TMP_INSTALL)/usr/share/tqt3/doc/html/"$$a" $(P_DOC)/usr/share/tqt3/doc/html/; done - #typo bugfix - sed -i -e 's/reveives/receives/' $(P_DOC)/usr/share/tqt3/doc/html/ntqwidget.html
## build designer package documentation # tqt3-designer
... fixing a typo via sed in the packaging is ugly, best to fix the typo in the source itself and be done with it for everyone, eh.
Generally, it looks like the Debian packaging of everything required to get tdebase up and running needs more updating than is reasonable to do via tweaking what exists if the packages are to conform to current Debian Policy and best practice--it may be best to backport the packaging currently being used by Debian into Trinity where possible.
While looking through the build.log for tqt3 I kept getting distracted by the piles of "suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]" warnings--so I went through the source and added in all the missing parentheses g++ was complaining about (plus fixed a few more warnings where the fix was just as obvious). The build log is much easier to read now, and potentially problematic warnings (such as [-Wdelete-non-virtual-dtor][1]) are no longer buried among the noise.
What is the best way for me to get the tqt3 source changes to you?
- Bruce
[1] -Wdelete-non-virtual-dtor comes in two flavours, one which may result in a memory leak and another which will result in undefined behaviour.
<snip>
While looking through the build.log for tqt3 I kept getting distracted by the piles of "suggest parentheses around â&&â within â||â [-Wparentheses]" warnings--so I went through the source and added in all the missing parentheses g++ was complaining about (plus fixed a few more warnings where the fix was just as obvious). The build log is much easier to read now, and potentially problematic warnings (such as [-Wdelete-non-virtual-dtor][1]) are no longer buried among the noise.
Great! I wanted to do something similar but never found the time.
What is the best way for me to get the tqt3 source changes to you?
Just send a patch to this list; I'll watch for it and update qt3/tqt3.
Tim
On July 26, 2012 18:30:20 Timothy Pearson wrote:
<snip>
While looking through the build.log for tqt3 I kept getting distracted by the piles of "suggest parentheses around â&&â within â||â [-Wparentheses]" warnings--so I went through the source and added in all the missing parentheses g++ was complaining about (plus fixed a few more warnings where the fix was just as obvious). The build log is much easier to read now, and potentially problematic warnings (such as [-Wdelete-non-virtual-dtor][1]) are no longer buried among the noise.
Great! I wanted to do something similar but never found the time.
What is the best way for me to get the tqt3 source changes to you?
Just send a patch to this list; I'll watch for it and update qt3/tqt3.
So, just a simple:
$ diff -ru {tde,build}/main/dependencies/tqt3 > tqt3.diff
is all you want?
On July 26, 2012 18:30:20 Timothy Pearson wrote:
<snip>
While looking through the build.log for tqt3 I kept getting distracted
by
the piles of "suggest parentheses around â&&â within â||â [-Wparentheses]" warnings--so I went through the source and added in all the missing parentheses g++ was complaining about (plus fixed a few more warnings where the fix was just as obvious). The build log is much easier to read
now,
and potentially problematic warnings (such as
[-Wdelete-non-virtual-dtor][1])
are no longer buried among the noise.
Great! I wanted to do something similar but never found the time.
What is the best way for me to get the tqt3 source changes to you?
Just send a patch to this list; I'll watch for it and update qt3/tqt3.
So, just a simple:
$ diff -ru {tde,build}/main/dependencies/tqt3 > tqt3.diff
is all you want?
No, Debian applies patches that are not suitable for the generic source tree when it builds a package. You would first need to reverse out all of the Debian specific patches, then run the diff command.
Tim
On July 26, 2012 23:43:01 Timothy Pearson wrote:
Bruce wrote:
So, just a simple:
$ diff -ru {tde,build}/main/dependencies/tqt3 > tqt3.diff
is all you want?
No, Debian applies patches that are not suitable for the generic source tree when it builds a package. You would first need to reverse out all of the Debian specific patches, then run the diff command.
"debian/rules clean" unpatches, so nothing special to do for that
The reports of files only existing in "build" should ideally be added to Debian's "clean" target, ya?
The diff is attached...
later, - Bruce
On July 26, 2012 23:43:01 Timothy Pearson wrote:
Bruce wrote:
So, just a simple:
$ diff -ru {tde,build}/main/dependencies/tqt3 > tqt3.diff
is all you want?
No, Debian applies patches that are not suitable for the generic source tree when it builds a package. You would first need to reverse out all of the Debian specific patches, then run the diff command.
"debian/rules clean" unpatches, so nothing special to do for that
Not 100% unfortunately--there was a .pri file that was modified in a non-generic manner during the build process, which I was able to remove from the diff file.
The reports of files only existing in "build" should ideally be added to Debian's "clean" target, ya?
Probably!
The diff is attached...
Committed to GIT in hash ebcb1d8. Thanks again for your hard work on this!
Tim