From d52160954caa2af70f44181bcf113df1a5c3c61b Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Sun, 5 Jun 2016 15:37:48 +0200 Subject: [PATCH] Improve non-verbose detection for parallel builds Thanks to Julien Lamy for the initial patch. Closes Debian Bug #801492. --- NEWS | 2 ++ bin/blhc | 38 +++++++++++++++++-------- t/logs/verbose-build | 66 ++++++++++++++++++++++++++++++++++++++++++++ t/tests.t | 1 + 4 files changed, 96 insertions(+), 11 deletions(-) diff --git a/NEWS b/NEWS index ffe3da0..c418b67 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ Version 0.XX reported by Niko Tyni, patch by Gregor Herrmann. - Fix false positives for comment lines (Debian Bug #825671), reported by Fabian Wolff. +- Improve non-verbose detection for parallel builds (Debian Bug #801492), + reported by Mattia Rizzolo, initial patch by Julien Lamy. Version 0.05 diff --git a/bin/blhc b/bin/blhc index 4d2fb09..fa0f8a3 100755 --- a/bin/blhc +++ b/bin/blhc @@ -445,7 +445,7 @@ sub pic_pie_conflict { } sub is_non_verbose_build { - my ($line, $next_line, $skip_ref) = @_; + my ($line, $skip_ref, $input_ref, $line_offset, $line_count) = @_; if ($line =~ /$libtool_regex/o) { # libtool's --silent hides the real compiler flags. @@ -485,25 +485,30 @@ sub is_non_verbose_build { my $file = $1; # On the first pass we only check if this line is verbose or not. - return 1 if not defined $next_line; + return 1 if not defined $input_ref; - # Second pass, we have access to the next line. + # Second pass, we have access to the next lines. ${$skip_ref} = 0; # CMake and other build systems print the non-verbose messages also when # building verbose. If a compiler and the file name occurs in the next - # line, treat it as verbose build. + # lines, treat it as verbose build. if (defined $file) { # Get filename, we can't use the complete path as only parts of it are # used in the real compiler command. $file =~ m{/([^/\s]+)$}; $file = $1; - if (index($next_line, $file) != -1 and $next_line =~ /$cc_regex/o) { - # Not a non-verbose line, but we still have to skip the current line - # as it doesn't contain any compiler commands. - ${$skip_ref} = 1; - return 0; + for (my $i = 1; $i <= $line_count; $i++) { + my $next_line = $input_ref->[$line_offset + $i]; + last unless defined $next_line; + + if (index($next_line, $file) != -1 and $next_line =~ /$cc_regex/o) { + # Not a non-verbose line, but we still have to skip the + # current line as it doesn't contain any compiler commands. + ${$skip_ref} = 1; + return 0; + } } } @@ -718,6 +723,11 @@ foreach my $file (@ARGV) { # for performance reasons. my $ada = 0; + # Number of parallel jobs to prevent false positives when detecting + # non-verbose builds. As not all jobs declare the number of parallel jobs + # use a large enough default. + my $parallel = 10; + while (my $line = <$fh>) { # Detect architecture automatically unless overridden. For buildd logs # only, doesn't use the dpkg-buildpackage header. Necessary to ignore @@ -811,6 +821,11 @@ foreach my $file (@ARGV) { } } + # This flags is not always available, but if it is use it. + if ($line =~ /^DEB_BUILD_OPTIONS=.*\bparallel=(\d+)/) { + $parallel = $1; + } + # We skip over unimportant lines at the beginning of the log to # prevent false positives. last if index($line, 'dpkg-buildpackage: ') == 0; @@ -868,7 +883,7 @@ foreach my $file (@ARGV) { # Check if this line indicates a non verbose build. my $skip = 0; - $non_verbose |= is_non_verbose_build($line, undef, \$skip); + $non_verbose |= is_non_verbose_build($line, \$skip); next if $skip; # One line may contain multiple commands (";"). Treat each one as @@ -1103,7 +1118,8 @@ LINE: my $skip = 0; if ($input_nonverbose[$i] - and is_non_verbose_build($line, $input[$i + 1], \$skip)) { + and is_non_verbose_build($line, \$skip, + \@input, $i, $parallel)) { if (not $option_buildd) { error_non_verbose_build($line); $exit |= $exit_code{non_verbose_build}; diff --git a/t/logs/verbose-build b/t/logs/verbose-build index 73649f2..6d20922 100644 --- a/t/logs/verbose-build +++ b/t/logs/verbose-build @@ -65,6 +65,19 @@ Compiling test/test.cc to ../build/test/test.o Building shared library ../build/test/libtest.so.1.2.3 Compiling test.cc to ../build/test/test.o Building program ../build/bin/test + +# padding to handle the parallel non-verbose detection +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c + # Verbose ... Compiling test/test.cc to ../build/test/test.o g++ -c -g -O2 -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -o ../build/test/test.o test/test.cc @@ -79,6 +92,19 @@ g++ ../build/obj/test/test.o -o /../build/bin/test # Non verbose. Compiling test_file.cxx... + +# padding to handle the parallel non-verbose detection +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c +cc -E -D_FORTIFY_SOURCE=2 padding.c + # Verbose ... Compiling test_file.cxx... g++ -g -O2 -fPIC -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -c test_file.cxx @@ -105,3 +131,43 @@ Compiling the test favour in /build/buildd-test_42.47-11-amd64/test-42.47/debian Compiling /«BUILDDIR»/emacs23-23.4+1/debian/build-x/src/../lisp/international/characters.el Compiling '/«PKGBUILDDIR»/debian/tmp/usr/lib/python3.3/_markupbase.py'... Compiling /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages/libsvn/__init__.py ... + + +# More examples for real build logs. +Scanning dependencies of target dcmtk_getscu +make[3]: Leaving directory '/«PKGBUILDDIR»/build' +make -f tests/tools/CMakeFiles/dcmtk_getscu.dir/build.make tests/tools/CMakeFiles/dcmtk_getscu.dir/build +make[3]: Entering directory '/«PKGBUILDDIR»/build' +[ 0%] Building CXX object tests/tools/CMakeFiles/dcmtk_getscu.dir/getscu.cc.o +[ 0%] Building CXX object tests/tools/CMakeFiles/dcmtk_getscu.dir/scu.cc.o +cd /«PKGBUILDDIR»/build/tests/tools && /usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -o CMakeFiles/dcmtk_getscu.dir/getscu.cc.o -c /«PKGBUILDDIR»/tests/tools/getscu.cc +cd /«PKGBUILDDIR»/build/tests/tools && /usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -o CMakeFiles/dcmtk_getscu.dir/scu.cc.o -c /«PKGBUILDDIR»/tests/tools/scu.cc + +make[3]: Entering directory '/«PKGBUILDDIR»/build' +[ 30%] Building CXX object examples/CMakeFiles/move.dir/move.cpp.o +[ 30%] Building CXX object examples/CMakeFiles/store.dir/store.cpp.o +cd /«PKGBUILDDIR»/build/examples && /usr/bin/c++ -I/«PKGBUILDDIR»/src -I/usr/include/jsoncpp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -D BOOST_ASIO_DYN_LINK -D ODIL_MAJOR_VERSION=0 -o CMakeFiles/store.dir/store.cpp.o -c /«PKGBUILDDIR»/examples/store.cpp +cd /«PKGBUILDDIR»/build/examples && /usr/bin/c++ -I/«PKGBUILDDIR»/src -I/usr/include/jsoncpp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -D BOOST_ASIO_DYN_LINK -D ODIL_MAJOR_VERSION=0 -o CMakeFiles/move.dir/move.cpp.o -c /«PKGBUILDDIR»/examples/move.cpp +[ 30%] Building CXX object examples/CMakeFiles/get.dir/get.cpp.o +cd /«PKGBUILDDIR»/build/examples && /usr/bin/c++ -I/«PKGBUILDDIR»/src -I/usr/include/jsoncpp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -D BOOST_ASIO_DYN_LINK -D ODIL_MAJOR_VERSION=0 -o CMakeFiles/get.dir/get.cpp.o -c /«PKGBUILDDIR»/examples/get.cpp +[ 30%] Building CXX object examples/CMakeFiles/find.dir/find.cpp.o +cd /«PKGBUILDDIR»/build/examples && /usr/bin/c++ -I/«PKGBUILDDIR»/src -I/usr/include/jsoncpp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -D HAVE_CONFIG_H -D BOOST_ASIO_DYN_LINK -D ODIL_MAJOR_VERSION=0 -o CMakeFiles/find.dir/find.cpp.o -c /«PKGBUILDDIR»/examples/find.cpp +[ 31%] Linking CXX executable store +cd /«PKGBUILDDIR»/build/examples && /usr/bin/cmake -E cmake_link_script CMakeFiles/store.dir/link.txt --verbose=1 +/usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++0x -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro CMakeFiles/store.dir/store.cpp.o -o store -rdynamic ../src/libodil.so.0.5.0 -lboost_filesystem -lboost_system -ldcmnet -ldcmdata -loflog -lofstd -lpthread -lwrap -lz -licuuc -ljsoncpp -Wl,-rpath,/«PKGBUILDDIR»/build/src + +[ 2%] Building CXX object scribus/text/CMakeFiles/scribus_text_lib.dir/sctext_shared.cpp.o +[ 3%] Building CXX object scribus/desaxe/CMakeFiles/scribus_desaxe_lib.dir/uniqueid.cpp.o +[ 3%] Building CXX object scribus/styles/CMakeFiles/scribus_styles_lib.dir/stylecontext.cpp.o +[ 3%] Building CXX object scribus/colormgmt/CMakeFiles/scribus_colormgmt_lib.dir/sccolorprofilecache.cpp.o +[ 3%] Building CXX object scribus/styles/CMakeFiles/scribus_styles_lib.dir/stylecontextproxy.cpp.o +[ 3%] Building CXX object scribus/text/CMakeFiles/scribus_text_lib.dir/fsize.cpp.o +[ 3%] Building CXX object scribus/desaxe/CMakeFiles/scribus_desaxe_lib.dir/digester.cpp.o +[ 3%] Building CXX object scribus/text/CMakeFiles/scribus_text_lib.dir/frect.cpp.o +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/text && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/text -I/build/scribus-1.4.5+dfsg1/scribus/text -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_text_lib.dir/sctext_shared.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/text/sctext_shared.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/desaxe && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/desaxe -I/build/scribus-1.4.5+dfsg1/scribus/desaxe -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_desaxe_lib.dir/uniqueid.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/desaxe/uniqueid.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/styles && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/styles -I/build/scribus-1.4.5+dfsg1/scribus/styles -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_styles_lib.dir/stylecontext.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/styles/stylecontext.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/colormgmt && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/colormgmt -I/build/scribus-1.4.5+dfsg1/scribus/colormgmt -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_colormgmt_lib.dir/sccolorprofilecache.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/colormgmt/sccolorprofilecache.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/styles && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/styles -I/build/scribus-1.4.5+dfsg1/scribus/styles -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_styles_lib.dir/stylecontextproxy.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/styles/stylecontextproxy.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/text && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/text -I/build/scribus-1.4.5+dfsg1/scribus/text -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_text_lib.dir/fsize.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/text/fsize.cpp +cd /build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/desaxe && /usr/lib/ccache/c++ -DHAVE_CONFIG_H -DHAVE_DLFCN_H -DHAVE_UNISTD_H -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_THREAD_LIB -DQT_XML_LIB -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -Wall -fPIC -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus/desaxe -I/build/scribus-1.4.5+dfsg1/scribus/desaxe -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1/obj-x86_64-linux-gnu/scribus -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/libxml2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -I/build/scribus-1.4.5+dfsg1 -I/build/scribus-1.4.5+dfsg1/scribus -I/usr/include/freetype2 -DSHAREDIR=\"/usr/share/scribus/\" -DDOCDIR=\"/usr/share/doc/scribus/\" -DICONDIR=\"/usr/share/scribus/icons/\" -DSAMPLESDIR=\"/usr/share/scribus/samples/\" -DSCRIPTSDIR=\"/usr/share/scribus/scripts/\" -DTEMPLATEDIR=\"/usr/share/scribus/templates/\" -DDESKTOPDIR=\"/usr/share/applications/\" -DLIBDIR=\"/usr/lib/scribus/\" -DPLUGINDIR=\"/usr/lib/scribus/plugins/\" -DCOMPILE_SCRIBUS_MAIN_APP -o CMakeFiles/scribus_desaxe_lib.dir/digester.cpp.o -c /build/scribus-1.4.5+dfsg1/scribus/desaxe/digester.cpp diff --git a/t/tests.t b/t/tests.t index 5f9661e..d5710c6 100644 --- a/t/tests.t +++ b/t/tests.t @@ -632,6 +632,7 @@ NONVERBOSE BUILD: [ 82%] Building C object src/CMakeFiles/test/test.c.o CXXFLAGS missing (-Wformat): cd /tmp/test/src && /usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat-security -Werror=format-security -o CMakeFiles/test-verbose.dir/verbose.cpp.o -c -D_FORTIFY_SOURCE=2 /tmp/test/src/test-verbose/verbose.cpp CFLAGS missing (-Werror=format-security): cd /tmp/test/src && /usr/bin/gcc -g -O2 -fstack-protector-strong -Wformat -Wformat-security -o CMakeFiles/test-verbose-c.dir/verbose-c.c.o -c -D_FORTIFY_SOURCE=2 /tmp/test/src/test-verbose-c/verbose-c.c NONVERBOSE BUILD: Compiling test.c \ gcc test.c +NONVERBOSE BUILD: [ 3%] Building CXX object scribus/text/CMakeFiles/scribus_text_lib.dir/frect.cpp.o '; -- 2.43.2