summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorSamuel Cabrero <scabrero@suse.de>2019-06-18 11:03:41 +0200
committerAndrew Bartlett <abartlet@samba.org>2019-07-04 02:07:19 +0000
commit9d40b08ae3417309fe672e654bf6c35db54dd3dc (patch)
tree8c3ae3203cdc7243507b4c5160506d7a107f2f7c /bootstrap
parent1b39c563546aed677d0ac99b9fb8b44a5b48c1e4 (diff)
downloadsamba-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.yml3
-rw-r--r--bootstrap/READMD.md2
-rw-r--r--bootstrap/config.py33
-rw-r--r--bootstrap/generated-dists/Vagrantfile7
-rw-r--r--bootstrap/generated-dists/opensuse151/Dockerfile27
-rwxr-xr-xbootstrap/generated-dists/opensuse151/bootstrap.sh112
-rwxr-xr-xbootstrap/generated-dists/opensuse151/locale.sh55
-rw-r--r--bootstrap/generated-dists/opensuse151/packages.yml94
-rw-r--r--bootstrap/sha1sum.txt2
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