Bug#586166: libqt4-dev: moc autoinclude fix ignore dot in directories
Package: libqt4-dev
Version: 4:4.6.2-4
Severity: normal
Tags: patch
*** Please type your report below this line ***
A period in the path of a file given to the moc generator should not
be used to determine if it is a header file or a source file,
currently it can. This causes problem with build generators like cmake
that use absolute paths and projects that use extension-less header
files, because if there is a period anyplace in the path it will fail.
This is a problem because directories outside of the source repository
can influence the build, even though it might be working on another
system or mysteriously fail after the source was moved.
See the bug report for more details.
http://bugreports.qt.nokia.com/browse/QTBUG-11369
It has been merged upstream, and here is the commit entry in the 4.6
qt git tree.
http://qt.gitorious.org/qt/qt/commit/78e74249014b152b93dae07bf194b16769016ad0
and a copy of the patch.
--- src/tools/moc/main.cpp.orig 2010-05-13 19:29:29.645663823 -0500
+++ src/tools/moc/main.cpp 2010-05-13 19:30:37.950162304 -0500
@@ -359,11 +359,9 @@ int runMoc(int _argc, char **_argv)
if (autoInclude) {
+ int spos = filename.lastIndexOf(QDir::separator().toLatin1());
int ppos = filename.lastIndexOf('.');
- moc.noInclude = (ppos >= 0
- && tolower(filename[ppos + 1]) != 'h'
- && tolower(filename[ppos + 1]) != QDir::separator().toLatin1()
- );
+ moc.noInclude = ppos > spos && ppos >= 0 && tolower(filename[ppos + 1]) != 'h';
}
if (moc.includeFiles.isEmpty()) {
if (moc.includePath.isEmpty()) {
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.35-rc1+ (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages libqt4-dev depends on:
ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib
ii libgcc1 1:4.4.4-1 GCC support library
ii libqt4-assistant 4:4.6.2-4 Qt 4 assistant module
ii libqt4-dbus 4:4.6.2-4 Qt 4 D-Bus module
ii libqt4-designer 4:4.6.2-4 Qt 4 designer module
ii libqt4-help 4:4.6.2-4 Qt 4 help module
ii libqt4-multimedia 4:4.6.2-4 Qt 4 Multimedia module
ii libqt4-network 4:4.6.2-4 Qt 4 network module
ii libqt4-qt3support 4:4.6.2-4 Qt 3 compatibility library for Qt
ii libqt4-script 4:4.6.2-4 Qt 4 script module
ii libqt4-scripttools 4:4.6.2-4 Qt 4 script tools module
ii libqt4-sql 4:4.6.2-4 Qt 4 SQL module
ii libqt4-svg 4:4.6.2-4 Qt 4 SVG module
ii libqt4-test 4:4.6.2-4 Qt 4 test module
ii libqt4-webkit 4:4.6.2-4 Qt 4 WebKit module
ii libqt4-xml 4:4.6.2-4 Qt 4 XML module
ii libqt4-xmlpatterns 4:4.6.2-4 Qt 4 XML patterns module
ii libqtcore4 4:4.6.2-4 Qt 4 core module
ii libqtgui4 4:4.6.2-4 Qt 4 GUI module
ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3
ii qt4-qmake 4:4.6.2-4 Qt 4 qmake Makefile generator tool
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages libqt4-dev recommends:
ii libqt4-opengl-dev 4:4.6.2-4 Qt 4 OpenGL library development fi
Versions of packages libqt4-dev suggests:
pn firebird2.1-dev <none> (no description available)
ii libmysqlclient15-dev [ 5.0.51a-24+lenny1 MySQL database development files
ii libpq-dev 8.4.4-1 header files for libpq5 (PostgreSQ
pn libsqlite0-dev <none> (no description available)
ii libsqlite3-dev 3.6.23.1-2 SQLite 3 development files
ii qt4-dev-tools 4:4.6.2-4 Qt 4 development tools
ii qt4-doc 4:4.6.2-4 Qt 4 API documentation
pn unixodbc-dev <none> (no description available)
-- no debconf information
Reply to: