def METHOD_NAME(self, archivedata) -> Optional[str]:
    rpm = rpmfile.RPMFile(fileobj = archivedata)
    member = None
    extracted = None
    for member in rpm.getmembers():
        if 'vmlinux' in member.name or 'System.map' in member.name:
            print(f" - Extracting {member.name}")
            extracted = rpm.extractfile(member)
            break
    if not member or not extracted:
        return None
    with tempfile.NamedTemporaryFile(delete = False,
                                     prefix = 'vmlinux' if 'vmlinux' in member.name else 'System.map') as output:
        print(f" - Writing to {output.name}")
        output.write(extracted.read())
    return output.name