Ejemplo n.º 1
0
 def __str__(self):
     """String representation of the building block"""
     if hpccm.config.g_linux_distro == linux_distro.UBUNTU:
         if self.__apt:
             return str(
                 apt_get(keys=self.__apt_keys,
                         ospackages=self.__apt,
                         ppas=self.__apt_ppas,
                         repositories=self.__apt_repositories))
         else:
             return str(
                 apt_get(keys=self.__apt_keys,
                         ospackages=self.__ospackages,
                         ppas=self.__apt_ppas,
                         repositories=self.__apt_repositories))
     elif hpccm.config.g_linux_distro == linux_distro.CENTOS:
         if self.__yum:
             return str(
                 yum(epel=self.__epel,
                     keys=self.__yum_keys,
                     ospackages=self.__yum,
                     scl=self.__scl,
                     repositories=self.__yum_repositories))
         else:
             return str(
                 yum(epel=self.__epel,
                     keys=self.__yum_keys,
                     ospackages=self.__ospackages,
                     scl=self.__scl,
                     repositories=self.__yum_repositories))
     else:
         raise RuntimeError('Unknown Linux distribution')
Ejemplo n.º 2
0
 def test_powertools_centos7(self):
     """Powertools repo"""
     y = yum(ospackages=['hwloc-devel'], powertools=True)
     self.assertEqual(
         str(y), r'''RUN yum install -y \
     hwloc-devel && \
 rm -rf /var/cache/yum/*''')
Ejemplo n.º 3
0
    def __instructions(self):
        """String representation of the building block"""
        if hpccm.config.g_linux_distro == linux_distro.UBUNTU:
            if self.__apt:
                ospackages = self.__apt
            else:
                ospackages = self.__ospackages

            self += apt_get(aptitude=self.__aptitude,
                            download=self.__download,
                            download_directory=self.__download_directory,
                            extract=self.__extract,
                            keys=self.__apt_keys,
                            ospackages=ospackages,
                            ppas=self.__apt_ppas,
                            repositories=self.__apt_repositories)
        elif hpccm.config.g_linux_distro == linux_distro.CENTOS:
            if self.__yum:
                ospackages = self.__yum
            else:
                ospackages = self.__ospackages

            self += yum(download=self.__download,
                        download_directory=self.__download_directory,
                        extract=self.__extract,
                        epel=self.__epel,
                        keys=self.__yum_keys,
                        ospackages=ospackages,
                        powertools=self.__powertools,
                        release_stream=self.__release_stream,
                        scl=self.__scl,
                        repositories=self.__yum_repositories,
                        yum4=self.__yum4)
        else:
            raise RuntimeError('Unknown Linux distribution')
Ejemplo n.º 4
0
 def test_basic(self):
     """Basic yum"""
     y = yum(ospackages=['gcc', 'gcc-c++', 'gcc-fortran'])
     self.assertEqual(
         str(y), r'''RUN yum install -y \
     gcc \
     gcc-c++ \
     gcc-fortran && \
 rm -rf /var/cache/yum/*''')
Ejemplo n.º 5
0
 def test_powertools_centos8(self):
     """Powertools repo"""
     y = yum(ospackages=['hwloc-devel'], powertools=True)
     self.assertEqual(
         str(y), r'''RUN yum install -y dnf-utils && \
 yum-config-manager --set-enabled powertools && \
 yum install -y \
     hwloc-devel && \
 rm -rf /var/cache/yum/*''')
Ejemplo n.º 6
0
    def test_download(self):
        """Download parameter"""
        y = yum(download=True, download_directory='/tmp/download',
                ospackages=['rdma-core'])
        self.assertEqual(str(y),
r'''RUN yum install -y yum-utils && \
    mkdir -p /tmp/download && \
    yumdownloader --destdir=/tmp/download -x \*i?86 --archlist=x86_64 \
        rdma-core && \
    rm -rf /var/cache/yum/*''')
Ejemplo n.º 7
0
    def test_add_repo(self):
        """Add repo and key"""
        y = yum(keys=['https://www.example.com/key.pub'],
                ospackages=['example'],
                repositories=['http://www.example.com/example.repo'])
        self.assertEqual(str(y),
r'''RUN rpm --import https://www.example.com/key.pub && \
    yum-config-manager --add-repo http://www.example.com/example.repo && \
    yum install -y \
        example && \
    rm -rf /var/cache/yum/*''')
Ejemplo n.º 8
0
    def test_extract(self):
        """Extract parameter"""
        y = yum(download=True, extract='/usr/local/ofed',
                ospackages=['rdma-core'])
        self.assertEqual(str(y),
r'''RUN yum install -y yum-utils && \
    mkdir -p /var/tmp/yum_download && \
    yumdownloader --destdir=/var/tmp/yum_download -x \*i?86 --archlist=x86_64 \
        rdma-core && \
    mkdir -p /usr/local/ofed && cd /usr/local/ofed && \
    find /var/tmp/yum_download -regextype posix-extended -type f -regex "/var/tmp/yum_download/(rdma-core).*rpm" -exec sh -c "rpm2cpio {} | cpio -idm" \; && \
    rm -rf /var/tmp/yum_download && \
    rm -rf /var/cache/yum/*''')
Ejemplo n.º 9
0
 def test_add_repo_powertools_centos8(self):
     """Add repo and key and enable PowerTools"""
     y = yum(keys=['https://www.example.com/key.pub'],
             ospackages=['example'],
             repositories=['http://www.example.com/example.repo'],
             powertools=True)
     self.assertEqual(
         str(y), r'''RUN rpm --import https://www.example.com/key.pub && \
 yum install -y dnf-utils && \
 yum-config-manager --add-repo http://www.example.com/example.repo && \
 yum-config-manager --set-enabled powertools && \
 yum install -y \
     example && \
 rm -rf /var/cache/yum/*''')