From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- bootstrap/generated-dists/Vagrantfile | 98 ++++++++++++++++ bootstrap/generated-dists/centos7/Dockerfile | 29 +++++ bootstrap/generated-dists/centos7/bootstrap.sh | 120 ++++++++++++++++++++ bootstrap/generated-dists/centos7/locale.sh | 55 +++++++++ bootstrap/generated-dists/centos7/packages.yml | 100 ++++++++++++++++ bootstrap/generated-dists/centos8s/Dockerfile | 29 +++++ bootstrap/generated-dists/centos8s/bootstrap.sh | 125 ++++++++++++++++++++ bootstrap/generated-dists/centos8s/locale.sh | 55 +++++++++ bootstrap/generated-dists/centos8s/packages.yml | 105 +++++++++++++++++ .../generated-dists/debian11-32bit/Dockerfile | 29 +++++ .../generated-dists/debian11-32bit/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/debian11-32bit/locale.sh | 55 +++++++++ .../generated-dists/debian11-32bit/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/debian11/Dockerfile | 29 +++++ bootstrap/generated-dists/debian11/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/debian11/locale.sh | 55 +++++++++ bootstrap/generated-dists/debian11/packages.yml | 102 +++++++++++++++++ .../generated-dists/debian12-32bit/Dockerfile | 29 +++++ .../generated-dists/debian12-32bit/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/debian12-32bit/locale.sh | 55 +++++++++ .../generated-dists/debian12-32bit/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/debian12/Dockerfile | 29 +++++ bootstrap/generated-dists/debian12/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/debian12/locale.sh | 55 +++++++++ bootstrap/generated-dists/debian12/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/fedora39/Dockerfile | 29 +++++ bootstrap/generated-dists/fedora39/bootstrap.sh | 126 +++++++++++++++++++++ bootstrap/generated-dists/fedora39/locale.sh | 55 +++++++++ bootstrap/generated-dists/fedora39/packages.yml | 111 ++++++++++++++++++ bootstrap/generated-dists/opensuse155/Dockerfile | 29 +++++ bootstrap/generated-dists/opensuse155/bootstrap.sh | 119 +++++++++++++++++++ bootstrap/generated-dists/opensuse155/locale.sh | 55 +++++++++ bootstrap/generated-dists/opensuse155/packages.yml | 101 +++++++++++++++++ .../generated-dists/ubuntu1804-32bit/Dockerfile | 29 +++++ .../generated-dists/ubuntu1804-32bit/bootstrap.sh | 117 +++++++++++++++++++ .../generated-dists/ubuntu1804-32bit/locale.sh | 55 +++++++++ .../generated-dists/ubuntu1804-32bit/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/ubuntu1804/Dockerfile | 29 +++++ bootstrap/generated-dists/ubuntu1804/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/ubuntu1804/locale.sh | 55 +++++++++ bootstrap/generated-dists/ubuntu1804/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/ubuntu2004/Dockerfile | 29 +++++ bootstrap/generated-dists/ubuntu2004/bootstrap.sh | 117 +++++++++++++++++++ bootstrap/generated-dists/ubuntu2004/locale.sh | 55 +++++++++ bootstrap/generated-dists/ubuntu2004/packages.yml | 102 +++++++++++++++++ bootstrap/generated-dists/ubuntu2204/Dockerfile | 29 +++++ bootstrap/generated-dists/ubuntu2204/bootstrap.sh | 118 +++++++++++++++++++ bootstrap/generated-dists/ubuntu2204/locale.sh | 55 +++++++++ bootstrap/generated-dists/ubuntu2204/packages.yml | 103 +++++++++++++++++ 49 files changed, 3767 insertions(+) create mode 100644 bootstrap/generated-dists/Vagrantfile create mode 100644 bootstrap/generated-dists/centos7/Dockerfile create mode 100755 bootstrap/generated-dists/centos7/bootstrap.sh create mode 100755 bootstrap/generated-dists/centos7/locale.sh create mode 100644 bootstrap/generated-dists/centos7/packages.yml create mode 100644 bootstrap/generated-dists/centos8s/Dockerfile create mode 100755 bootstrap/generated-dists/centos8s/bootstrap.sh create mode 100755 bootstrap/generated-dists/centos8s/locale.sh create mode 100644 bootstrap/generated-dists/centos8s/packages.yml create mode 100644 bootstrap/generated-dists/debian11-32bit/Dockerfile create mode 100755 bootstrap/generated-dists/debian11-32bit/bootstrap.sh create mode 100755 bootstrap/generated-dists/debian11-32bit/locale.sh create mode 100644 bootstrap/generated-dists/debian11-32bit/packages.yml create mode 100644 bootstrap/generated-dists/debian11/Dockerfile create mode 100755 bootstrap/generated-dists/debian11/bootstrap.sh create mode 100755 bootstrap/generated-dists/debian11/locale.sh create mode 100644 bootstrap/generated-dists/debian11/packages.yml create mode 100644 bootstrap/generated-dists/debian12-32bit/Dockerfile create mode 100755 bootstrap/generated-dists/debian12-32bit/bootstrap.sh create mode 100755 bootstrap/generated-dists/debian12-32bit/locale.sh create mode 100644 bootstrap/generated-dists/debian12-32bit/packages.yml create mode 100644 bootstrap/generated-dists/debian12/Dockerfile create mode 100755 bootstrap/generated-dists/debian12/bootstrap.sh create mode 100755 bootstrap/generated-dists/debian12/locale.sh create mode 100644 bootstrap/generated-dists/debian12/packages.yml create mode 100644 bootstrap/generated-dists/fedora39/Dockerfile create mode 100755 bootstrap/generated-dists/fedora39/bootstrap.sh create mode 100755 bootstrap/generated-dists/fedora39/locale.sh create mode 100644 bootstrap/generated-dists/fedora39/packages.yml create mode 100644 bootstrap/generated-dists/opensuse155/Dockerfile create mode 100755 bootstrap/generated-dists/opensuse155/bootstrap.sh create mode 100755 bootstrap/generated-dists/opensuse155/locale.sh create mode 100644 bootstrap/generated-dists/opensuse155/packages.yml create mode 100644 bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile create mode 100755 bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh create mode 100755 bootstrap/generated-dists/ubuntu1804-32bit/locale.sh create mode 100644 bootstrap/generated-dists/ubuntu1804-32bit/packages.yml create mode 100644 bootstrap/generated-dists/ubuntu1804/Dockerfile create mode 100755 bootstrap/generated-dists/ubuntu1804/bootstrap.sh create mode 100755 bootstrap/generated-dists/ubuntu1804/locale.sh create mode 100644 bootstrap/generated-dists/ubuntu1804/packages.yml create mode 100644 bootstrap/generated-dists/ubuntu2004/Dockerfile create mode 100755 bootstrap/generated-dists/ubuntu2004/bootstrap.sh create mode 100755 bootstrap/generated-dists/ubuntu2004/locale.sh create mode 100644 bootstrap/generated-dists/ubuntu2004/packages.yml create mode 100644 bootstrap/generated-dists/ubuntu2204/Dockerfile create mode 100755 bootstrap/generated-dists/ubuntu2204/bootstrap.sh create mode 100755 bootstrap/generated-dists/ubuntu2204/locale.sh create mode 100644 bootstrap/generated-dists/ubuntu2204/packages.yml (limited to 'bootstrap/generated-dists') diff --git a/bootstrap/generated-dists/Vagrantfile b/bootstrap/generated-dists/Vagrantfile new file mode 100644 index 0000000..2c6468d --- /dev/null +++ b/bootstrap/generated-dists/Vagrantfile @@ -0,0 +1,98 @@ + + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + + +Vagrant.configure("2") do |config| + config.ssh.insert_key = false + + + 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 "centos8s" do |v| + v.vm.box = "centos/stream8" + v.vm.hostname = "centos8s" + v.vm.provision :shell, path: "centos8s/bootstrap.sh" + v.vm.provision :shell, path: "centos8s/locale.sh" + end + + config.vm.define "debian11" do |v| + v.vm.box = "debian/bullseye64" + v.vm.hostname = "debian11" + v.vm.provision :shell, path: "debian11/bootstrap.sh" + v.vm.provision :shell, path: "debian11/locale.sh" + end + + config.vm.define "debian11-32bit" do |v| + v.vm.box = "debian/bullseye32" + v.vm.hostname = "debian11-32bit" + v.vm.provision :shell, path: "debian11-32bit/bootstrap.sh" + v.vm.provision :shell, path: "debian11-32bit/locale.sh" + end + + config.vm.define "debian12" do |v| + v.vm.box = "debian/bookworm64" + v.vm.hostname = "debian12" + v.vm.provision :shell, path: "debian12/bootstrap.sh" + v.vm.provision :shell, path: "debian12/locale.sh" + end + + config.vm.define "debian12-32bit" do |v| + v.vm.box = "debian/bookworm32" + v.vm.hostname = "debian12-32bit" + v.vm.provision :shell, path: "debian12-32bit/bootstrap.sh" + v.vm.provision :shell, path: "debian12-32bit/locale.sh" + end + + config.vm.define "fedora39" do |v| + v.vm.box = "fedora/39-cloud-base" + v.vm.hostname = "fedora39" + v.vm.provision :shell, path: "fedora39/bootstrap.sh" + v.vm.provision :shell, path: "fedora39/locale.sh" + end + + config.vm.define "opensuse155" do |v| + v.vm.box = "opensuse/openSUSE-15.5-x86_64" + v.vm.hostname = "opensuse155" + v.vm.provision :shell, path: "opensuse155/bootstrap.sh" + v.vm.provision :shell, path: "opensuse155/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 + + config.vm.define "ubuntu1804-32bit" do |v| + v.vm.box = "ubuntu/bionic32" + v.vm.hostname = "ubuntu1804-32bit" + v.vm.provision :shell, path: "ubuntu1804-32bit/bootstrap.sh" + v.vm.provision :shell, path: "ubuntu1804-32bit/locale.sh" + end + + config.vm.define "ubuntu2004" do |v| + v.vm.box = "ubuntu/focal64" + v.vm.hostname = "ubuntu2004" + v.vm.provision :shell, path: "ubuntu2004/bootstrap.sh" + v.vm.provision :shell, path: "ubuntu2004/locale.sh" + end + + config.vm.define "ubuntu2204" do |v| + v.vm.box = "ubuntu/jammy64" + v.vm.hostname = "ubuntu2204" + v.vm.provision :shell, path: "ubuntu2204/bootstrap.sh" + v.vm.provision :shell, path: "ubuntu2204/locale.sh" + end + + +end diff --git a/bootstrap/generated-dists/centos7/Dockerfile b/bootstrap/generated-dists/centos7/Dockerfile new file mode 100644 index 0000000..a11c4db --- /dev/null +++ b/bootstrap/generated-dists/centos7/Dockerfile @@ -0,0 +1,29 @@ +# +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/centos7/bootstrap.sh b/bootstrap/generated-dists/centos7/bootstrap.sh new file mode 100755 index 0000000..fd86761 --- /dev/null +++ b/bootstrap/generated-dists/centos7/bootstrap.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +yum update -y +yum install -y epel-release +yum install -y yum-plugin-copr +yum copr enable -y sergiomb/SambaAD +yum update -y + +yum install -y \ + "@Development Tools" \ + acl \ + attr \ + autoconf \ + avahi-devel \ + bind-utils \ + binutils \ + bison \ + ccache \ + chrpath \ + compat-gnutls37-devel \ + compat-gnutls37-utils \ + crypto-policies-scripts \ + cups-devel \ + curl \ + dbus-devel \ + docbook-dtds \ + docbook-style-xsl \ + flex \ + gawk \ + gcc \ + gdb \ + git \ + glib2-devel \ + glibc-common \ + gpgme-devel \ + gzip \ + hostname \ + htop \ + jansson-devel \ + jq \ + keyutils-libs-devel \ + krb5-devel \ + krb5-server \ + krb5-workstation \ + lcov \ + libacl-devel \ + libarchive-devel \ + libattr-devel \ + libblkid-devel \ + libbsd-devel \ + libcap-devel \ + libicu-devel \ + libpcap-devel \ + libtasn1-devel \ + libtasn1-tools \ + libtirpc-devel \ + libunwind-devel \ + libuuid-devel \ + libxslt \ + lmdb \ + lmdb-devel \ + make \ + mingw64-gcc \ + ncurses-devel \ + openldap-devel \ + pam-devel \ + patch \ + perl-Archive-Tar \ + perl-ExtUtils-MakeMaker \ + perl-Parse-Yapp \ + perl-Test-Base \ + perl-core \ + perl-generators \ + perl-interpreter \ + pkgconfig \ + popt-devel \ + procps-ng \ + psmisc \ + python3-libsemanage \ + python3-policycoreutils \ + python36 \ + python36-cryptography \ + python36-devel \ + python36-dns \ + python36-gpg \ + python36-iso8601 \ + python36-markdown \ + python36-pyasn1 \ + python36-requests \ + python36-setproctitle \ + quota-devel \ + readline-devel \ + redhat-lsb \ + rng-tools \ + rpcgen \ + rsync \ + sed \ + sudo \ + systemd-devel \ + tar \ + tree \ + wget \ + which \ + xfsprogs-devel \ + xz \ + yum-utils \ + zlib-devel + +yum clean all + +if [ ! -f /usr/bin/python3 ]; then + ln -sf /usr/bin/python3.6 /usr/bin/python3 +fi \ 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 0000000..cc64e18 --- /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/generated-dists/centos7/packages.yml b/bootstrap/generated-dists/centos7/packages.yml new file mode 100644 index 0000000..2234baf --- /dev/null +++ b/bootstrap/generated-dists/centos7/packages.yml @@ -0,0 +1,100 @@ +--- +packages: + - "@Development Tools" + - acl + - attr + - autoconf + - avahi-devel + - bind-utils + - binutils + - bison + - ccache + - chrpath + - compat-gnutls37-devel + - compat-gnutls37-utils + - crypto-policies-scripts + - cups-devel + - curl + - dbus-devel + - docbook-dtds + - docbook-style-xsl + - flex + - gawk + - gcc + - gdb + - git + - glib2-devel + - glibc-common + - gpgme-devel + - gzip + - hostname + - htop + - jansson-devel + - jq + - keyutils-libs-devel + - krb5-devel + - krb5-server + - krb5-workstation + - lcov + - libacl-devel + - libarchive-devel + - libattr-devel + - libblkid-devel + - libbsd-devel + - libcap-devel + - libicu-devel + - libpcap-devel + - libtasn1-devel + - libtasn1-tools + - libtirpc-devel + - libunwind-devel + - libuuid-devel + - libxslt + - lmdb + - lmdb-devel + - make + - mingw64-gcc + - ncurses-devel + - openldap-devel + - pam-devel + - patch + - perl-Archive-Tar + - perl-ExtUtils-MakeMaker + - perl-Parse-Yapp + - perl-Test-Base + - perl-core + - perl-generators + - perl-interpreter + - pkgconfig + - popt-devel + - procps-ng + - psmisc + - python3-libsemanage + - python3-policycoreutils + - python36 + - python36-cryptography + - python36-devel + - python36-dns + - python36-gpg + - python36-iso8601 + - python36-markdown + - python36-pyasn1 + - python36-requests + - python36-setproctitle + - quota-devel + - readline-devel + - redhat-lsb + - rng-tools + - rpcgen + - rsync + - sed + - sudo + - systemd-devel + - tar + - tree + - wget + - which + - xfsprogs-devel + - xz + - yum-utils + - zlib-devel \ No newline at end of file diff --git a/bootstrap/generated-dists/centos8s/Dockerfile b/bootstrap/generated-dists/centos8s/Dockerfile new file mode 100644 index 0000000..3b5a681 --- /dev/null +++ b/bootstrap/generated-dists/centos8s/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM quay.io/centos/centos:stream8 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/centos8s/bootstrap.sh b/bootstrap/generated-dists/centos8s/bootstrap.sh new file mode 100755 index 0000000..4b2c62c --- /dev/null +++ b/bootstrap/generated-dists/centos8s/bootstrap.sh @@ -0,0 +1,125 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +yum update -y +yum install -y dnf-plugins-core +yum install -y epel-release + +yum -v repolist all +yum config-manager --set-enabled powertools -y + +yum update -y + +yum install -y \ + --setopt=install_weak_deps=False \ + "@Development Tools" \ + acl \ + attr \ + autoconf \ + avahi-devel \ + bind-utils \ + binutils \ + bison \ + ccache \ + chrpath \ + crypto-policies-scripts \ + cups-devel \ + curl \ + dbus-devel \ + docbook-dtds \ + docbook-style-xsl \ + flex \ + gawk \ + gcc \ + gdb \ + git \ + glib2-devel \ + glibc-common \ + glibc-langpack-en \ + glusterfs-api-devel \ + glusterfs-devel \ + gnutls-devel \ + gnutls-utils \ + gpgme-devel \ + gzip \ + hostname \ + htop \ + jansson-devel \ + jq \ + keyutils-libs-devel \ + krb5-devel \ + krb5-server \ + krb5-workstation \ + libacl-devel \ + libarchive-devel \ + libattr-devel \ + libblkid-devel \ + libbsd-devel \ + libcap-devel \ + libcephfs-devel \ + libicu-devel \ + libpcap-devel \ + libtasn1-devel \ + libtasn1-tools \ + libtirpc-devel \ + libunwind-devel \ + libuuid-devel \ + libxslt \ + lmdb \ + lmdb-devel \ + make \ + mingw64-gcc \ + ncurses-devel \ + openldap-devel \ + pam-devel \ + patch \ + perl \ + perl-Archive-Tar \ + perl-ExtUtils-MakeMaker \ + perl-Parse-Yapp \ + perl-Test-Simple \ + perl-generators \ + perl-interpreter \ + pkgconfig \ + popt-devel \ + procps-ng \ + psmisc \ + python3 \ + python3-cryptography \ + python3-devel \ + python3-dns \ + python3-gpg \ + python3-iso8601 \ + python3-libsemanage \ + python3-markdown \ + python3-policycoreutils \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + quota-devel \ + readline-devel \ + redhat-lsb \ + rng-tools \ + rpcgen \ + rpcsvc-proto-devel \ + rsync \ + sed \ + sudo \ + systemd-devel \ + tar \ + tracker-devel \ + tree \ + wget \ + which \ + xfsprogs-devel \ + xz \ + yum-utils \ + zlib-devel + +yum clean all \ No newline at end of file diff --git a/bootstrap/generated-dists/centos8s/locale.sh b/bootstrap/generated-dists/centos8s/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/centos8s/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/centos8s/packages.yml b/bootstrap/generated-dists/centos8s/packages.yml new file mode 100644 index 0000000..f416dea --- /dev/null +++ b/bootstrap/generated-dists/centos8s/packages.yml @@ -0,0 +1,105 @@ +--- +packages: + - "@Development Tools" + - acl + - attr + - autoconf + - avahi-devel + - bind-utils + - binutils + - bison + - ccache + - chrpath + - crypto-policies-scripts + - cups-devel + - curl + - dbus-devel + - docbook-dtds + - docbook-style-xsl + - flex + - gawk + - gcc + - gdb + - git + - glib2-devel + - glibc-common + - glibc-langpack-en + - glusterfs-api-devel + - glusterfs-devel + - gnutls-devel + - gnutls-utils + - gpgme-devel + - gzip + - hostname + - htop + - jansson-devel + - jq + - keyutils-libs-devel + - krb5-devel + - krb5-server + - krb5-workstation + - libacl-devel + - libarchive-devel + - libattr-devel + - libblkid-devel + - libbsd-devel + - libcap-devel + - libcephfs-devel + - libicu-devel + - libpcap-devel + - libtasn1-devel + - libtasn1-tools + - libtirpc-devel + - libunwind-devel + - libuuid-devel + - libxslt + - lmdb + - lmdb-devel + - make + - mingw64-gcc + - ncurses-devel + - openldap-devel + - pam-devel + - patch + - perl + - perl-Archive-Tar + - perl-ExtUtils-MakeMaker + - perl-Parse-Yapp + - perl-Test-Simple + - perl-generators + - perl-interpreter + - pkgconfig + - popt-devel + - procps-ng + - psmisc + - python3 + - python3-cryptography + - python3-devel + - python3-dns + - python3-gpg + - python3-iso8601 + - python3-libsemanage + - python3-markdown + - python3-policycoreutils + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - quota-devel + - readline-devel + - redhat-lsb + - rng-tools + - rpcgen + - rpcsvc-proto-devel + - rsync + - sed + - sudo + - systemd-devel + - tar + - tracker-devel + - tree + - wget + - which + - xfsprogs-devel + - xz + - yum-utils + - zlib-devel \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11-32bit/Dockerfile b/bootstrap/generated-dists/debian11-32bit/Dockerfile new file mode 100644 index 0000000..d0133bd --- /dev/null +++ b/bootstrap/generated-dists/debian11-32bit/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM registry-1.docker.io/i386/debian:11 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11-32bit/bootstrap.sh b/bootstrap/generated-dists/debian11-32bit/bootstrap.sh new file mode 100755 index 0000000..82d2705 --- /dev/null +++ b/bootstrap/generated-dists/debian11-32bit/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + liburing-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11-32bit/locale.sh b/bootstrap/generated-dists/debian11-32bit/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/debian11-32bit/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/debian11-32bit/packages.yml b/bootstrap/generated-dists/debian11-32bit/packages.yml new file mode 100644 index 0000000..dab6a93 --- /dev/null +++ b/bootstrap/generated-dists/debian11-32bit/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - liburing-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11/Dockerfile b/bootstrap/generated-dists/debian11/Dockerfile new file mode 100644 index 0000000..90a961f --- /dev/null +++ b/bootstrap/generated-dists/debian11/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM debian:11 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11/bootstrap.sh b/bootstrap/generated-dists/debian11/bootstrap.sh new file mode 100755 index 0000000..82d2705 --- /dev/null +++ b/bootstrap/generated-dists/debian11/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + liburing-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/debian11/locale.sh b/bootstrap/generated-dists/debian11/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/debian11/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/debian11/packages.yml b/bootstrap/generated-dists/debian11/packages.yml new file mode 100644 index 0000000..dab6a93 --- /dev/null +++ b/bootstrap/generated-dists/debian11/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - liburing-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12-32bit/Dockerfile b/bootstrap/generated-dists/debian12-32bit/Dockerfile new file mode 100644 index 0000000..fc72e14 --- /dev/null +++ b/bootstrap/generated-dists/debian12-32bit/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM registry-1.docker.io/i386/debian:12 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12-32bit/bootstrap.sh b/bootstrap/generated-dists/debian12-32bit/bootstrap.sh new file mode 100755 index 0000000..033061a --- /dev/null +++ b/bootstrap/generated-dists/debian12-32bit/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libunwind-dev \ + liburing-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + shfmt \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12-32bit/locale.sh b/bootstrap/generated-dists/debian12-32bit/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/debian12-32bit/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/debian12-32bit/packages.yml b/bootstrap/generated-dists/debian12-32bit/packages.yml new file mode 100644 index 0000000..bd9a558 --- /dev/null +++ b/bootstrap/generated-dists/debian12-32bit/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libunwind-dev + - liburing-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - shfmt + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12/Dockerfile b/bootstrap/generated-dists/debian12/Dockerfile new file mode 100644 index 0000000..2b0e140 --- /dev/null +++ b/bootstrap/generated-dists/debian12/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM debian:12 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12/bootstrap.sh b/bootstrap/generated-dists/debian12/bootstrap.sh new file mode 100755 index 0000000..033061a --- /dev/null +++ b/bootstrap/generated-dists/debian12/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libunwind-dev \ + liburing-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + shfmt \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/debian12/locale.sh b/bootstrap/generated-dists/debian12/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/debian12/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/debian12/packages.yml b/bootstrap/generated-dists/debian12/packages.yml new file mode 100644 index 0000000..bd9a558 --- /dev/null +++ b/bootstrap/generated-dists/debian12/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libunwind-dev + - liburing-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - shfmt + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/fedora39/Dockerfile b/bootstrap/generated-dists/fedora39/Dockerfile new file mode 100644 index 0000000..144dc8e --- /dev/null +++ b/bootstrap/generated-dists/fedora39/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM quay.io/fedora/fedora:39 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/fedora39/bootstrap.sh b/bootstrap/generated-dists/fedora39/bootstrap.sh new file mode 100755 index 0000000..e3b3646 --- /dev/null +++ b/bootstrap/generated-dists/fedora39/bootstrap.sh @@ -0,0 +1,126 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +dnf update -y + +dnf install -y \ + --setopt=install_weak_deps=False \ + @development-tools \ + ShellCheck \ + acl \ + attr \ + autoconf \ + avahi-devel \ + bind-utils \ + binutils \ + bison \ + ccache \ + chrpath \ + codespell \ + crypto-policies-scripts \ + cups-devel \ + curl \ + dbus-devel \ + docbook-dtds \ + docbook-style-xsl \ + flex \ + gawk \ + gcc \ + gdb \ + git \ + glib2-devel \ + glibc-common \ + glibc-langpack-en \ + glusterfs-api-devel \ + glusterfs-devel \ + gnutls-devel \ + gnutls-utils \ + gpgme-devel \ + gzip \ + hostname \ + htop \ + jansson-devel \ + jq \ + keyutils-libs-devel \ + krb5-devel \ + krb5-server \ + krb5-workstation \ + lcov \ + libacl-devel \ + libarchive-devel \ + libattr-devel \ + libblkid-devel \ + libbsd-devel \ + libcap-devel \ + libcephfs-devel \ + libicu-devel \ + libpcap-devel \ + libtasn1-devel \ + libtasn1-tools \ + libtirpc-devel \ + libunwind-devel \ + liburing-devel \ + libuuid-devel \ + libxslt \ + lmdb \ + lmdb-devel \ + make \ + mingw64-gcc \ + mold \ + ncurses-devel \ + openldap-devel \ + pam-devel \ + patch \ + perl \ + perl-Archive-Tar \ + perl-ExtUtils-MakeMaker \ + perl-Parse-Yapp \ + perl-Test-Base \ + perl-generators \ + perl-interpreter \ + pkgconfig \ + popt-devel \ + procps-ng \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dateutil \ + python3-devel \ + python3-dns \ + python3-gpg \ + python3-libsemanage \ + python3-markdown \ + python3-policycoreutils \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + quota-devel \ + readline-devel \ + redhat-lsb \ + rng-tools \ + rpcgen \ + rpcsvc-proto-devel \ + rsync \ + sed \ + shfmt \ + sudo \ + systemd-devel \ + tar \ + tracker-devel \ + tree \ + wget \ + which \ + xfsprogs-devel \ + xz \ + yum-utils \ + zlib-devel + +dnf clean all + +update-crypto-policies --set DEFAULT:AD-SUPPORT \ No newline at end of file diff --git a/bootstrap/generated-dists/fedora39/locale.sh b/bootstrap/generated-dists/fedora39/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/fedora39/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/fedora39/packages.yml b/bootstrap/generated-dists/fedora39/packages.yml new file mode 100644 index 0000000..1fbe398 --- /dev/null +++ b/bootstrap/generated-dists/fedora39/packages.yml @@ -0,0 +1,111 @@ +--- +packages: + - @development-tools + - ShellCheck + - acl + - attr + - autoconf + - avahi-devel + - bind-utils + - binutils + - bison + - ccache + - chrpath + - codespell + - crypto-policies-scripts + - cups-devel + - curl + - dbus-devel + - docbook-dtds + - docbook-style-xsl + - flex + - gawk + - gcc + - gdb + - git + - glib2-devel + - glibc-common + - glibc-langpack-en + - glusterfs-api-devel + - glusterfs-devel + - gnutls-devel + - gnutls-utils + - gpgme-devel + - gzip + - hostname + - htop + - jansson-devel + - jq + - keyutils-libs-devel + - krb5-devel + - krb5-server + - krb5-workstation + - lcov + - libacl-devel + - libarchive-devel + - libattr-devel + - libblkid-devel + - libbsd-devel + - libcap-devel + - libcephfs-devel + - libicu-devel + - libpcap-devel + - libtasn1-devel + - libtasn1-tools + - libtirpc-devel + - libunwind-devel + - liburing-devel + - libuuid-devel + - libxslt + - lmdb + - lmdb-devel + - make + - mingw64-gcc + - mold + - ncurses-devel + - openldap-devel + - pam-devel + - patch + - perl + - perl-Archive-Tar + - perl-ExtUtils-MakeMaker + - perl-Parse-Yapp + - perl-Test-Base + - perl-generators + - perl-interpreter + - pkgconfig + - popt-devel + - procps-ng + - psmisc + - python3 + - python3-cryptography + - python3-dateutil + - python3-devel + - python3-dns + - python3-gpg + - python3-libsemanage + - python3-markdown + - python3-policycoreutils + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - quota-devel + - readline-devel + - redhat-lsb + - rng-tools + - rpcgen + - rpcsvc-proto-devel + - rsync + - sed + - shfmt + - sudo + - systemd-devel + - tar + - tracker-devel + - tree + - wget + - which + - xfsprogs-devel + - xz + - yum-utils + - zlib-devel \ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse155/Dockerfile b/bootstrap/generated-dists/opensuse155/Dockerfile new file mode 100644 index 0000000..d2429f1 --- /dev/null +++ b/bootstrap/generated-dists/opensuse155/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM opensuse/leap:15.5 + +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse155/bootstrap.sh b/bootstrap/generated-dists/opensuse155/bootstrap.sh new file mode 100755 index 0000000..45d11ef --- /dev/null +++ b/bootstrap/generated-dists/opensuse155/bootstrap.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +set -xueo pipefail + +zypper --non-interactive refresh +zypper --non-interactive update +zypper --non-interactive install \ + --no-recommends \ + system-user-nobody \ + ShellCheck \ + acl \ + attr \ + autoconf \ + avahi-devel \ + bind-utils \ + binutils \ + bison \ + ccache \ + chrpath \ + codespell \ + crypto-policies-scripts \ + cups-devel \ + curl \ + dbus-1-devel \ + docbook-dtds \ + docbook-xsl-stylesheets \ + flex \ + gawk \ + gcc \ + gdb \ + git \ + glib2-devel \ + glibc-locale \ + glusterfs-devel \ + gnutls \ + gnutls-devel \ + gpgme-devel \ + gzip \ + hostname \ + htop \ + jq \ + keyutils-devel \ + krb5-client \ + krb5-devel \ + krb5-server \ + lcov \ + libacl-devel \ + libarchive-devel \ + libattr-devel \ + libblkid-devel \ + libbsd-devel \ + libcap-devel \ + libcephfs-devel \ + libicu-devel \ + libjansson-devel \ + libpcap-devel \ + libtasn1-devel \ + libtirpc-devel \ + libunwind-devel \ + liburing-devel \ + libuuid-devel \ + libxslt \ + lmdb \ + lmdb-devel \ + lsb-release \ + make \ + mingw64-gcc \ + ncurses-devel \ + openldap2-devel \ + pam-devel \ + patch \ + perl \ + perl-Archive-Tar-Wrapper \ + perl-ExtUtils-MakeMaker \ + perl-Parse-Yapp \ + perl-Test-Base \ + pkgconfig \ + popt-devel \ + procps \ + psmisc \ + python3 \ + python3-Markdown \ + python3-cryptography \ + python3-devel \ + python3-dnspython \ + python3-gpg \ + python3-policycoreutils \ + python3-pyasn1 \ + python3-python-dateutil \ + python3-requests \ + python3-semanage \ + python3-setproctitle \ + readline-devel \ + rng-tools \ + rpcgen \ + rpcsvc-proto-devel \ + rsync \ + sed \ + sudo \ + systemd-devel \ + tar \ + tracker-devel \ + tree \ + wget \ + which \ + xfsprogs-devel \ + xz \ + zlib-devel + +zypper --non-interactive clean + +if [ -f /usr/lib/mit/bin/krb5-config ]; then + ln -sf /usr/lib/mit/bin/krb5-config /usr/bin/krb5-config +fi \ No newline at end of file diff --git a/bootstrap/generated-dists/opensuse155/locale.sh b/bootstrap/generated-dists/opensuse155/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/opensuse155/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/opensuse155/packages.yml b/bootstrap/generated-dists/opensuse155/packages.yml new file mode 100644 index 0000000..519b62c --- /dev/null +++ b/bootstrap/generated-dists/opensuse155/packages.yml @@ -0,0 +1,101 @@ +--- +packages: + - ShellCheck + - acl + - attr + - autoconf + - avahi-devel + - bind-utils + - binutils + - bison + - ccache + - chrpath + - codespell + - crypto-policies-scripts + - cups-devel + - curl + - dbus-1-devel + - docbook-dtds + - docbook-xsl-stylesheets + - flex + - gawk + - gcc + - gdb + - git + - glib2-devel + - glibc-locale + - glusterfs-devel + - gnutls + - gnutls-devel + - gpgme-devel + - gzip + - hostname + - htop + - jq + - keyutils-devel + - krb5-client + - krb5-devel + - krb5-server + - lcov + - libacl-devel + - libarchive-devel + - libattr-devel + - libblkid-devel + - libbsd-devel + - libcap-devel + - libcephfs-devel + - libicu-devel + - libjansson-devel + - libpcap-devel + - libtasn1-devel + - libtirpc-devel + - libunwind-devel + - liburing-devel + - libuuid-devel + - libxslt + - lmdb + - lmdb-devel + - lsb-release + - make + - mingw64-gcc + - ncurses-devel + - openldap2-devel + - pam-devel + - patch + - perl + - perl-Archive-Tar-Wrapper + - perl-ExtUtils-MakeMaker + - perl-Parse-Yapp + - perl-Test-Base + - pkgconfig + - popt-devel + - procps + - psmisc + - python3 + - python3-Markdown + - python3-cryptography + - python3-devel + - python3-dnspython + - python3-gpg + - python3-policycoreutils + - python3-pyasn1 + - python3-python-dateutil + - python3-requests + - python3-semanage + - python3-setproctitle + - readline-devel + - rng-tools + - rpcgen + - rpcsvc-proto-devel + - rsync + - sed + - sudo + - systemd-devel + - tar + - tracker-devel + - tree + - wget + - which + - xfsprogs-devel + - xz + - zlib-devel \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile new file mode 100644 index 0000000..4feffbd --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM registry-1.docker.io/i386/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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh b/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh new file mode 100755 index 0000000..da249a8 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + language-pack-en \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh b/bootstrap/generated-dists/ubuntu1804-32bit/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/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/ubuntu1804-32bit/packages.yml b/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml new file mode 100644 index 0000000..94957fc --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804-32bit/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - language-pack-en + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - 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 0000000..f389e0b --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804/Dockerfile @@ -0,0 +1,29 @@ +# +# 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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu1804/bootstrap.sh b/bootstrap/generated-dists/ubuntu1804/bootstrap.sh new file mode 100755 index 0000000..da249a8 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + language-pack-en \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +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 0000000..cc64e18 --- /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/generated-dists/ubuntu1804/packages.yml b/bootstrap/generated-dists/ubuntu1804/packages.yml new file mode 100644 index 0000000..94957fc --- /dev/null +++ b/bootstrap/generated-dists/ubuntu1804/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - language-pack-en + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2004/Dockerfile b/bootstrap/generated-dists/ubuntu2004/Dockerfile new file mode 100644 index 0000000..b77adb7 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2004/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM ubuntu:20.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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2004/bootstrap.sh b/bootstrap/generated-dists/ubuntu2004/bootstrap.sh new file mode 100755 index 0000000..da249a8 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2004/bootstrap.sh @@ -0,0 +1,117 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + language-pack-en \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libtracker-sparql-2.0-dev \ + libunwind-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2004/locale.sh b/bootstrap/generated-dists/ubuntu2004/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2004/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/ubuntu2004/packages.yml b/bootstrap/generated-dists/ubuntu2004/packages.yml new file mode 100644 index 0000000..94957fc --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2004/packages.yml @@ -0,0 +1,102 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - language-pack-en + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libtracker-sparql-2.0-dev + - libunwind-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2204/Dockerfile b/bootstrap/generated-dists/ubuntu2204/Dockerfile new file mode 100644 index 0000000..0b73aac --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2204/Dockerfile @@ -0,0 +1,29 @@ +# +# This file is generated by 'bootstrap/template.py --render' +# See also bootstrap/config.py +# + +FROM ubuntu:22.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_GOLD=$(which ld.gold) || { LD=$(which ld) && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"; } +# if ld.mold exists, force link it to ld (prefer mold over gold! ;-) +RUN set -x; ! LD_MOLD=$(which ld.mold) || { LD=$(which ld) && ln -sf $LD_MOLD $LD && test -x $LD && echo "$LD is now $LD_MOLD"; } + +# 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 LANGUAGE=en_US \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2204/bootstrap.sh b/bootstrap/generated-dists/ubuntu2204/bootstrap.sh new file mode 100755 index 0000000..1a3c3b1 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2204/bootstrap.sh @@ -0,0 +1,118 @@ +#!/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 \ + bind9utils \ + binutils \ + bison \ + build-essential \ + ccache \ + chrpath \ + codespell \ + curl \ + debhelper \ + dnsutils \ + docbook-xml \ + docbook-xsl \ + flex \ + gcc \ + gdb \ + git \ + glusterfs-common \ + gnutls-bin \ + gzip \ + heimdal-multidev \ + hostname \ + htop \ + jq \ + krb5-config \ + krb5-kdc \ + krb5-user \ + language-pack-en \ + lcov \ + libacl1-dev \ + libarchive-dev \ + libattr1-dev \ + libavahi-common-dev \ + libblkid-dev \ + libbsd-dev \ + libcap-dev \ + libcephfs-dev \ + libcups2-dev \ + libdbus-1-dev \ + libglib2.0-dev \ + libgnutls28-dev \ + libgpgme11-dev \ + libicu-dev \ + libjansson-dev \ + libjs-jquery \ + libkeyutils-dev \ + libkrb5-dev \ + libldap2-dev \ + liblmdb-dev \ + libncurses5-dev \ + libpam0g-dev \ + libparse-yapp-perl \ + libpcap-dev \ + libpopt-dev \ + libreadline-dev \ + libsystemd-dev \ + libtasn1-bin \ + libtasn1-dev \ + libunwind-dev \ + liburing-dev \ + lmdb-utils \ + locales \ + lsb-release \ + make \ + mawk \ + mingw-w64 \ + patch \ + perl \ + perl-modules \ + pkg-config \ + procps \ + psmisc \ + python3 \ + python3-cryptography \ + python3-dbg \ + python3-dev \ + python3-dnspython \ + python3-gpg \ + python3-iso8601 \ + python3-markdown \ + python3-pexpect \ + python3-pyasn1 \ + python3-requests \ + python3-setproctitle \ + rng-tools \ + rsync \ + sed \ + shellcheck \ + shfmt \ + sudo \ + tar \ + tree \ + uuid-dev \ + wget \ + xfslibs-dev \ + xsltproc \ + xz-utils \ + zlib1g-dev + +apt-get -y autoremove +apt-get -y autoclean +apt-get -y clean \ No newline at end of file diff --git a/bootstrap/generated-dists/ubuntu2204/locale.sh b/bootstrap/generated-dists/ubuntu2204/locale.sh new file mode 100755 index 0000000..cc64e18 --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2204/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/ubuntu2204/packages.yml b/bootstrap/generated-dists/ubuntu2204/packages.yml new file mode 100644 index 0000000..c3b741f --- /dev/null +++ b/bootstrap/generated-dists/ubuntu2204/packages.yml @@ -0,0 +1,103 @@ +--- +packages: + - acl + - apt-utils + - attr + - autoconf + - bind9utils + - binutils + - bison + - build-essential + - ccache + - chrpath + - codespell + - curl + - debhelper + - dnsutils + - docbook-xml + - docbook-xsl + - flex + - gcc + - gdb + - git + - glusterfs-common + - gnutls-bin + - gzip + - heimdal-multidev + - hostname + - htop + - jq + - krb5-config + - krb5-kdc + - krb5-user + - language-pack-en + - lcov + - libacl1-dev + - libarchive-dev + - libattr1-dev + - libavahi-common-dev + - libblkid-dev + - libbsd-dev + - libcap-dev + - libcephfs-dev + - libcups2-dev + - libdbus-1-dev + - libglib2.0-dev + - libgnutls28-dev + - libgpgme11-dev + - libicu-dev + - libjansson-dev + - libjs-jquery + - libkeyutils-dev + - libkrb5-dev + - libldap2-dev + - liblmdb-dev + - libncurses5-dev + - libpam0g-dev + - libparse-yapp-perl + - libpcap-dev + - libpopt-dev + - libreadline-dev + - libsystemd-dev + - libtasn1-bin + - libtasn1-dev + - libunwind-dev + - liburing-dev + - lmdb-utils + - locales + - lsb-release + - make + - mawk + - mingw-w64 + - patch + - perl + - perl-modules + - pkg-config + - procps + - psmisc + - python3 + - python3-cryptography + - python3-dbg + - python3-dev + - python3-dnspython + - python3-gpg + - python3-iso8601 + - python3-markdown + - python3-pexpect + - python3-pyasn1 + - python3-requests + - python3-setproctitle + - rng-tools + - rsync + - sed + - shellcheck + - shfmt + - sudo + - tar + - tree + - uuid-dev + - wget + - xfslibs-dev + - xsltproc + - xz-utils + - zlib1g-dev \ No newline at end of file -- cgit v1.2.3