def download_rdmanifest(url, md5sum, alt_url=None):
    # fetch the manifest
    download_url = url
    error_prefix = "Failed to load a rdmanifest from %s: "%(url)
    contents, error = fetch_file(download_url, md5sum)
    # - try the backup url
    if not contents and alt_url: 
        error_prefix = "Failed to load a rdmanifest from either %s or %s: "%(url, alt_url)
        download_url = alt_url
        contents, error = fetch_file(download_url, md5sum)
    if not contents:
        raise DownloadFailed(error_prefix + error)
    manifest = load_rdmanifest(contents)
    return manifest, download_url

#TODO: create SourceInstall instance objects
:param url: URL to download rdmanifest from
dataset/ETHPy150Open ros-infrastructure/rosdep/src/rosdep2/platforms/source.py/download_rdmanifest