def __upstream_package_repos(self):
        """Return the package repositories for the given distro and llvm
        version.  The development branch repositories are not
        versioned and must be handled differently.  Currently the
        development branch is version self.__trunk_version."""

        codename = 'xenial'
        codename_ver = 'xenial'

        if (hpccm.config.g_linux_version >= Version('24.0') and
            hpccm.config.g_linux_version < Version('25.0')):
            codename = 'noble'
            if self.__version == self.__trunk_version:
                codename_ver = 'noble'
            else:
                codename_ver = 'noble-{}'.format(self.__version)
        elif (hpccm.config.g_linux_version >= Version('22.0') and
            hpccm.config.g_linux_version < Version('23.0')):
            codename = 'jammy'
            if self.__version == self.__trunk_version:
                codename_ver = 'jammy'
            else:
                codename_ver = 'jammy-{}'.format(self.__version)
        elif (hpccm.config.g_linux_version >= Version('20.0') and
            hpccm.config.g_linux_version < Version('21.0')):
            codename = 'focal'
            if self.__version == self.__trunk_version:
                codename_ver = 'focal'
            else:
                codename_ver = 'focal-{}'.format(self.__version)
        elif (hpccm.config.g_linux_version >= Version('18.0') and
            hpccm.config.g_linux_version < Version('19.0')):
            codename = 'bionic'
            if self.__version == self.__trunk_version:
                codename_ver = 'bionic'
            else:
                codename_ver = 'bionic-{}'.format(self.__version)
        elif (hpccm.config.g_linux_version >= Version('16.0') and
              hpccm.config.g_linux_version < Version('17.0')):
            codename = 'xenial'
            if self.__version == self.__trunk_version:
                codename_ver = 'xenial'
            else:
                codename_ver = 'xenial-{}'.format(self.__version)
        else: # pragma: no cover
            raise RuntimeError('Unsupported Ubuntu version')

        return [
            'deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver),
            'deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver)]
Return the package repositories for the given distro and llvm
        version.  The development branch repositories are not
        versioned and must be handled differently.  Currently the
        development branch is version self.__trunk_version.
hpccm/building_blocks/llvm.py