#!/usr/bin/python3 # A script to search our test logs and sort the messages by how common they are so we can start to # reduce the noise a little. import sys import re import io import subprocess # find . -name '*.log' | xargs grep -h 'warn:' | sort | uniq -c | sort -n --field-separator=: --key=5,6 process = subprocess.Popen("find workdir -name '*.log' | xargs grep -h 'warn:' | sort", shell=True, stdout=subprocess.PIPE, universal_newlines=True) messages = dict() # dict of sourceAndLine->count sampleOfMessage = dict() # dict of sourceAndLine->string for line in process.stdout: line = line.strip() # a sample line is: # warn:sw:18790:1:sw/source/core/doc/DocumentRedlineManager.cxx:98: redline table corrupted: overlapping redlines tokens = line.split(":") sourceAndLine = tokens[4] + ":" + tokens[5] if (sourceAndLine in messages): messages[sourceAndLine] = messages[sourceAndLine] + 1 else: messages[sourceAndLine] = 1 sampleOfMessage[sourceAndLine] = line[line.find(tokens[6]):] tmplist = list() # set of tuple (count, sourceAndLine) for key, value in messages.items(): tmplist.append([value,key]) print( "The top 20 warnings" ) print("") for i in sorted(tmplist, key=lambda v: v[0])[-20:]: print( "%6d %s %s" % (i[0], i[1], sampleOfMessage[i[1]]) ) should now find @rpath/lib/libfbclient.dylib, as it does not have an RPATH set. So add an appropriate one in external/firebird/firebird-macosx.patch.1's patch of builds/posix/Makefile.in.examples (which needs to know whether we do a Debug or a Release build; an attempt of using firebird's $(IsDeveloper) for that caused other failures, see bca0dc97bf3d1348c928bdaf4964524374835823 "Revert 'external/firebird: Pass --enable-developer into configure'", so use LO's $(ENABLE_DEBUG) and rely on that being exported from LO's make into firebird's make). Also, the fbclient and Engine12 dylibs now have RPATHs set which we do not need in LO (where we still stick to our general use of @loader_path), so drop them in external/firebird/ExternalProject_firebird.mk (even though leaving them in should be harmless). Change-Id: Id34bb88900d15f89adda03e34af2ac3d4f6aa085 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105440 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This tries to get rid of a lot of cruft from older builds and it
also aims to build as much as possible on Windows.

The firebird-cygwin-msvc-warnings.patch should be optional. It
gets rid of various compiler warnings on Windows, either by
disableing or fixing them:
- fix: D9002 - ignoring unknown option '-fno-rtti'
- fix: D9024 - unrecognized source file type <filename>, object
  file assumed
- ign: C4291 - <declaration>: no matching operator delete found;
  memory will not be freed if initialization throws an exception
- ign: C4477 - <function>: format string <string> requires an
  argument of type <type>, but variadic argument number has
  type <type>

And I explicitly got rid of the "win32" handling and simply use
arch depending patches on Windows, which strips additional stuff.

sberg adds:  I have no idea how in an upstream macOS build the empbuild
executible in gen/examples should now find @rpath/lib/libfbclient.dylib, as it
does not have an RPATH set.  So add an appropriate one in
external/firebird/firebird-macosx.patch.1's patch of
builds/posix/Makefile.in.examples (which needs to know whether we do a Debug or
a Release build; an attempt of using firebird's $(IsDeveloper) for that caused
other failures, see bca0dc97bf3d1348c928bdaf4964524374835823 "Revert
'external/firebird: Pass --enable-developer into configure'", so use LO's
$(ENABLE_DEBUG) and rely on that being exported from LO's make into firebird's
make).  Also, the fbclient and Engine12 dylibs now have RPATHs set which we do
not need in LO (where we still stick to our general use of @loader_path), so
drop them in external/firebird/ExternalProject_firebird.mk (even though leaving
them in should be harmless).

Change-Id: Id34bb88900d15f89adda03e34af2ac3d4f6aa085
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105440
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
GSoC Upgrade firebird to 3.0 2016-08-17T13:05:40+00:00 Wastack btomi96@gmail.com 2016-07-28T15:16:19+00:00 45f42681f4d1260c42140a313560534e605f81a4 Embedded firebird is now version 3.0. Supports MSVC 14.0. Instead of fbembed, there are now two libraries: fbclient and Engine12. fbclient is linked as fbembed before, Engine12 is loaded at runtime from fbclient. fb now needs system libtommath, which is supplied as a new ExternalProject of LO. Change-Id: I132939bdee745795b22f675e4265e9590079c45f Reviewed-on: https://gerrit.libreoffice.org/27642 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
Embedded firebird is now version 3.0.

Supports MSVC 14.0.

Instead of fbembed, there are now two libraries: fbclient and
Engine12. fbclient is linked as fbembed before, Engine12 is loaded
at runtime from fbclient.

fb now needs system libtommath, which is supplied
as a new ExternalProject of LO.

Change-Id: I132939bdee745795b22f675e4265e9590079c45f
Reviewed-on: https://gerrit.libreoffice.org/27642
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>