def parseChecksumsFile(contents):
    """Parses checksums files that the build system generates and uploads:
        https://hg.mozilla.org/mozilla-central/file/default/build/checksums.py"""
    fileInfo = {}
    for line in contents.splitlines():
        hash_, type_, size, file_ = line.split(None, 3)
        size = int(size)
        if size < 0:
            raise ValueError("Found negative value (%d) for size." % size)
        if file_ not in fileInfo:
            fileInfo[file_] = {}
            fileInfo[file_]['hashes'] = {}
        # If the file already exists, make sure that the size matches the
        # previous entry.
        elif fileInfo[file_]['size'] != size:
            raise ValueError("Found different sizes for same file %s (%s and %s)" % (file_, fileInfo[file_]['size'], size))
        # Same goes for the hash.
        elif type_ in fileInfo[file_]['hashes'] and fileInfo[file_]['hashes'][type_] != hash_:
            raise ValueError("Found different %s hashes for same file %s (%s and %s)" % (type_, file_, fileInfo[file_]['hashes'][type_], hash_))
        fileInfo[file_]['size'] = size
        fileInfo[file_]['hashes'][type_] = hash_
    return fileInfo
