diff options
author | Samuel Cabrero <scabrero@suse.de> | 2019-06-18 11:03:41 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-07-04 02:07:19 +0000 |
commit | 9d40b08ae3417309fe672e654bf6c35db54dd3dc (patch) | |
tree | 8c3ae3203cdc7243507b4c5160506d7a107f2f7c /bootstrap | |
parent | 1b39c563546aed677d0ac99b9fb8b44a5b48c1e4 (diff) | |
download | samba-9d40b08ae3417309fe672e654bf6c35db54dd3dc.tar.gz |
bootstrap: Add OpenSUSE 15.1 image
Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'bootstrap')
-rw-r--r-- | bootstrap/.gitlab-ci.yml | 3 | ||||
-rw-r--r-- | bootstrap/READMD.md | 2 | ||||
-rw-r--r-- | bootstrap/config.py | 33 | ||||
-rw-r--r-- | bootstrap/generated-dists/Vagrantfile | 7 | ||||
-rw-r--r-- | bootstrap/generated-dists/opensuse151/Dockerfile | 27 | ||||
-rwxr-xr-x | bootstrap/generated-dists/opensuse151/bootstrap.sh | 112 | ||||
-rwxr-xr-x | bootstrap/generated-dists/opensuse151/locale.sh | 55 | ||||
-rw-r--r-- | bootstrap/generated-dists/opensuse151/packages.yml | 94 | ||||
-rw-r--r-- | bootstrap/sha1sum.txt | 2 |
9 files changed, 333 insertions, 2 deletions
diff --git a/bootstrap/.gitlab-ci.yml b/bootstrap/.gitlab-ci.yml index abd87eada5b..8bec8cc4e20 100644 --- a/bootstrap/.gitlab-ci.yml +++ b/bootstrap/.gitlab-ci.yml @@ -120,3 +120,6 @@ centos6: opensuse150: extends: .build_image_template + +opensuse151: + extends: .build_image_template diff --git a/bootstrap/READMD.md b/bootstrap/READMD.md index 3d22ab136a0..d653d6d340b 100644 --- a/bootstrap/READMD.md +++ b/bootstrap/READMD.md @@ -13,7 +13,7 @@ A pure python3 module with CLI to bootstrap Samba envs for multiple distribution ## Supported Distributions deb: Debian 7|8|9, Ubuntu 1404|1604|1804 -rpm: CentOS 6|7, Fedora 28|29, openSUSE Leap 15.0 +rpm: CentOS 6|7, Fedora 28|29, openSUSE Leap 15.0|15.1 Easy to add more. diff --git a/bootstrap/config.py b/bootstrap/config.py index 1ee53ef27d4..9126961fc93 100644 --- a/bootstrap/config.py +++ b/bootstrap/config.py @@ -536,6 +536,39 @@ RPM_DISTS = { '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 + } } } diff --git a/bootstrap/generated-dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile index 9754bd4115f..941cc9a0735 100644 --- a/bootstrap/generated-dists/Vagrantfile +++ b/bootstrap/generated-dists/Vagrantfile @@ -73,6 +73,13 @@ Vagrant.configure("2") do |config| v.vm.provision :shell, path: "opensuse150/locale.sh" end + config.vm.define "opensuse151" do |v| + v.vm.box = "opensuse/openSUSE-15.1-x86_64" + v.vm.hostname = "opensuse151" + v.vm.provision :shell, path: "opensuse151/bootstrap.sh" + v.vm.provision :shell, path: "opensuse151/locale.sh" + end + config.vm.define "ubuntu1404" do |v| v.vm.box = "ubuntu/trusty64" v.vm.hostname = "ubuntu1404" diff --git a/bootstrap/generated-dists/opensuse151/Dockerfile b/bootstrap/generated-dists/opensuse151/Dockerfile new file mode 100644 index 00000000000..5a5fd645700 --- /dev/null +++ b/bootstrap/generated-dists/opensuse151/Dockerfile @@ -0,0 +1,27 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM opensuse/leap:15.1 + +# pass in with --build-arg while build +ARG SHA1SUM +RUN [ -n $SHA1SUM ] && echo $SHA1SUM > /sha1sum.txt + +ADD *.sh /tmp/ +# need root permission, do it before USER samba +RUN /tmp/bootstrap.sh && /tmp/locale.sh + +# if ld.gold exists, force link it to ld +RUN set -x; LD=$(which ld); LD_GOLD=$(which ld.gold); test -x $LD_GOLD && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD" + +# make test can not work with root, so we have to create a new user +RUN useradd -m -U -s /bin/bash samba && \ + mkdir -p /etc/sudoers.d && \ + echo "samba ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/samba + +USER samba +WORKDIR /home/samba +# samba tests rely on this +ENV USER=samba LC_ALL=en_US.utf8 LANG=en_US.utf8
\ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse151/bootstrap.sh b/bootstrap/generated-dists/opensuse151/bootstrap.sh new file mode 100755 index 00000000000..4bf205e5ffb --- /dev/null +++ b/bootstrap/generated-dists/opensuse151/bootstrap.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +zypper --non-interactive refresh +zypper --non-interactive update +zypper --non-interactive install \ + --no-recommends \ + system-user-nobody \ + acl \ + attr \ + autoconf \ + avahi-devel \ + bind-utils \ + binutils \ + bison \ + cups-devel \ + curl \ + dbus-1-devel \ + docbook-dtds \ + docbook-xsl-stylesheets \ + flex \ + gawk \ + gcc \ + gdb \ + git \ + glib2-devel \ + glibc-locale \ + glusterfs-devel \ + gnutls-devel \ + gpgme-devel \ + gzip \ + hostname \ + htop \ + keyutils-devel \ + krb5-devel \ + krb5-server \ + lcov \ + libacl-devel \ + libaio-devel \ + libarchive-devel \ + libattr-devel \ + libblkid-devel \ + libbsd-devel \ + libcap-devel \ + libcephfs-devel \ + libicu-devel \ + libjansson-devel \ + libnettle-devel \ + libnsl-devel \ + libpcap-devel \ + libtasn1-devel \ + libtirpc-devel \ + libunwind-devel \ + libuuid-devel \ + libxslt \ + lmdb \ + lmdb-devel \ + lsb-release \ + make \ + ncurses-devel \ + openldap2-devel \ + pam-devel \ + patch \ + perl \ + perl-Archive-Tar-Wrapper \ + perl-ExtUtils-MakeMaker \ + perl-JSON-XS \ + perl-Parse-Yapp \ + perl-Test-Base \ + pkgconfig \ + policycoreutils-python \ + popt-devel \ + procps \ + psmisc \ + python-crypto \ + python-devel \ + python-markdown \ + python2-dnspython \ + python2-gpg \ + python2-semanage \ + python3 \ + python3-Markdown \ + python3-devel \ + python3-dnspython \ + python3-gpg \ + python3-pycrypto \ + readline-devel \ + rng-tools \ + rpcgen \ + rpcsvc-proto-devel \ + rsync \ + sed \ + sudo \ + systemd-devel \ + tar \ + tree \ + which \ + xfsprogs-devel \ + yum-utils \ + zlib-devel + +zypper --non-interactive clean + +if [ -f /usr/lib/mit/bin/krb5-config ]; then + ln -sf /usr/lib/mit/bin/krb5-config /usr/bin/krb5-config +fi
\ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse151/locale.sh b/bootstrap/generated-dists/opensuse151/locale.sh new file mode 100755 index 00000000000..cc64e180483 --- /dev/null +++ b/bootstrap/generated-dists/opensuse151/locale.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +# refer to /usr/share/i18n/locales +INPUTFILE=en_US +# refer to /usr/share/i18n/charmaps +CHARMAP=UTF-8 +# locale to generate in /usr/lib/locale +# glibc/localedef will normalize UTF-8 to utf8, follow the naming style +LOCALE=$INPUTFILE.utf8 + +# if locale is already correct, exit +( locale | grep LC_ALL | grep -i $LOCALE ) && exit 0 + +# if locale not available, generate locale into /usr/lib/locale +if ! ( locale --all-locales | grep -i $LOCALE ) +then + # no-archive means create its own dir + localedef --inputfile $INPUTFILE --charmap $CHARMAP --no-archive $LOCALE +fi + +# update locale conf and global env file +# set both LC_ALL and LANG for safe + +# update conf for Debian family +FILE=/etc/default/locale +if [ -f $FILE ] +then + echo LC_ALL="$LOCALE" > $FILE + echo LANG="$LOCALE" >> $FILE +fi + +# update conf for RedHat family +FILE=/etc/locale.conf +if [ -f $FILE ] +then + # LC_ALL is not valid in this file, set LANG only + echo LANG="$LOCALE" > $FILE +fi + +# update global env file +FILE=/etc/environment +if [ -f $FILE ] +then + # append LC_ALL if not exist + grep LC_ALL $FILE || echo LC_ALL="$LOCALE" >> $FILE + # append LANG if not exist + grep LANG $FILE || echo LANG="$LOCALE" >> $FILE +fi
\ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse151/packages.yml b/bootstrap/generated-dists/opensuse151/packages.yml new file mode 100644 index 00000000000..8183e89804e --- /dev/null +++ b/bootstrap/generated-dists/opensuse151/packages.yml @@ -0,0 +1,94 @@ +--- +packages: + - acl + - attr + - autoconf + - avahi-devel + - bind-utils + - binutils + - bison + - cups-devel + - curl + - dbus-1-devel + - docbook-dtds + - docbook-xsl-stylesheets + - flex + - gawk + - gcc + - gdb + - git + - glib2-devel + - glibc-locale + - glusterfs-devel + - gnutls-devel + - gpgme-devel + - gzip + - hostname + - htop + - keyutils-devel + - krb5-devel + - krb5-server + - lcov + - libacl-devel + - libaio-devel + - libarchive-devel + - libattr-devel + - libblkid-devel + - libbsd-devel + - libcap-devel + - libcephfs-devel + - libicu-devel + - libjansson-devel + - libnettle-devel + - libnsl-devel + - libpcap-devel + - libtasn1-devel + - libtirpc-devel + - libunwind-devel + - libuuid-devel + - libxslt + - lmdb + - lmdb-devel + - lsb-release + - make + - ncurses-devel + - openldap2-devel + - pam-devel + - patch + - perl + - perl-Archive-Tar-Wrapper + - perl-ExtUtils-MakeMaker + - perl-JSON-XS + - perl-Parse-Yapp + - perl-Test-Base + - pkgconfig + - policycoreutils-python + - popt-devel + - procps + - psmisc + - python-crypto + - python-devel + - python-markdown + - python2-dnspython + - python2-gpg + - python2-semanage + - python3 + - python3-Markdown + - python3-devel + - python3-dnspython + - python3-gpg + - python3-pycrypto + - readline-devel + - rng-tools + - rpcgen + - rpcsvc-proto-devel + - rsync + - sed + - sudo + - systemd-devel + - tar + - tree + - which + - xfsprogs-devel + - yum-utils + - zlib-devel
\ No newline at end of file diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt index 27772a959be..52cf7350bc0 100644 --- a/bootstrap/sha1sum.txt +++ b/bootstrap/sha1sum.txt @@ -1 +1 @@ -563ddb220bfed37501be93b0b3204bb1ceb61b94 +339a70ba1881feec94109c5c4eafacf4ff6c43bc |