bootstrap: Add OpenSUSE 15.1 image
[samba.git] / bootstrap / config.py
index bae02d9fb841badb20a17538957fda9418d39471..9126961fc9354c6e82736c9c672dac4b30dddb77 100644 (file)
@@ -44,6 +44,7 @@ COMMON = [
     'gzip',
     'hostname',
     'htop',
+    'lcov',
     'make',
     'patch',
     'perl',
@@ -64,6 +65,7 @@ COMMON = [
 PKGS = [
     # NAME1-dev, NAME2-devel
     ('lmdb-utils', 'lmdb'),
+    ('mingw-w64', 'mingw64-gcc'),
     ('nettle-dev', 'nettle-devel'),
     ('zlib1g-dev', 'zlib-devel'),
     ('libbsd-dev', 'libbsd-devel'),
@@ -89,7 +91,7 @@ PKGS = [
     ('libgpgme11-dev', 'gpgme-devel'),
     # NOTE: Debian 8+ and Ubuntu 14.04+
     ('libgnutls28-dev', 'gnutls-devel'),
-    ('libtasn1-bin', ''),
+    ('libtasn1-bin', 'libtasn1-tools'),
     ('libtasn1-dev', 'libtasn1-devel'),
     ('', 'quota-devel'),
     ('uuid-dev', 'libuuid-devel'),
@@ -135,6 +137,7 @@ PKGS = [
     ('python-dnspython', 'python-dns'),
     ('python-pexpect', ''),  # for wintest only
 
+    ('python3', 'python3'),
     ('python3-dev', 'python3-devel'),
     ('python3-dbg', ''),
     ('python3-iso8601', ''),
@@ -209,14 +212,18 @@ YUM_BOOTSTRAP = r"""
 {GENERATED_MARKER}
 set -xueo pipefail
 
-yum -y -q update
-yum -y -q install epel-release
-yum -y -q update
+yum update -y
+yum install -y epel-release
+yum update -y
 
-yum -y -q --verbose install \
+yum install -y \
     {pkgs}
 
 yum clean all
+
+if [ ! -f /usr/bin/python3 ]; then
+    ln -sf /usr/bin/python3.6 /usr/bin/python3
+fi
 """
 
 
@@ -242,8 +249,9 @@ set -xueo pipefail
 zypper --non-interactive refresh
 zypper --non-interactive update
 zypper --non-interactive install \
-    {pkgs} \
-    system-user-nobody
+    --no-recommends \
+    system-user-nobody \
+    {pkgs}
 
 zypper --non-interactive clean
 
@@ -425,7 +433,8 @@ RPM_DISTS = {
         'bootstrap': YUM_BOOTSTRAP,
         'replace': {
             'lsb-release': 'redhat-lsb',
-            'python3-devel': 'python34-devel',
+            'python3': 'python36',
+            'python3-devel': 'python36-devel',
             'python2-gpg': 'pygpgme',
             'python3-gpg': '',  # no python3-gpg yet
             '@development-tools': '"@Development Tools"',  # add quotes
@@ -447,10 +456,16 @@ RPM_DISTS = {
         'bootstrap': YUM_BOOTSTRAP,
         'replace': {
             'lsb-release': 'redhat-lsb',
-            'python3-devel': 'python34-devel',
+            'python3': 'python36',
+            'python3-crypto': 'python36-crypto',
+            'python3-devel': 'python36-devel',
+            'python3-dns': 'python36-dns',
+            'python3-gpg': 'python36-gpg',
+            'python3-iso8601' : 'python36-iso8601',
+            'python3-markdown': 'python36-markdown',
             # although python36-devel is available
             # after epel-release installed
-            # however, all other python3 pkgs are still python34-ish
+            # however, all other python3 pkgs are still python36-ish
             'python2-gpg': 'pygpgme',
             'python3-gpg': '',  # no python3-gpg yet
             '@development-tools': '"@Development Tools"',  # add quotes
@@ -481,6 +496,14 @@ RPM_DISTS = {
             'lsb-release': 'redhat-lsb',
         }
     },
+    'fedora30': {
+        'docker_image': 'fedora:30',
+        'vagrant_box': 'fedora/30-cloud-base',
+        'bootstrap': DNF_BOOTSTRAP,
+        'replace': {
+            'lsb-release': 'redhat-lsb',
+        }
+    },
     'opensuse150': {
         'docker_image': 'opensuse/leap:15.0',
         'vagrant_box': 'opensuse/openSUSE-15.0-x86_64',
@@ -510,6 +533,41 @@ RPM_DISTS = {
             'python3-markdown': 'python3-Markdown',
             'quota-devel': '',
             'glusterfs-api-devel': '',
+            'libtasn1-tools': '', # asn1Parser is part of libtasn1
+            'mingw64-gcc': '', # doesn't exist
+        }
+    },
+    'opensuse151': {
+        'docker_image': 'opensuse/leap:15.1',
+        'vagrant_box': 'opensuse/openSUSE-15.1-x86_64',
+        'bootstrap': ZYPPER_BOOTSTRAP,
+        'replace': {
+            '@development-tools': '',
+            'dbus-devel': 'dbus-1-devel',
+            'docbook-style-xsl': 'docbook-xsl-stylesheets',
+            'glibc-common': 'glibc-locale',
+            'glibc-locale-source': 'glibc-i18ndata',
+            'glibc-langpack-en': '',
+            'jansson-devel': 'libjansson-devel',
+            'keyutils-libs-devel': 'keyutils-devel',
+            'krb5-workstation': 'krb5-client',
+            'libnsl2-devel': 'libnsl-devel',
+            'libsemanage-python': 'python2-semanage',
+            'nettle-devel': 'libnettle-devel',
+            'openldap-devel': 'openldap2-devel',
+            'perl-Archive-Tar': 'perl-Archive-Tar-Wrapper',
+            'perl-JSON-Parse': 'perl-JSON-XS',
+            'perl-generators': '',
+            'perl-interpreter': '',
+            'procps-ng': 'procps',
+            'python-dns': 'python2-dnspython',
+            'python3-crypto': 'python3-pycrypto',
+            'python3-dns': 'python3-dnspython',
+            'python3-markdown': 'python3-Markdown',
+            'quota-devel': '',
+            'glusterfs-api-devel': '',
+            'libtasn1-tools': '', # asn1Parser is part of libtasn1
+            'mingw64-gcc': '', # doesn't exist
         }
     }
 }