bug 386212 - fx-win32-tbox has lost the ability to report finishing nightly builds. r=bsmedberg
--- a/Makefile.in
+++ b/Makefile.in
@@ -141,20 +141,20 @@ ifeq ($(OS_ARCH),WINNT)
MAKE_SYM_STORE_ARGS := -c
DUMP_SYMS_BIN := $(topsrcdir)/toolkit/airbag/tools/win32/dump_syms.exe
# PDB files don't get moved to dist, so we need to scan the whole objdir
MAKE_SYM_STORE_PATH := .
endif
ifeq ($(OS_ARCH),Darwin)
# need to pass arch flags for universal builds
ifdef UNIVERSAL_BINARY
-MAKE_SYM_STORE_ARGS := -a "ppc i386"
+MAKE_SYM_STORE_ARGS := -a "ppc i386" --vcs-info
MAKE_SYM_STORE_PATH := $(DIST)/universal
else
-MAKE_SYM_STORE_ARGS := -a $(OS_TEST)
+MAKE_SYM_STORE_ARGS := -a $(OS_TEST) --vcs-info
MAKE_SYM_STORE_PATH := $(DIST)/bin
endif
DUMP_SYMS_BIN := $(DIST)/host/bin/dump_syms
endif
ifeq ($(OS_ARCH),Linux)
MAKE_SYM_STORE_ARGS :=
DUMP_SYMS_BIN := $(DIST)/host/bin/dump_syms
MAKE_SYM_STORE_PATH := $(DIST)/bin
--- a/toolkit/airbag/tools/symbolstore.py
+++ b/toolkit/airbag/tools/symbolstore.py
@@ -141,29 +141,30 @@ class Dumper:
and an option to copy debug info files alongside the dumped
symbol files--|copy_debug|, mostly useful for creating a
Microsoft Symbol Server from the resulting output.
You don't want to use this directly if you intend to call
ProcessDir. Instead, call GetPlatformSpecificDumper to
get an instance of a subclass."""
def __init__(self, dump_syms, symbol_path,
- archs=None, srcdir=None, copy_debug=False):
+ archs=None, srcdir=None, copy_debug=False, vcsinfo=False):
self.dump_syms = dump_syms
self.symbol_path = symbol_path
if archs is None:
# makes the loop logic simpler
self.archs = ['']
else:
self.archs = ['-a %s' % a for a in archs.split()]
if srcdir is not None:
self.srcdir = os.path.normpath(srcdir)
else:
self.srcdir = None
self.copy_debug = copy_debug
+ self.vcsinfo = vcsinfo
# subclasses override this
def ShouldProcess(self, file):
return False
def RunFileCommand(self, file):
"""Utility function, returns the output of file(1)"""
try:
@@ -224,17 +225,18 @@ class Dumper:
f = open(full_path, "w")
f.write(module_line)
# now process the rest of the output
for line in cmd:
if line.startswith("FILE"):
# FILE index filename
(x, index, filename) = line.split(None, 2)
filename = self.FixFilenameCase(filename.rstrip())
- filename = GetVCSFilename(filename, self.srcdir)
+ if self.vcsinfo:
+ filename = GetVCSFilename(filename, self.srcdir)
f.write("FILE %s %s\n" % (index, filename))
else:
# pass through all other lines unchanged
f.write(line)
f.close()
cmd.close()
# we output relative paths so callers can get a list of what
# was generated
@@ -308,25 +310,29 @@ def main():
action="store_true", dest="copy_debug", default=False,
help="Copy debug info files into the same directory structure as symbol files")
parser.add_option("-a", "--archs",
action="store", dest="archs",
help="Run dump_syms -a <arch> for each space separated cpu architecture in ARCHS (only on OS X)")
parser.add_option("-s", "--srcdir",
action="store", dest="srcdir",
help="Use SRCDIR to determine relative paths to source files")
+ parser.add_option("-v", "--vcs-info",
+ action="store_true", dest="vcsinfo",
+ help="Try to retrieve VCS info for each FILE listed in the output")
(options, args) = parser.parse_args()
if len(args) < 3:
parser.error("not enough arguments")
exit(1)
dumper = GetPlatformSpecificDumper(dump_syms=args[0],
symbol_path=args[1],
copy_debug=options.copy_debug,
archs=options.archs,
- srcdir=options.srcdir)
+ srcdir=options.srcdir,
+ vcsinfo=options.vcsinfo)
for arg in args[2:]:
dumper.Process(arg)
# run main if run directly
if __name__ == "__main__":
main()