diff options
Diffstat (limited to 'bootstrap/generated-dists/centos7')
-rw-r--r-- | bootstrap/generated-dists/centos7/Dockerfile | 29 | ||||
-rwxr-xr-x | bootstrap/generated-dists/centos7/bootstrap.sh | 120 | ||||
-rwxr-xr-x | bootstrap/generated-dists/centos7/locale.sh | 55 | ||||
-rw-r--r-- | bootstrap/generated-dists/centos7/packages.yml | 100 |
4 files changed, 304 insertions, 0 deletions
diff --git a/bootstrap/generated-dists/centos7/Dockerfile b/bootstrap/generated-dists/centos7/Dockerfile new file mode 100644 index 0000000..ccb4654 --- /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
\ 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..ad8488b --- /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 \ + 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-JSON \ + perl-JSON-Parse \ + 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..09b3d4b --- /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 + - 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-JSON + - perl-JSON-Parse + - 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 |