summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2019-04-12 13:33:12 +0200
committerStefan Metzmacher <metze@samba.org>2019-04-18 12:09:34 +0000
commitc36c1022f0c9073fb5511938b8d01401ed5bdfeb (patch)
tree78c6384d253a008c619e758e0eb2bcfdb69868d1 /bootstrap
parent2300a38de36bab9980dc0ea1d8e55997946a0d19 (diff)
downloadsamba-c36c1022f0c9073fb5511938b8d01401ed5bdfeb.tar.gz
bootstrap: add the result of bootstrap/template.py --render
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/dists/centos6/Dockerfile18
-rw-r--r--bootstrap/dists/centos7/Dockerfile18
-rw-r--r--bootstrap/dists/debian7/Dockerfile18
-rw-r--r--bootstrap/dists/debian8/Dockerfile18
-rw-r--r--bootstrap/dists/debian9/Dockerfile18
-rw-r--r--bootstrap/dists/fedora28/Dockerfile18
-rw-r--r--bootstrap/dists/fedora29/Dockerfile18
-rw-r--r--bootstrap/dists/ubuntu1404/Dockerfile18
-rw-r--r--bootstrap/dists/ubuntu1604/Dockerfile18
-rw-r--r--bootstrap/dists/ubuntu1804/Dockerfile18
-rw-r--r--bootstrap/generated-dists/Vagrantfile (renamed from bootstrap/dists/Vagrantfile)24
-rw-r--r--bootstrap/generated-dists/centos6/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/centos6/bootstrap.sh (renamed from bootstrap/dists/centos6/bootstrap.sh)53
-rwxr-xr-xbootstrap/generated-dists/centos6/locale.sh55
-rw-r--r--bootstrap/generated-dists/centos6/packages.yml (renamed from bootstrap/dists/centos6/packages.yml)34
-rw-r--r--bootstrap/generated-dists/centos7/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/centos7/bootstrap.sh (renamed from bootstrap/dists/centos7/bootstrap.sh)53
-rwxr-xr-xbootstrap/generated-dists/centos7/locale.sh55
-rw-r--r--bootstrap/generated-dists/centos7/packages.yml (renamed from bootstrap/dists/centos7/packages.yml)34
-rw-r--r--bootstrap/generated-dists/debian7/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/debian7/bootstrap.sh (renamed from bootstrap/dists/debian7/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/debian7/locale.sh55
-rw-r--r--bootstrap/generated-dists/debian7/packages.yml (renamed from bootstrap/dists/debian7/packages.yml)38
-rw-r--r--bootstrap/generated-dists/debian8/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/debian8/bootstrap.sh (renamed from bootstrap/dists/debian8/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/debian8/locale.sh55
-rw-r--r--bootstrap/generated-dists/debian8/packages.yml (renamed from bootstrap/dists/debian8/packages.yml)38
-rw-r--r--bootstrap/generated-dists/debian9/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/debian9/bootstrap.sh (renamed from bootstrap/dists/debian9/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/debian9/locale.sh55
-rw-r--r--bootstrap/generated-dists/debian9/packages.yml (renamed from bootstrap/dists/debian9/packages.yml)38
-rw-r--r--bootstrap/generated-dists/fedora28/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/fedora28/bootstrap.sh (renamed from bootstrap/dists/fedora29/bootstrap.sh)54
-rwxr-xr-xbootstrap/generated-dists/fedora28/locale.sh55
-rw-r--r--bootstrap/generated-dists/fedora28/packages.yml (renamed from bootstrap/dists/fedora29/packages.yml)35
-rw-r--r--bootstrap/generated-dists/fedora29/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/fedora29/bootstrap.sh (renamed from bootstrap/dists/fedora28/bootstrap.sh)54
-rwxr-xr-xbootstrap/generated-dists/fedora29/locale.sh55
-rw-r--r--bootstrap/generated-dists/fedora29/packages.yml (renamed from bootstrap/dists/fedora28/packages.yml)35
-rw-r--r--bootstrap/generated-dists/opensuse150/Dockerfile27
-rwxr-xr-xbootstrap/generated-dists/opensuse150/bootstrap.sh104
-rwxr-xr-xbootstrap/generated-dists/opensuse150/locale.sh55
-rw-r--r--bootstrap/generated-dists/opensuse150/packages.yml87
-rw-r--r--bootstrap/generated-dists/ubuntu1404/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/ubuntu1404/bootstrap.sh (renamed from bootstrap/dists/ubuntu1404/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/ubuntu1404/locale.sh55
-rw-r--r--bootstrap/generated-dists/ubuntu1404/packages.yml (renamed from bootstrap/dists/ubuntu1404/packages.yml)38
-rw-r--r--bootstrap/generated-dists/ubuntu1604/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/ubuntu1604/bootstrap.sh (renamed from bootstrap/dists/ubuntu1604/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/ubuntu1604/locale.sh55
-rw-r--r--bootstrap/generated-dists/ubuntu1604/packages.yml (renamed from bootstrap/dists/ubuntu1604/packages.yml)38
-rw-r--r--bootstrap/generated-dists/ubuntu1804/Dockerfile27
-rwxr-xr-x[-rw-r--r--]bootstrap/generated-dists/ubuntu1804/bootstrap.sh (renamed from bootstrap/dists/ubuntu1804/bootstrap.sh)61
-rwxr-xr-xbootstrap/generated-dists/ubuntu1804/locale.sh55
-rw-r--r--bootstrap/generated-dists/ubuntu1804/packages.yml (renamed from bootstrap/dists/ubuntu1804/packages.yml)38
-rw-r--r--bootstrap/sha1sum.txt1
56 files changed, 1756 insertions, 488 deletions
diff --git a/bootstrap/dists/centos6/Dockerfile b/bootstrap/dists/centos6/Dockerfile
deleted file mode 100644
index bbd244324a7..00000000000
--- a/bootstrap/dists/centos6/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM centos:6
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/centos7/Dockerfile b/bootstrap/dists/centos7/Dockerfile
deleted file mode 100644
index 004d1b99d2c..00000000000
--- a/bootstrap/dists/centos7/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM centos:7
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/debian7/Dockerfile b/bootstrap/dists/debian7/Dockerfile
deleted file mode 100644
index f369ada16db..00000000000
--- a/bootstrap/dists/debian7/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM debian:7
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/debian8/Dockerfile b/bootstrap/dists/debian8/Dockerfile
deleted file mode 100644
index 319481156ae..00000000000
--- a/bootstrap/dists/debian8/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM debian:8
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/debian9/Dockerfile b/bootstrap/dists/debian9/Dockerfile
deleted file mode 100644
index 0615b309de3..00000000000
--- a/bootstrap/dists/debian9/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM debian:9
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/fedora28/Dockerfile b/bootstrap/dists/fedora28/Dockerfile
deleted file mode 100644
index fe7f228a1c7..00000000000
--- a/bootstrap/dists/fedora28/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM fedora:28
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/fedora29/Dockerfile b/bootstrap/dists/fedora29/Dockerfile
deleted file mode 100644
index 55db7719de0..00000000000
--- a/bootstrap/dists/fedora29/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM fedora:29
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1404/Dockerfile b/bootstrap/dists/ubuntu1404/Dockerfile
deleted file mode 100644
index 40e59b19753..00000000000
--- a/bootstrap/dists/ubuntu1404/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM ubuntu:14.04
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1604/Dockerfile b/bootstrap/dists/ubuntu1604/Dockerfile
deleted file mode 100644
index 772b630d943..00000000000
--- a/bootstrap/dists/ubuntu1604/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM ubuntu:16.04
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1804/Dockerfile b/bootstrap/dists/ubuntu1804/Dockerfile
deleted file mode 100644
index db517e19071..00000000000
--- a/bootstrap/dists/ubuntu1804/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM ubuntu:18.04
-
-# we will use this image to run ci, these ENV vars are important
-ENV CC="ccache gcc"
-
-ADD bootstrap.sh /tmp/bootstrap.sh
-# need root permission, do it before USER samba
-RUN bash /tmp/bootstrap.sh
-
-# make test can not work with root, so we have to create a new user
-RUN useradd -m -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.UTF-8 LANG=en_US.UTF-8 \ No newline at end of file
diff --git a/bootstrap/dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile
index 9281efa9a0e..8dbac2c73c1 100644
--- a/bootstrap/dists/Vagrantfile
+++ b/bootstrap/generated-dists/Vagrantfile
@@ -1,4 +1,11 @@
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
@@ -7,60 +14,77 @@ Vagrant.configure("2") do |config|
v.vm.box = "centos/6"
v.vm.hostname = "centos6"
v.vm.provision :shell, path: "centos6/bootstrap.sh"
+ v.vm.provision :shell, path: "centos6/locale.sh"
end
config.vm.define "centos7" do |v|
v.vm.box = "centos/7"
v.vm.hostname = "centos7"
v.vm.provision :shell, path: "centos7/bootstrap.sh"
+ v.vm.provision :shell, path: "centos7/locale.sh"
end
config.vm.define "debian7" do |v|
v.vm.box = "debian/wheezy64"
v.vm.hostname = "debian7"
v.vm.provision :shell, path: "debian7/bootstrap.sh"
+ v.vm.provision :shell, path: "debian7/locale.sh"
end
config.vm.define "debian8" do |v|
v.vm.box = "debian/jessie64"
v.vm.hostname = "debian8"
v.vm.provision :shell, path: "debian8/bootstrap.sh"
+ v.vm.provision :shell, path: "debian8/locale.sh"
end
config.vm.define "debian9" do |v|
v.vm.box = "debian/stretch64"
v.vm.hostname = "debian9"
v.vm.provision :shell, path: "debian9/bootstrap.sh"
+ v.vm.provision :shell, path: "debian9/locale.sh"
end
config.vm.define "fedora28" do |v|
v.vm.box = "fedora/28-cloud-base"
v.vm.hostname = "fedora28"
v.vm.provision :shell, path: "fedora28/bootstrap.sh"
+ v.vm.provision :shell, path: "fedora28/locale.sh"
end
config.vm.define "fedora29" do |v|
v.vm.box = "fedora/29-cloud-base"
v.vm.hostname = "fedora29"
v.vm.provision :shell, path: "fedora29/bootstrap.sh"
+ v.vm.provision :shell, path: "fedora29/locale.sh"
+ end
+
+ config.vm.define "opensuse150" do |v|
+ v.vm.box = "opensuse/openSUSE-15.0-x86_64"
+ v.vm.hostname = "opensuse150"
+ v.vm.provision :shell, path: "opensuse150/bootstrap.sh"
+ v.vm.provision :shell, path: "opensuse150/locale.sh"
end
config.vm.define "ubuntu1404" do |v|
v.vm.box = "ubuntu/trusty64"
v.vm.hostname = "ubuntu1404"
v.vm.provision :shell, path: "ubuntu1404/bootstrap.sh"
+ v.vm.provision :shell, path: "ubuntu1404/locale.sh"
end
config.vm.define "ubuntu1604" do |v|
v.vm.box = "ubuntu/xenial64"
v.vm.hostname = "ubuntu1604"
v.vm.provision :shell, path: "ubuntu1604/bootstrap.sh"
+ v.vm.provision :shell, path: "ubuntu1604/locale.sh"
end
config.vm.define "ubuntu1804" do |v|
v.vm.box = "ubuntu/bionic64"
v.vm.hostname = "ubuntu1804"
v.vm.provision :shell, path: "ubuntu1804/bootstrap.sh"
+ v.vm.provision :shell, path: "ubuntu1804/locale.sh"
end
diff --git a/bootstrap/generated-dists/centos6/Dockerfile b/bootstrap/generated-dists/centos6/Dockerfile
new file mode 100644
index 00000000000..2716eebdd35
--- /dev/null
+++ b/bootstrap/generated-dists/centos6/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM centos:6
+
+# 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/dists/centos6/bootstrap.sh b/bootstrap/generated-dists/centos6/bootstrap.sh
index 8e46b410fa3..2ac905ddda7 100644..100755
--- a/bootstrap/dists/centos6/bootstrap.sh
+++ b/bootstrap/generated-dists/centos6/bootstrap.sh
@@ -1,4 +1,10 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
yum -y -q update
@@ -7,52 +13,65 @@ yum -y -q update
yum -y -q --verbose install \
"@Development Tools" \
+ acl \
attr \
autoconf \
- bind \
+ avahi-devel \
bind-utils \
binutils \
bison \
- ccache \
cups-devel \
curl \
dbus-devel \
docbook-dtds \
docbook-style-xsl \
+ gawk \
gcc \
gdb \
git \
+ glib2-devel \
glibc-common \
gnutls-devel \
gpgme-devel \
+ gzip \
+ hostname \
+ htop \
jansson-devel \
keyutils-libs-devel \
krb5-devel \
- krb5-workstation \
+ krb5-server \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
+ libcap-devel \
+ libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
+ libtasn1-devel \
libtirpc-devel \
- libxml2-devel \
+ libunwind-devel \
+ libuuid-devel \
libxslt \
- lmdb-devel \
+ lmdb \
lmdb-devel \
make \
- mlocate \
ncurses-devel \
nettle-devel \
openldap-devel \
pam-devel \
+ patch \
+ perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
perl-core \
+ perl-generators \
+ perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
@@ -67,25 +86,19 @@ yum -y -q --verbose install \
python3-dns \
python3-markdown \
python34-devel \
+ quota-devel \
readline-devel \
redhat-lsb \
+ rng-tools \
rpcgen \
+ rsync \
+ sed \
sudo \
systemd-devel \
- vim \
- wget \
+ tar \
+ tree \
+ which \
yum-utils \
zlib-devel
-yum clean all
-
-# gen locale
-localedef -c -i en_US -f UTF-8 en_US.UTF-8
-
-# no update-locale, diy
-# LC_ALL is not valid in this file
-echo LANG="en_US.UTF-8" > /etc/locale.conf
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+yum clean all \ No newline at end of file
diff --git a/bootstrap/generated-dists/centos6/locale.sh b/bootstrap/generated-dists/centos6/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/centos6/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/dists/centos6/packages.yml b/bootstrap/generated-dists/centos6/packages.yml
index bd62d1d5fea..344d88a5d2a 100644
--- a/bootstrap/dists/centos6/packages.yml
+++ b/bootstrap/generated-dists/centos6/packages.yml
@@ -1,52 +1,65 @@
---
packages:
- "@Development Tools"
+ - acl
- attr
- autoconf
- - bind
+ - avahi-devel
- bind-utils
- binutils
- bison
- - ccache
- cups-devel
- curl
- dbus-devel
- docbook-dtds
- docbook-style-xsl
+ - gawk
- gcc
- gdb
- git
+ - glib2-devel
- glibc-common
- gnutls-devel
- gpgme-devel
+ - gzip
+ - hostname
+ - htop
- jansson-devel
- keyutils-libs-devel
- krb5-devel
- - krb5-workstation
+ - krb5-server
- libacl-devel
- libaio-devel
- libarchive-devel
- libattr-devel
- libblkid-devel
- libbsd-devel
+ - libcap-devel
+ - libicu-devel
- libnsl2-devel
- libpcap-devel
- libsemanage-python
+ - libtasn1-devel
- libtirpc-devel
- - libxml2-devel
+ - libunwind-devel
+ - libuuid-devel
- libxslt
- - lmdb-devel
+ - lmdb
- lmdb-devel
- make
- - mlocate
- ncurses-devel
- nettle-devel
- openldap-devel
- pam-devel
+ - patch
+ - perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
- perl-core
+ - perl-generators
+ - perl-interpreter
- pkgconfig
- policycoreutils-python
- popt-devel
@@ -61,12 +74,17 @@ packages:
- python3-dns
- python3-markdown
- python34-devel
+ - quota-devel
- readline-devel
- redhat-lsb
+ - rng-tools
- rpcgen
+ - rsync
+ - sed
- sudo
- systemd-devel
- - vim
- - wget
+ - tar
+ - tree
+ - which
- yum-utils
- zlib-devel \ No newline at end of file
diff --git a/bootstrap/generated-dists/centos7/Dockerfile b/bootstrap/generated-dists/centos7/Dockerfile
new file mode 100644
index 00000000000..2f171ad1c62
--- /dev/null
+++ b/bootstrap/generated-dists/centos7/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM centos:7
+
+# 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/dists/centos7/bootstrap.sh b/bootstrap/generated-dists/centos7/bootstrap.sh
index f9af0bdf3ff..90dcbd19566 100644..100755
--- a/bootstrap/dists/centos7/bootstrap.sh
+++ b/bootstrap/generated-dists/centos7/bootstrap.sh
@@ -1,4 +1,10 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
yum -y -q update
@@ -7,52 +13,65 @@ yum -y -q update
yum -y -q --verbose install \
"@Development Tools" \
+ acl \
attr \
autoconf \
- bind \
+ avahi-devel \
bind-utils \
binutils \
bison \
- ccache \
cups-devel \
curl \
dbus-devel \
docbook-dtds \
docbook-style-xsl \
+ gawk \
gcc \
gdb \
git \
+ glib2-devel \
glibc-common \
gnutls-devel \
gpgme-devel \
+ gzip \
+ hostname \
+ htop \
jansson-devel \
keyutils-libs-devel \
krb5-devel \
- krb5-workstation \
+ krb5-server \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
+ libcap-devel \
+ libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
+ libtasn1-devel \
libtirpc-devel \
- libxml2-devel \
+ libunwind-devel \
+ libuuid-devel \
libxslt \
- lmdb-devel \
+ lmdb \
lmdb-devel \
make \
- mlocate \
ncurses-devel \
nettle-devel \
openldap-devel \
pam-devel \
+ patch \
+ perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
perl-core \
+ perl-generators \
+ perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
@@ -67,25 +86,19 @@ yum -y -q --verbose install \
python3-dns \
python3-markdown \
python34-devel \
+ quota-devel \
readline-devel \
redhat-lsb \
+ rng-tools \
rpcgen \
+ rsync \
+ sed \
sudo \
systemd-devel \
- vim \
- wget \
+ tar \
+ tree \
+ which \
yum-utils \
zlib-devel
-yum clean all
-
-# gen locale
-localedef -c -i en_US -f UTF-8 en_US.UTF-8
-
-# no update-locale, diy
-# LC_ALL is not valid in this file
-echo LANG="en_US.UTF-8" > /etc/locale.conf
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+yum clean all \ No newline at end of file
diff --git a/bootstrap/generated-dists/centos7/locale.sh b/bootstrap/generated-dists/centos7/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/centos7/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/dists/centos7/packages.yml b/bootstrap/generated-dists/centos7/packages.yml
index a0c5d8ea3ff..d5048a71d77 100644
--- a/bootstrap/dists/centos7/packages.yml
+++ b/bootstrap/generated-dists/centos7/packages.yml
@@ -1,52 +1,65 @@
---
packages:
- "@Development Tools"
+ - acl
- attr
- autoconf
- - bind
+ - avahi-devel
- bind-utils
- binutils
- bison
- - ccache
- cups-devel
- curl
- dbus-devel
- docbook-dtds
- docbook-style-xsl
+ - gawk
- gcc
- gdb
- git
+ - glib2-devel
- glibc-common
- gnutls-devel
- gpgme-devel
+ - gzip
+ - hostname
+ - htop
- jansson-devel
- keyutils-libs-devel
- krb5-devel
- - krb5-workstation
+ - krb5-server
- libacl-devel
- libaio-devel
- libarchive-devel
- libattr-devel
- libblkid-devel
- libbsd-devel
+ - libcap-devel
+ - libicu-devel
- libnsl2-devel
- libpcap-devel
- libsemanage-python
+ - libtasn1-devel
- libtirpc-devel
- - libxml2-devel
+ - libunwind-devel
+ - libuuid-devel
- libxslt
- - lmdb-devel
+ - lmdb
- lmdb-devel
- make
- - mlocate
- ncurses-devel
- nettle-devel
- openldap-devel
- pam-devel
+ - patch
+ - perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
- perl-core
+ - perl-generators
+ - perl-interpreter
- pkgconfig
- policycoreutils-python
- popt-devel
@@ -61,12 +74,17 @@ packages:
- python3-dns
- python3-markdown
- python34-devel
+ - quota-devel
- readline-devel
- redhat-lsb
+ - rng-tools
- rpcgen
+ - rsync
+ - sed
- sudo
- systemd-devel
- - vim
- - wget
+ - tar
+ - tree
+ - which
- yum-utils
- zlib-devel \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian7/Dockerfile b/bootstrap/generated-dists/debian7/Dockerfile
new file mode 100644
index 00000000000..dfe0e389653
--- /dev/null
+++ b/bootstrap/generated-dists/debian7/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM debian:7
+
+# 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/dists/debian7/bootstrap.sh b/bootstrap/generated-dists/debian7/bootstrap.sh
index 88c076e2a01..a860caf330e 100644..100755
--- a/bootstrap/dists/debian7/bootstrap.sh
+++ b/bootstrap/generated-dists/debian7/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,68 +28,76 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind-dev \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpgme \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian7/locale.sh b/bootstrap/generated-dists/debian7/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/debian7/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/dists/debian7/packages.yml b/bootstrap/generated-dists/debian7/packages.yml
index 6a025c79931..80ddb1d2dbd 100644
--- a/bootstrap/dists/debian7/packages.yml
+++ b/bootstrap/generated-dists/debian7/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,49 +17,72 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind-dev
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpgme
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian8/Dockerfile b/bootstrap/generated-dists/debian8/Dockerfile
new file mode 100644
index 00000000000..a5a35654c22
--- /dev/null
+++ b/bootstrap/generated-dists/debian8/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM debian:8
+
+# 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/dists/debian8/bootstrap.sh b/bootstrap/generated-dists/debian8/bootstrap.sh
index 3bf9a6b6fd7..5194507f447 100644..100755
--- a/bootstrap/dists/debian8/bootstrap.sh
+++ b/bootstrap/generated-dists/debian8/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,19 +28,27 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls28-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
@@ -43,52 +56,52 @@ apt-get -y install \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
libsystemd-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind-dev \
lmdb-utils \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpgme \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
python3-gpgme \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian8/locale.sh b/bootstrap/generated-dists/debian8/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/debian8/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/dists/debian8/packages.yml b/bootstrap/generated-dists/debian8/packages.yml
index 7158835d45e..5655fb57d7c 100644
--- a/bootstrap/dists/debian8/packages.yml
+++ b/bootstrap/generated-dists/debian8/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,19 +17,27 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls28-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
@@ -38,33 +45,48 @@ packages:
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- libsystemd-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind-dev
- lmdb-utils
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpgme
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
- python3-gpgme
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian9/Dockerfile b/bootstrap/generated-dists/debian9/Dockerfile
new file mode 100644
index 00000000000..50195295447
--- /dev/null
+++ b/bootstrap/generated-dists/debian9/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM debian:9
+
+# 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/dists/debian9/bootstrap.sh b/bootstrap/generated-dists/debian9/bootstrap.sh
index 4ecad389c1d..a765307ab7c 100644..100755
--- a/bootstrap/dists/debian9/bootstrap.sh
+++ b/bootstrap/generated-dists/debian9/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,19 +28,27 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls28-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
@@ -43,52 +56,52 @@ apt-get -y install \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
libsystemd-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind-dev \
lmdb-utils \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpg \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
python3-gpg \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/debian9/locale.sh b/bootstrap/generated-dists/debian9/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/debian9/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/dists/debian9/packages.yml b/bootstrap/generated-dists/debian9/packages.yml
index 8ef21ba81b2..b4e2013eb47 100644
--- a/bootstrap/dists/debian9/packages.yml
+++ b/bootstrap/generated-dists/debian9/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,19 +17,27 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls28-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
@@ -38,33 +45,48 @@ packages:
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- libsystemd-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind-dev
- lmdb-utils
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpg
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
- python3-gpg
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/generated-dists/fedora28/Dockerfile b/bootstrap/generated-dists/fedora28/Dockerfile
new file mode 100644
index 00000000000..4d25691e1b7
--- /dev/null
+++ b/bootstrap/generated-dists/fedora28/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM fedora:28
+
+# 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/dists/fedora29/bootstrap.sh b/bootstrap/generated-dists/fedora28/bootstrap.sh
index 8500cb5ce7a..ec1fdff902a 100644..100755
--- a/bootstrap/dists/fedora29/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora28/bootstrap.sh
@@ -1,58 +1,76 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
dnf -y -q update
dnf -y -q --verbose install \
@development-tools \
+ acl \
attr \
autoconf \
- bind \
+ avahi-devel \
bind-utils \
binutils \
bison \
- ccache \
cups-devel \
curl \
dbus-devel \
docbook-dtds \
docbook-style-xsl \
+ gawk \
gcc \
gdb \
git \
+ glib2-devel \
glibc-common \
glibc-langpack-en \
- glibc-locale-source \
gnutls-devel \
gpgme-devel \
+ gzip \
+ hostname \
+ htop \
jansson-devel \
keyutils-libs-devel \
krb5-devel \
- krb5-workstation \
+ krb5-server \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
+ libcap-devel \
+ libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
+ libtasn1-devel \
libtirpc-devel \
- libxml2-devel \
+ libunwind-devel \
+ libuuid-devel \
libxslt \
- lmdb-devel \
+ lmdb \
lmdb-devel \
make \
- mlocate \
ncurses-devel \
nettle-devel \
openldap-devel \
pam-devel \
+ patch \
perl \
+ perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
+ perl-generators \
+ perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
@@ -68,25 +86,19 @@ dnf -y -q --verbose install \
python3-dns \
python3-gpg \
python3-markdown \
+ quota-devel \
readline-devel \
redhat-lsb \
+ rng-tools \
rpcgen \
+ rsync \
+ sed \
sudo \
systemd-devel \
- vim \
- wget \
+ tar \
+ tree \
+ which \
yum-utils \
zlib-devel
-dnf clean all
-
-# gen locale
-localedef -c -i en_US -f UTF-8 en_US.UTF-8
-
-# no update-locale, diy
-# LC_ALL is not valid in this file
-echo LANG="en_US.UTF-8" > /etc/locale.conf
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+dnf clean all \ No newline at end of file
diff --git a/bootstrap/generated-dists/fedora28/locale.sh b/bootstrap/generated-dists/fedora28/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/fedora28/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/dists/fedora29/packages.yml b/bootstrap/generated-dists/fedora28/packages.yml
index 241d1991d57..40cc9e74abb 100644
--- a/bootstrap/dists/fedora29/packages.yml
+++ b/bootstrap/generated-dists/fedora28/packages.yml
@@ -1,54 +1,66 @@
---
packages:
- @development-tools
+ - acl
- attr
- autoconf
- - bind
+ - avahi-devel
- bind-utils
- binutils
- bison
- - ccache
- cups-devel
- curl
- dbus-devel
- docbook-dtds
- docbook-style-xsl
+ - gawk
- gcc
- gdb
- git
+ - glib2-devel
- glibc-common
- glibc-langpack-en
- - glibc-locale-source
- gnutls-devel
- gpgme-devel
+ - gzip
+ - hostname
+ - htop
- jansson-devel
- keyutils-libs-devel
- krb5-devel
- - krb5-workstation
+ - krb5-server
- libacl-devel
- libaio-devel
- libarchive-devel
- libattr-devel
- libblkid-devel
- libbsd-devel
+ - libcap-devel
+ - libicu-devel
- libnsl2-devel
- libpcap-devel
- libsemanage-python
+ - libtasn1-devel
- libtirpc-devel
- - libxml2-devel
+ - libunwind-devel
+ - libuuid-devel
- libxslt
- - lmdb-devel
+ - lmdb
- lmdb-devel
- make
- - mlocate
- ncurses-devel
- nettle-devel
- openldap-devel
- pam-devel
+ - patch
- perl
+ - perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
+ - perl-generators
+ - perl-interpreter
- pkgconfig
- policycoreutils-python
- popt-devel
@@ -64,12 +76,17 @@ packages:
- python3-dns
- python3-gpg
- python3-markdown
+ - quota-devel
- readline-devel
- redhat-lsb
+ - rng-tools
- rpcgen
+ - rsync
+ - sed
- sudo
- systemd-devel
- - vim
- - wget
+ - tar
+ - tree
+ - which
- yum-utils
- zlib-devel \ No newline at end of file
diff --git a/bootstrap/generated-dists/fedora29/Dockerfile b/bootstrap/generated-dists/fedora29/Dockerfile
new file mode 100644
index 00000000000..268c79da161
--- /dev/null
+++ b/bootstrap/generated-dists/fedora29/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM fedora:29
+
+# 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/dists/fedora28/bootstrap.sh b/bootstrap/generated-dists/fedora29/bootstrap.sh
index 8500cb5ce7a..ec1fdff902a 100644..100755
--- a/bootstrap/dists/fedora28/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora29/bootstrap.sh
@@ -1,58 +1,76 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
dnf -y -q update
dnf -y -q --verbose install \
@development-tools \
+ acl \
attr \
autoconf \
- bind \
+ avahi-devel \
bind-utils \
binutils \
bison \
- ccache \
cups-devel \
curl \
dbus-devel \
docbook-dtds \
docbook-style-xsl \
+ gawk \
gcc \
gdb \
git \
+ glib2-devel \
glibc-common \
glibc-langpack-en \
- glibc-locale-source \
gnutls-devel \
gpgme-devel \
+ gzip \
+ hostname \
+ htop \
jansson-devel \
keyutils-libs-devel \
krb5-devel \
- krb5-workstation \
+ krb5-server \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
+ libcap-devel \
+ libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
+ libtasn1-devel \
libtirpc-devel \
- libxml2-devel \
+ libunwind-devel \
+ libuuid-devel \
libxslt \
- lmdb-devel \
+ lmdb \
lmdb-devel \
make \
- mlocate \
ncurses-devel \
nettle-devel \
openldap-devel \
pam-devel \
+ patch \
perl \
+ perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
+ perl-generators \
+ perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
@@ -68,25 +86,19 @@ dnf -y -q --verbose install \
python3-dns \
python3-gpg \
python3-markdown \
+ quota-devel \
readline-devel \
redhat-lsb \
+ rng-tools \
rpcgen \
+ rsync \
+ sed \
sudo \
systemd-devel \
- vim \
- wget \
+ tar \
+ tree \
+ which \
yum-utils \
zlib-devel
-dnf clean all
-
-# gen locale
-localedef -c -i en_US -f UTF-8 en_US.UTF-8
-
-# no update-locale, diy
-# LC_ALL is not valid in this file
-echo LANG="en_US.UTF-8" > /etc/locale.conf
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+dnf clean all \ No newline at end of file
diff --git a/bootstrap/generated-dists/fedora29/locale.sh b/bootstrap/generated-dists/fedora29/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/fedora29/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/dists/fedora28/packages.yml b/bootstrap/generated-dists/fedora29/packages.yml
index 241d1991d57..40cc9e74abb 100644
--- a/bootstrap/dists/fedora28/packages.yml
+++ b/bootstrap/generated-dists/fedora29/packages.yml
@@ -1,54 +1,66 @@
---
packages:
- @development-tools
+ - acl
- attr
- autoconf
- - bind
+ - avahi-devel
- bind-utils
- binutils
- bison
- - ccache
- cups-devel
- curl
- dbus-devel
- docbook-dtds
- docbook-style-xsl
+ - gawk
- gcc
- gdb
- git
+ - glib2-devel
- glibc-common
- glibc-langpack-en
- - glibc-locale-source
- gnutls-devel
- gpgme-devel
+ - gzip
+ - hostname
+ - htop
- jansson-devel
- keyutils-libs-devel
- krb5-devel
- - krb5-workstation
+ - krb5-server
- libacl-devel
- libaio-devel
- libarchive-devel
- libattr-devel
- libblkid-devel
- libbsd-devel
+ - libcap-devel
+ - libicu-devel
- libnsl2-devel
- libpcap-devel
- libsemanage-python
+ - libtasn1-devel
- libtirpc-devel
- - libxml2-devel
+ - libunwind-devel
+ - libuuid-devel
- libxslt
- - lmdb-devel
+ - lmdb
- lmdb-devel
- make
- - mlocate
- ncurses-devel
- nettle-devel
- openldap-devel
- pam-devel
+ - patch
- perl
+ - perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
+ - perl-generators
+ - perl-interpreter
- pkgconfig
- policycoreutils-python
- popt-devel
@@ -64,12 +76,17 @@ packages:
- python3-dns
- python3-gpg
- python3-markdown
+ - quota-devel
- readline-devel
- redhat-lsb
+ - rng-tools
- rpcgen
+ - rsync
+ - sed
- sudo
- systemd-devel
- - vim
- - wget
+ - tar
+ - tree
+ - which
- yum-utils
- zlib-devel \ No newline at end of file
diff --git a/bootstrap/generated-dists/opensuse150/Dockerfile b/bootstrap/generated-dists/opensuse150/Dockerfile
new file mode 100644
index 00000000000..fc8740b534d
--- /dev/null
+++ b/bootstrap/generated-dists/opensuse150/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM opensuse/leap:15.0
+
+# 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/opensuse150/bootstrap.sh b/bootstrap/generated-dists/opensuse150/bootstrap.sh
new file mode 100755
index 00000000000..06f3ca67fed
--- /dev/null
+++ b/bootstrap/generated-dists/opensuse150/bootstrap.sh
@@ -0,0 +1,104 @@
+#!/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 \
+ acl \
+ attr \
+ autoconf \
+ avahi-devel \
+ bind-utils \
+ binutils \
+ bison \
+ cups-devel \
+ curl \
+ dbus-1-devel \
+ docbook-dtds \
+ docbook-xsl-stylesheets \
+ gawk \
+ gcc \
+ gdb \
+ git \
+ glib2-devel \
+ glibc-locale \
+ gnutls-devel \
+ gpgme-devel \
+ gzip \
+ hostname \
+ htop \
+ keyutils-devel \
+ krb5-devel \
+ krb5-server \
+ libacl-devel \
+ libaio-devel \
+ libarchive-devel \
+ libattr-devel \
+ libblkid-devel \
+ libbsd-devel \
+ libcap-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-Markdown \
+ python3-devel \
+ python3-dnspython \
+ python3-gpg \
+ python3-pycrypto \
+ readline-devel \
+ rng-tools \
+ rpcgen \
+ rsync \
+ sed \
+ sudo \
+ systemd-devel \
+ tar \
+ tree \
+ which \
+ yum-utils \
+ zlib-devel \
+ system-user-nobody
+
+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/opensuse150/locale.sh b/bootstrap/generated-dists/opensuse150/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/opensuse150/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/opensuse150/packages.yml b/bootstrap/generated-dists/opensuse150/packages.yml
new file mode 100644
index 00000000000..415384721c3
--- /dev/null
+++ b/bootstrap/generated-dists/opensuse150/packages.yml
@@ -0,0 +1,87 @@
+---
+packages:
+ - acl
+ - attr
+ - autoconf
+ - avahi-devel
+ - bind-utils
+ - binutils
+ - bison
+ - cups-devel
+ - curl
+ - dbus-1-devel
+ - docbook-dtds
+ - docbook-xsl-stylesheets
+ - gawk
+ - gcc
+ - gdb
+ - git
+ - glib2-devel
+ - glibc-locale
+ - gnutls-devel
+ - gpgme-devel
+ - gzip
+ - hostname
+ - htop
+ - keyutils-devel
+ - krb5-devel
+ - krb5-server
+ - libacl-devel
+ - libaio-devel
+ - libarchive-devel
+ - libattr-devel
+ - libblkid-devel
+ - libbsd-devel
+ - libcap-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-Markdown
+ - python3-devel
+ - python3-dnspython
+ - python3-gpg
+ - python3-pycrypto
+ - readline-devel
+ - rng-tools
+ - rpcgen
+ - rsync
+ - sed
+ - sudo
+ - systemd-devel
+ - tar
+ - tree
+ - which
+ - yum-utils
+ - zlib-devel \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1404/Dockerfile b/bootstrap/generated-dists/ubuntu1404/Dockerfile
new file mode 100644
index 00000000000..4cbb2d3902c
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1404/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM ubuntu:14.04
+
+# 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/dists/ubuntu1404/bootstrap.sh b/bootstrap/generated-dists/ubuntu1404/bootstrap.sh
index b80055eec5e..2c2b85402f0 100644..100755
--- a/bootstrap/dists/ubuntu1404/bootstrap.sh
+++ b/bootstrap/generated-dists/ubuntu1404/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,20 +28,28 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
language-pack-en \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
@@ -44,51 +57,51 @@ apt-get -y install \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind8-dev \
lmdb-utils/trusty-backports \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpgme \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
python3-gpgme \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1404/locale.sh b/bootstrap/generated-dists/ubuntu1404/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1404/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/dists/ubuntu1404/packages.yml b/bootstrap/generated-dists/ubuntu1404/packages.yml
index b5a042ce0e3..c526596bd47 100644
--- a/bootstrap/dists/ubuntu1404/packages.yml
+++ b/bootstrap/generated-dists/ubuntu1404/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,20 +17,28 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- language-pack-en
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
@@ -39,32 +46,47 @@ packages:
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind8-dev
- lmdb-utils/trusty-backports
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpgme
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
- python3-gpgme
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1604/Dockerfile b/bootstrap/generated-dists/ubuntu1604/Dockerfile
new file mode 100644
index 00000000000..93001fcdcca
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1604/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM ubuntu:16.04
+
+# 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/dists/ubuntu1604/bootstrap.sh b/bootstrap/generated-dists/ubuntu1604/bootstrap.sh
index 5e3a4b8a6f7..441c78ca13b 100644..100755
--- a/bootstrap/dists/ubuntu1604/bootstrap.sh
+++ b/bootstrap/generated-dists/ubuntu1604/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,20 +28,28 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
language-pack-en \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls28-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
@@ -44,52 +57,52 @@ apt-get -y install \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
libsystemd-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind-dev \
lmdb-utils \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpgme \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
python3-gpgme \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1604/locale.sh b/bootstrap/generated-dists/ubuntu1604/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1604/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/dists/ubuntu1604/packages.yml b/bootstrap/generated-dists/ubuntu1604/packages.yml
index c1f707563ac..eedc0a01e2b 100644
--- a/bootstrap/dists/ubuntu1604/packages.yml
+++ b/bootstrap/generated-dists/ubuntu1604/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,20 +17,28 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- language-pack-en
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls28-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
@@ -39,33 +46,48 @@ packages:
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- libsystemd-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind-dev
- lmdb-utils
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpgme
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
- python3-gpgme
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1804/Dockerfile b/bootstrap/generated-dists/ubuntu1804/Dockerfile
new file mode 100644
index 00000000000..21686560ad9
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1804/Dockerfile
@@ -0,0 +1,27 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM ubuntu:18.04
+
+# 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/dists/ubuntu1804/bootstrap.sh b/bootstrap/generated-dists/ubuntu1804/bootstrap.sh
index c355d7873b3..8bed53400a4 100644..100755
--- a/bootstrap/dists/ubuntu1804/bootstrap.sh
+++ b/bootstrap/generated-dists/ubuntu1804/bootstrap.sh
@@ -1,19 +1,24 @@
#!/bin/bash
+
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
+ acl \
apt-utils \
attr \
autoconf \
- bind9 \
bind9utils \
binutils \
bison \
build-essential \
- ccache \
curl \
debhelper \
dnsutils \
@@ -23,20 +28,28 @@ apt-get -y install \
gcc \
gdb \
git \
- krb5-kdc \
+ gzip \
+ hostname \
+ htop \
+ krb5-config \
+ krb5-user \
language-pack-en \
libacl1-dev \
libaio-dev \
libarchive-dev \
libattr1-dev \
+ libavahi-common-dev \
libblkid-dev \
libbsd-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
+ libglib2.0-dev \
libgnutls28-dev \
libgpgme11-dev \
+ libicu-dev \
libjansson-dev \
+ libjs-jquery \
libjson-perl \
libkrb5-dev \
libldap2-dev \
@@ -44,52 +57,52 @@ apt-get -y install \
libncurses5-dev \
libpam0g-dev \
libparse-yapp-perl \
+ libpcap-dev \
libpopt-dev \
libreadline-dev \
libsystemd-dev \
- libxml2-dev \
+ libtasn1-bin \
+ libtasn1-dev \
+ libunwind-dev \
lmdb-utils \
locales \
- locate \
- lsb-core \
+ lsb-release \
make \
+ mawk \
nettle-dev \
+ patch \
perl \
perl-modules \
pkg-config \
procps \
psmisc \
python-crypto \
+ python-dbg \
python-dev \
python-dnspython \
python-gpg \
+ python-iso8601 \
python-markdown \
+ python-pexpect \
python3-crypto \
+ python3-dbg \
python3-dev \
python3-dnspython \
python3-gpg \
+ python3-iso8601 \
python3-markdown \
+ python3-matplotlib \
+ python3-pexpect \
+ rng-tools \
+ rsync \
+ sed \
sudo \
- vim \
- wget \
+ tar \
+ tree \
+ uuid-dev \
xsltproc \
zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
-apt-get -y clean
-
-# uncomment locale
-# this file doesn't exist on ubuntu1404 even locales installed
-if [ -f /etc/locale.gen ]; then
- sed -i '/^#\s*en_US.UTF-8 UTF-8/s/^#\s*//' /etc/locale.gen
-fi
-
-locale-gen
-
-# update /etc/default/locale
-update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
-
-# set both for safe
-echo LC_ALL="en_US.UTF-8" >> /etc/environment
-echo LANG="en_US.UTF-8" >> /etc/environment \ No newline at end of file
+apt-get -y clean \ No newline at end of file
diff --git a/bootstrap/generated-dists/ubuntu1804/locale.sh b/bootstrap/generated-dists/ubuntu1804/locale.sh
new file mode 100755
index 00000000000..cc64e180483
--- /dev/null
+++ b/bootstrap/generated-dists/ubuntu1804/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/dists/ubuntu1804/packages.yml b/bootstrap/generated-dists/ubuntu1804/packages.yml
index 6ac4658690c..0f4332688bf 100644
--- a/bootstrap/dists/ubuntu1804/packages.yml
+++ b/bootstrap/generated-dists/ubuntu1804/packages.yml
@@ -1,14 +1,13 @@
---
packages:
+ - acl
- apt-utils
- attr
- autoconf
- - bind9
- bind9utils
- binutils
- bison
- build-essential
- - ccache
- curl
- debhelper
- dnsutils
@@ -18,20 +17,28 @@ packages:
- gcc
- gdb
- git
- - krb5-kdc
+ - gzip
+ - hostname
+ - htop
+ - krb5-config
+ - krb5-user
- language-pack-en
- libacl1-dev
- libaio-dev
- libarchive-dev
- libattr1-dev
+ - libavahi-common-dev
- libblkid-dev
- libbsd-dev
- libcap-dev
- libcups2-dev
- libdbus-1-dev
+ - libglib2.0-dev
- libgnutls28-dev
- libgpgme11-dev
+ - libicu-dev
- libjansson-dev
+ - libjs-jquery
- libjson-perl
- libkrb5-dev
- libldap2-dev
@@ -39,33 +46,48 @@ packages:
- libncurses5-dev
- libpam0g-dev
- libparse-yapp-perl
+ - libpcap-dev
- libpopt-dev
- libreadline-dev
- libsystemd-dev
- - libxml2-dev
+ - libtasn1-bin
+ - libtasn1-dev
+ - libunwind-dev
- lmdb-utils
- locales
- - locate
- - lsb-core
+ - lsb-release
- make
+ - mawk
- nettle-dev
+ - patch
- perl
- perl-modules
- pkg-config
- procps
- psmisc
- python-crypto
+ - python-dbg
- python-dev
- python-dnspython
- python-gpg
+ - python-iso8601
- python-markdown
+ - python-pexpect
- python3-crypto
+ - python3-dbg
- python3-dev
- python3-dnspython
- python3-gpg
+ - python3-iso8601
- python3-markdown
+ - python3-matplotlib
+ - python3-pexpect
+ - rng-tools
+ - rsync
+ - sed
- sudo
- - vim
- - wget
+ - tar
+ - tree
+ - uuid-dev
- xsltproc
- zlib1g-dev \ No newline at end of file
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
new file mode 100644
index 00000000000..dad5a55516e
--- /dev/null
+++ b/bootstrap/sha1sum.txt
@@ -0,0 +1 @@
+8606e89b0ce6a916fa881549a6cebf6eed528157