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.