bootstrap/dists: add rendered files for dists
authorJoe Guo <joeg@catalyst.net.nz>
Tue, 12 Feb 2019 00:01:17 +0000 (13:01 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 21 Feb 2019 03:09:20 +0000 (04:09 +0100)
Add these into repo, then we can link it to samba wiki,
for people to get a latest and precise pkg list

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
31 files changed:
bootstrap/dists/Vagrantfile [new file with mode: 0644]
bootstrap/dists/centos6/Dockerfile [new file with mode: 0644]
bootstrap/dists/centos6/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/centos6/packages.yml [new file with mode: 0644]
bootstrap/dists/centos7/Dockerfile [new file with mode: 0644]
bootstrap/dists/centos7/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/centos7/packages.yml [new file with mode: 0644]
bootstrap/dists/debian7/Dockerfile [new file with mode: 0644]
bootstrap/dists/debian7/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/debian7/packages.yml [new file with mode: 0644]
bootstrap/dists/debian8/Dockerfile [new file with mode: 0644]
bootstrap/dists/debian8/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/debian8/packages.yml [new file with mode: 0644]
bootstrap/dists/debian9/Dockerfile [new file with mode: 0644]
bootstrap/dists/debian9/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/debian9/packages.yml [new file with mode: 0644]
bootstrap/dists/fedora28/Dockerfile [new file with mode: 0644]
bootstrap/dists/fedora28/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/fedora28/packages.yml [new file with mode: 0644]
bootstrap/dists/fedora29/Dockerfile [new file with mode: 0644]
bootstrap/dists/fedora29/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/fedora29/packages.yml [new file with mode: 0644]
bootstrap/dists/ubuntu1404/Dockerfile [new file with mode: 0644]
bootstrap/dists/ubuntu1404/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/ubuntu1404/packages.yml [new file with mode: 0644]
bootstrap/dists/ubuntu1604/Dockerfile [new file with mode: 0644]
bootstrap/dists/ubuntu1604/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/ubuntu1604/packages.yml [new file with mode: 0644]
bootstrap/dists/ubuntu1804/Dockerfile [new file with mode: 0644]
bootstrap/dists/ubuntu1804/bootstrap.sh [new file with mode: 0644]
bootstrap/dists/ubuntu1804/packages.yml [new file with mode: 0644]

diff --git a/bootstrap/dists/Vagrantfile b/bootstrap/dists/Vagrantfile
new file mode 100644 (file)
index 0000000..9281efa
--- /dev/null
@@ -0,0 +1,67 @@
+
+Vagrant.configure("2") do |config|
+    config.ssh.insert_key = false
+
+
+    config.vm.define "centos6" do |v|
+        v.vm.box = "centos/6"
+        v.vm.hostname = "centos6"
+        v.vm.provision :shell, path: "centos6/bootstrap.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"
+    end
+
+    config.vm.define "debian7" do |v|
+        v.vm.box = "debian/wheezy64"
+        v.vm.hostname = "debian7"
+        v.vm.provision :shell, path: "debian7/bootstrap.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"
+    end
+
+    config.vm.define "debian9" do |v|
+        v.vm.box = "debian/stretch64"
+        v.vm.hostname = "debian9"
+        v.vm.provision :shell, path: "debian9/bootstrap.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"
+    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"
+    end
+
+    config.vm.define "ubuntu1404" do |v|
+        v.vm.box = "ubuntu/trusty64"
+        v.vm.hostname = "ubuntu1404"
+        v.vm.provision :shell, path: "ubuntu1404/bootstrap.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"
+    end
+
+    config.vm.define "ubuntu1804" do |v|
+        v.vm.box = "ubuntu/bionic64"
+        v.vm.hostname = "ubuntu1804"
+        v.vm.provision :shell, path: "ubuntu1804/bootstrap.sh"
+    end
+
+
+end
diff --git a/bootstrap/dists/centos6/Dockerfile b/bootstrap/dists/centos6/Dockerfile
new file mode 100644 (file)
index 0000000..bbd2443
--- /dev/null
@@ -0,0 +1,18 @@
+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/centos6/bootstrap.sh b/bootstrap/dists/centos6/bootstrap.sh
new file mode 100644 (file)
index 0000000..8e46b41
--- /dev/null
@@ -0,0 +1,91 @@
+#!/bin/bash
+set -xueo pipefail
+
+yum -y -q update
+yum -y -q install epel-release
+yum -y -q update
+
+yum -y -q --verbose install \
+    "@Development Tools" \
+    attr \
+    autoconf \
+    bind \
+    bind-utils \
+    binutils \
+    bison \
+    ccache \
+    cups-devel \
+    curl \
+    dbus-devel \
+    docbook-dtds \
+    docbook-style-xsl \
+    gcc \
+    gdb \
+    git \
+    glibc-common \
+    gnutls-devel \
+    gpgme-devel \
+    jansson-devel \
+    keyutils-libs-devel \
+    krb5-devel \
+    krb5-workstation \
+    libacl-devel \
+    libaio-devel \
+    libarchive-devel \
+    libattr-devel \
+    libblkid-devel \
+    libbsd-devel \
+    libnsl2-devel \
+    libpcap-devel \
+    libsemanage-python \
+    libtirpc-devel \
+    libxml2-devel \
+    libxslt \
+    lmdb-devel \
+    lmdb-devel \
+    make \
+    mlocate \
+    ncurses-devel \
+    nettle-devel \
+    openldap-devel \
+    pam-devel \
+    perl-ExtUtils-MakeMaker \
+    perl-Parse-Yapp \
+    perl-Test-Base \
+    perl-core \
+    pkgconfig \
+    policycoreutils-python \
+    popt-devel \
+    procps \
+    psmisc \
+    pygpgme \
+    python-crypto \
+    python-devel \
+    python-dns \
+    python-markdown \
+    python3-crypto \
+    python3-dns \
+    python3-markdown \
+    python34-devel \
+    readline-devel \
+    redhat-lsb \
+    rpcgen \
+    sudo \
+    systemd-devel \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/centos6/packages.yml b/bootstrap/dists/centos6/packages.yml
new file mode 100644 (file)
index 0000000..bd62d1d
--- /dev/null
@@ -0,0 +1,72 @@
+---
+packages:
+  - "@Development Tools"
+  - attr
+  - autoconf
+  - bind
+  - bind-utils
+  - binutils
+  - bison
+  - ccache
+  - cups-devel
+  - curl
+  - dbus-devel
+  - docbook-dtds
+  - docbook-style-xsl
+  - gcc
+  - gdb
+  - git
+  - glibc-common
+  - gnutls-devel
+  - gpgme-devel
+  - jansson-devel
+  - keyutils-libs-devel
+  - krb5-devel
+  - krb5-workstation
+  - libacl-devel
+  - libaio-devel
+  - libarchive-devel
+  - libattr-devel
+  - libblkid-devel
+  - libbsd-devel
+  - libnsl2-devel
+  - libpcap-devel
+  - libsemanage-python
+  - libtirpc-devel
+  - libxml2-devel
+  - libxslt
+  - lmdb-devel
+  - lmdb-devel
+  - make
+  - mlocate
+  - ncurses-devel
+  - nettle-devel
+  - openldap-devel
+  - pam-devel
+  - perl-ExtUtils-MakeMaker
+  - perl-Parse-Yapp
+  - perl-Test-Base
+  - perl-core
+  - pkgconfig
+  - policycoreutils-python
+  - popt-devel
+  - procps
+  - psmisc
+  - pygpgme
+  - python-crypto
+  - python-devel
+  - python-dns
+  - python-markdown
+  - python3-crypto
+  - python3-dns
+  - python3-markdown
+  - python34-devel
+  - readline-devel
+  - redhat-lsb
+  - rpcgen
+  - sudo
+  - systemd-devel
+  - vim
+  - wget
+  - yum-utils
+  - zlib-devel
\ No newline at end of file
diff --git a/bootstrap/dists/centos7/Dockerfile b/bootstrap/dists/centos7/Dockerfile
new file mode 100644 (file)
index 0000000..004d1b9
--- /dev/null
@@ -0,0 +1,18 @@
+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/centos7/bootstrap.sh b/bootstrap/dists/centos7/bootstrap.sh
new file mode 100644 (file)
index 0000000..f9af0bd
--- /dev/null
@@ -0,0 +1,91 @@
+#!/bin/bash
+set -xueo pipefail
+
+yum -y -q update
+yum -y -q install epel-release
+yum -y -q update
+
+yum -y -q --verbose install \
+    "@Development Tools" \
+    attr \
+    autoconf \
+    bind \
+    bind-utils \
+    binutils \
+    bison \
+    ccache \
+    cups-devel \
+    curl \
+    dbus-devel \
+    docbook-dtds \
+    docbook-style-xsl \
+    gcc \
+    gdb \
+    git \
+    glibc-common \
+    gnutls-devel \
+    gpgme-devel \
+    jansson-devel \
+    keyutils-libs-devel \
+    krb5-devel \
+    krb5-workstation \
+    libacl-devel \
+    libaio-devel \
+    libarchive-devel \
+    libattr-devel \
+    libblkid-devel \
+    libbsd-devel \
+    libnsl2-devel \
+    libpcap-devel \
+    libsemanage-python \
+    libtirpc-devel \
+    libxml2-devel \
+    libxslt \
+    lmdb-devel \
+    lmdb-devel \
+    make \
+    mlocate \
+    ncurses-devel \
+    nettle-devel \
+    openldap-devel \
+    pam-devel \
+    perl-ExtUtils-MakeMaker \
+    perl-Parse-Yapp \
+    perl-Test-Base \
+    perl-core \
+    pkgconfig \
+    policycoreutils-python \
+    popt-devel \
+    procps-ng \
+    psmisc \
+    pygpgme \
+    python-crypto \
+    python-devel \
+    python-dns \
+    python-markdown \
+    python3-crypto \
+    python3-dns \
+    python3-markdown \
+    python34-devel \
+    readline-devel \
+    redhat-lsb \
+    rpcgen \
+    sudo \
+    systemd-devel \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/centos7/packages.yml b/bootstrap/dists/centos7/packages.yml
new file mode 100644 (file)
index 0000000..a0c5d8e
--- /dev/null
@@ -0,0 +1,72 @@
+---
+packages:
+  - "@Development Tools"
+  - attr
+  - autoconf
+  - bind
+  - bind-utils
+  - binutils
+  - bison
+  - ccache
+  - cups-devel
+  - curl
+  - dbus-devel
+  - docbook-dtds
+  - docbook-style-xsl
+  - gcc
+  - gdb
+  - git
+  - glibc-common
+  - gnutls-devel
+  - gpgme-devel
+  - jansson-devel
+  - keyutils-libs-devel
+  - krb5-devel
+  - krb5-workstation
+  - libacl-devel
+  - libaio-devel
+  - libarchive-devel
+  - libattr-devel
+  - libblkid-devel
+  - libbsd-devel
+  - libnsl2-devel
+  - libpcap-devel
+  - libsemanage-python
+  - libtirpc-devel
+  - libxml2-devel
+  - libxslt
+  - lmdb-devel
+  - lmdb-devel
+  - make
+  - mlocate
+  - ncurses-devel
+  - nettle-devel
+  - openldap-devel
+  - pam-devel
+  - perl-ExtUtils-MakeMaker
+  - perl-Parse-Yapp
+  - perl-Test-Base
+  - perl-core
+  - pkgconfig
+  - policycoreutils-python
+  - popt-devel
+  - procps-ng
+  - psmisc
+  - pygpgme
+  - python-crypto
+  - python-devel
+  - python-dns
+  - python-markdown
+  - python3-crypto
+  - python3-dns
+  - python3-markdown
+  - python34-devel
+  - readline-devel
+  - redhat-lsb
+  - rpcgen
+  - sudo
+  - systemd-devel
+  - vim
+  - wget
+  - yum-utils
+  - zlib-devel
\ No newline at end of file
diff --git a/bootstrap/dists/debian7/Dockerfile b/bootstrap/dists/debian7/Dockerfile
new file mode 100644 (file)
index 0000000..f369ada
--- /dev/null
@@ -0,0 +1,18 @@
+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/debian7/bootstrap.sh b/bootstrap/dists/debian7/bootstrap.sh
new file mode 100644 (file)
index 0000000..88c076e
--- /dev/null
@@ -0,0 +1,90 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libxml2-dev \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpgme \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/debian7/packages.yml b/bootstrap/dists/debian7/packages.yml
new file mode 100644 (file)
index 0000000..6a025c7
--- /dev/null
@@ -0,0 +1,66 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libxml2-dev
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpgme
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file
diff --git a/bootstrap/dists/debian8/Dockerfile b/bootstrap/dists/debian8/Dockerfile
new file mode 100644 (file)
index 0000000..3194811
--- /dev/null
@@ -0,0 +1,18 @@
+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/debian8/bootstrap.sh b/bootstrap/dists/debian8/bootstrap.sh
new file mode 100644 (file)
index 0000000..3bf9a6b
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls28-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    liblmdb-dev \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libsystemd-dev \
+    libxml2-dev \
+    lmdb-utils \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpgme \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-gpgme \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/debian8/packages.yml b/bootstrap/dists/debian8/packages.yml
new file mode 100644 (file)
index 0000000..7158835
--- /dev/null
@@ -0,0 +1,70 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls28-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - liblmdb-dev
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libsystemd-dev
+  - libxml2-dev
+  - lmdb-utils
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpgme
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-gpgme
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file
diff --git a/bootstrap/dists/debian9/Dockerfile b/bootstrap/dists/debian9/Dockerfile
new file mode 100644 (file)
index 0000000..0615b30
--- /dev/null
@@ -0,0 +1,18 @@
+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/debian9/bootstrap.sh b/bootstrap/dists/debian9/bootstrap.sh
new file mode 100644 (file)
index 0000000..4ecad38
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls28-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    liblmdb-dev \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libsystemd-dev \
+    libxml2-dev \
+    lmdb-utils \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpg \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-gpg \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/debian9/packages.yml b/bootstrap/dists/debian9/packages.yml
new file mode 100644 (file)
index 0000000..8ef21ba
--- /dev/null
@@ -0,0 +1,70 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls28-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - liblmdb-dev
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libsystemd-dev
+  - libxml2-dev
+  - lmdb-utils
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpg
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-gpg
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file
diff --git a/bootstrap/dists/fedora28/Dockerfile b/bootstrap/dists/fedora28/Dockerfile
new file mode 100644 (file)
index 0000000..fe7f228
--- /dev/null
@@ -0,0 +1,18 @@
+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/fedora28/bootstrap.sh b/bootstrap/dists/fedora28/bootstrap.sh
new file mode 100644 (file)
index 0000000..8500cb5
--- /dev/null
@@ -0,0 +1,92 @@
+#!/bin/bash
+set -xueo pipefail
+
+dnf -y -q update
+
+dnf -y -q --verbose install \
+    @development-tools \
+    attr \
+    autoconf \
+    bind \
+    bind-utils \
+    binutils \
+    bison \
+    ccache \
+    cups-devel \
+    curl \
+    dbus-devel \
+    docbook-dtds \
+    docbook-style-xsl \
+    gcc \
+    gdb \
+    git \
+    glibc-common \
+    glibc-langpack-en \
+    glibc-locale-source \
+    gnutls-devel \
+    gpgme-devel \
+    jansson-devel \
+    keyutils-libs-devel \
+    krb5-devel \
+    krb5-workstation \
+    libacl-devel \
+    libaio-devel \
+    libarchive-devel \
+    libattr-devel \
+    libblkid-devel \
+    libbsd-devel \
+    libnsl2-devel \
+    libpcap-devel \
+    libsemanage-python \
+    libtirpc-devel \
+    libxml2-devel \
+    libxslt \
+    lmdb-devel \
+    lmdb-devel \
+    make \
+    mlocate \
+    ncurses-devel \
+    nettle-devel \
+    openldap-devel \
+    pam-devel \
+    perl \
+    perl-ExtUtils-MakeMaker \
+    perl-Parse-Yapp \
+    perl-Test-Base \
+    pkgconfig \
+    policycoreutils-python \
+    popt-devel \
+    procps-ng \
+    psmisc \
+    python-crypto \
+    python-devel \
+    python-dns \
+    python-markdown \
+    python2-gpg \
+    python3-crypto \
+    python3-devel \
+    python3-dns \
+    python3-gpg \
+    python3-markdown \
+    readline-devel \
+    redhat-lsb \
+    rpcgen \
+    sudo \
+    systemd-devel \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/fedora28/packages.yml b/bootstrap/dists/fedora28/packages.yml
new file mode 100644 (file)
index 0000000..241d199
--- /dev/null
@@ -0,0 +1,75 @@
+---
+packages:
+  - @development-tools
+  - attr
+  - autoconf
+  - bind
+  - bind-utils
+  - binutils
+  - bison
+  - ccache
+  - cups-devel
+  - curl
+  - dbus-devel
+  - docbook-dtds
+  - docbook-style-xsl
+  - gcc
+  - gdb
+  - git
+  - glibc-common
+  - glibc-langpack-en
+  - glibc-locale-source
+  - gnutls-devel
+  - gpgme-devel
+  - jansson-devel
+  - keyutils-libs-devel
+  - krb5-devel
+  - krb5-workstation
+  - libacl-devel
+  - libaio-devel
+  - libarchive-devel
+  - libattr-devel
+  - libblkid-devel
+  - libbsd-devel
+  - libnsl2-devel
+  - libpcap-devel
+  - libsemanage-python
+  - libtirpc-devel
+  - libxml2-devel
+  - libxslt
+  - lmdb-devel
+  - lmdb-devel
+  - make
+  - mlocate
+  - ncurses-devel
+  - nettle-devel
+  - openldap-devel
+  - pam-devel
+  - perl
+  - perl-ExtUtils-MakeMaker
+  - perl-Parse-Yapp
+  - perl-Test-Base
+  - pkgconfig
+  - policycoreutils-python
+  - popt-devel
+  - procps-ng
+  - psmisc
+  - python-crypto
+  - python-devel
+  - python-dns
+  - python-markdown
+  - python2-gpg
+  - python3-crypto
+  - python3-devel
+  - python3-dns
+  - python3-gpg
+  - python3-markdown
+  - readline-devel
+  - redhat-lsb
+  - rpcgen
+  - sudo
+  - systemd-devel
+  - vim
+  - wget
+  - yum-utils
+  - zlib-devel
\ No newline at end of file
diff --git a/bootstrap/dists/fedora29/Dockerfile b/bootstrap/dists/fedora29/Dockerfile
new file mode 100644 (file)
index 0000000..55db771
--- /dev/null
@@ -0,0 +1,18 @@
+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/fedora29/bootstrap.sh b/bootstrap/dists/fedora29/bootstrap.sh
new file mode 100644 (file)
index 0000000..8500cb5
--- /dev/null
@@ -0,0 +1,92 @@
+#!/bin/bash
+set -xueo pipefail
+
+dnf -y -q update
+
+dnf -y -q --verbose install \
+    @development-tools \
+    attr \
+    autoconf \
+    bind \
+    bind-utils \
+    binutils \
+    bison \
+    ccache \
+    cups-devel \
+    curl \
+    dbus-devel \
+    docbook-dtds \
+    docbook-style-xsl \
+    gcc \
+    gdb \
+    git \
+    glibc-common \
+    glibc-langpack-en \
+    glibc-locale-source \
+    gnutls-devel \
+    gpgme-devel \
+    jansson-devel \
+    keyutils-libs-devel \
+    krb5-devel \
+    krb5-workstation \
+    libacl-devel \
+    libaio-devel \
+    libarchive-devel \
+    libattr-devel \
+    libblkid-devel \
+    libbsd-devel \
+    libnsl2-devel \
+    libpcap-devel \
+    libsemanage-python \
+    libtirpc-devel \
+    libxml2-devel \
+    libxslt \
+    lmdb-devel \
+    lmdb-devel \
+    make \
+    mlocate \
+    ncurses-devel \
+    nettle-devel \
+    openldap-devel \
+    pam-devel \
+    perl \
+    perl-ExtUtils-MakeMaker \
+    perl-Parse-Yapp \
+    perl-Test-Base \
+    pkgconfig \
+    policycoreutils-python \
+    popt-devel \
+    procps-ng \
+    psmisc \
+    python-crypto \
+    python-devel \
+    python-dns \
+    python-markdown \
+    python2-gpg \
+    python3-crypto \
+    python3-devel \
+    python3-dns \
+    python3-gpg \
+    python3-markdown \
+    readline-devel \
+    redhat-lsb \
+    rpcgen \
+    sudo \
+    systemd-devel \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/fedora29/packages.yml b/bootstrap/dists/fedora29/packages.yml
new file mode 100644 (file)
index 0000000..241d199
--- /dev/null
@@ -0,0 +1,75 @@
+---
+packages:
+  - @development-tools
+  - attr
+  - autoconf
+  - bind
+  - bind-utils
+  - binutils
+  - bison
+  - ccache
+  - cups-devel
+  - curl
+  - dbus-devel
+  - docbook-dtds
+  - docbook-style-xsl
+  - gcc
+  - gdb
+  - git
+  - glibc-common
+  - glibc-langpack-en
+  - glibc-locale-source
+  - gnutls-devel
+  - gpgme-devel
+  - jansson-devel
+  - keyutils-libs-devel
+  - krb5-devel
+  - krb5-workstation
+  - libacl-devel
+  - libaio-devel
+  - libarchive-devel
+  - libattr-devel
+  - libblkid-devel
+  - libbsd-devel
+  - libnsl2-devel
+  - libpcap-devel
+  - libsemanage-python
+  - libtirpc-devel
+  - libxml2-devel
+  - libxslt
+  - lmdb-devel
+  - lmdb-devel
+  - make
+  - mlocate
+  - ncurses-devel
+  - nettle-devel
+  - openldap-devel
+  - pam-devel
+  - perl
+  - perl-ExtUtils-MakeMaker
+  - perl-Parse-Yapp
+  - perl-Test-Base
+  - pkgconfig
+  - policycoreutils-python
+  - popt-devel
+  - procps-ng
+  - psmisc
+  - python-crypto
+  - python-devel
+  - python-dns
+  - python-markdown
+  - python2-gpg
+  - python3-crypto
+  - python3-devel
+  - python3-dns
+  - python3-gpg
+  - python3-markdown
+  - readline-devel
+  - redhat-lsb
+  - rpcgen
+  - sudo
+  - systemd-devel
+  - vim
+  - wget
+  - yum-utils
+  - zlib-devel
\ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1404/Dockerfile b/bootstrap/dists/ubuntu1404/Dockerfile
new file mode 100644 (file)
index 0000000..40e59b1
--- /dev/null
@@ -0,0 +1,18 @@
+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/ubuntu1404/bootstrap.sh b/bootstrap/dists/ubuntu1404/bootstrap.sh
new file mode 100644 (file)
index 0000000..b80055e
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    language-pack-en \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    liblmdb-dev/trusty-backports \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libxml2-dev \
+    lmdb-utils/trusty-backports \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpgme \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-gpgme \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/ubuntu1404/packages.yml b/bootstrap/dists/ubuntu1404/packages.yml
new file mode 100644 (file)
index 0000000..b5a042c
--- /dev/null
@@ -0,0 +1,70 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - language-pack-en
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - liblmdb-dev/trusty-backports
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libxml2-dev
+  - lmdb-utils/trusty-backports
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpgme
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-gpgme
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1604/Dockerfile b/bootstrap/dists/ubuntu1604/Dockerfile
new file mode 100644 (file)
index 0000000..772b630
--- /dev/null
@@ -0,0 +1,18 @@
+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/ubuntu1604/bootstrap.sh b/bootstrap/dists/ubuntu1604/bootstrap.sh
new file mode 100644 (file)
index 0000000..5e3a4b8
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    language-pack-en \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls28-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    liblmdb-dev \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libsystemd-dev \
+    libxml2-dev \
+    lmdb-utils \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpgme \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-gpgme \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/ubuntu1604/packages.yml b/bootstrap/dists/ubuntu1604/packages.yml
new file mode 100644 (file)
index 0000000..c1f7075
--- /dev/null
@@ -0,0 +1,71 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - language-pack-en
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls28-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - liblmdb-dev
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libsystemd-dev
+  - libxml2-dev
+  - lmdb-utils
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpgme
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-gpgme
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file
diff --git a/bootstrap/dists/ubuntu1804/Dockerfile b/bootstrap/dists/ubuntu1804/Dockerfile
new file mode 100644 (file)
index 0000000..db517e1
--- /dev/null
@@ -0,0 +1,18 @@
+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/ubuntu1804/bootstrap.sh b/bootstrap/dists/ubuntu1804/bootstrap.sh
new file mode 100644 (file)
index 0000000..c355d78
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/bash
+set -xueo pipefail
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+
+apt-get -y install \
+    apt-utils \
+    attr \
+    autoconf \
+    bind9 \
+    bind9utils \
+    binutils \
+    bison \
+    build-essential \
+    ccache \
+    curl \
+    debhelper \
+    dnsutils \
+    docbook-xml \
+    docbook-xsl \
+    flex \
+    gcc \
+    gdb \
+    git \
+    krb5-kdc \
+    language-pack-en \
+    libacl1-dev \
+    libaio-dev \
+    libarchive-dev \
+    libattr1-dev \
+    libblkid-dev \
+    libbsd-dev \
+    libcap-dev \
+    libcups2-dev \
+    libdbus-1-dev \
+    libgnutls28-dev \
+    libgpgme11-dev \
+    libjansson-dev \
+    libjson-perl \
+    libkrb5-dev \
+    libldap2-dev \
+    liblmdb-dev \
+    libncurses5-dev \
+    libpam0g-dev \
+    libparse-yapp-perl \
+    libpopt-dev \
+    libreadline-dev \
+    libsystemd-dev \
+    libxml2-dev \
+    lmdb-utils \
+    locales \
+    locate \
+    lsb-core \
+    make \
+    nettle-dev \
+    perl \
+    perl-modules \
+    pkg-config \
+    procps \
+    psmisc \
+    python-crypto \
+    python-dev \
+    python-dnspython \
+    python-gpg \
+    python-markdown \
+    python3-crypto \
+    python3-dev \
+    python3-dnspython \
+    python3-gpg \
+    python3-markdown \
+    sudo \
+    vim \
+    wget \
+    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
diff --git a/bootstrap/dists/ubuntu1804/packages.yml b/bootstrap/dists/ubuntu1804/packages.yml
new file mode 100644 (file)
index 0000000..6ac4658
--- /dev/null
@@ -0,0 +1,71 @@
+---
+packages:
+  - apt-utils
+  - attr
+  - autoconf
+  - bind9
+  - bind9utils
+  - binutils
+  - bison
+  - build-essential
+  - ccache
+  - curl
+  - debhelper
+  - dnsutils
+  - docbook-xml
+  - docbook-xsl
+  - flex
+  - gcc
+  - gdb
+  - git
+  - krb5-kdc
+  - language-pack-en
+  - libacl1-dev
+  - libaio-dev
+  - libarchive-dev
+  - libattr1-dev
+  - libblkid-dev
+  - libbsd-dev
+  - libcap-dev
+  - libcups2-dev
+  - libdbus-1-dev
+  - libgnutls28-dev
+  - libgpgme11-dev
+  - libjansson-dev
+  - libjson-perl
+  - libkrb5-dev
+  - libldap2-dev
+  - liblmdb-dev
+  - libncurses5-dev
+  - libpam0g-dev
+  - libparse-yapp-perl
+  - libpopt-dev
+  - libreadline-dev
+  - libsystemd-dev
+  - libxml2-dev
+  - lmdb-utils
+  - locales
+  - locate
+  - lsb-core
+  - make
+  - nettle-dev
+  - perl
+  - perl-modules
+  - pkg-config
+  - procps
+  - psmisc
+  - python-crypto
+  - python-dev
+  - python-dnspython
+  - python-gpg
+  - python-markdown
+  - python3-crypto
+  - python3-dev
+  - python3-dnspython
+  - python3-gpg
+  - python3-markdown
+  - sudo
+  - vim
+  - wget
+  - xsltproc
+  - zlib1g-dev
\ No newline at end of file