mirror of
https://github.com/samba-team/samba.git
synced 2025-12-13 16:23:50 +03:00
gitlab-ci: Add CentOS 8 to CI
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Oct 8 08:27:50 UTC 2019 on sn-devel-184
This commit is contained in:
committed by
Andreas Schneider
parent
9cd0d15370
commit
c9d302f20b
@@ -22,7 +22,7 @@ variables:
|
||||
# Set this to the contents of bootstrap/sha1sum.txt
|
||||
# which is generated by bootstrap/template.py --render
|
||||
#
|
||||
SAMBA_CI_CONTAINER_TAG: b2e8ad4e8057ddc87386ef5ac7cd8599f04d7a57
|
||||
SAMBA_CI_CONTAINER_TAG: 4a498d9dd6c861b85bf4a749f3feb0805ea7298e
|
||||
#
|
||||
# We use the ubuntu1804 image as default as
|
||||
# it matches what we have on sn-devel-184.
|
||||
@@ -41,6 +41,7 @@ variables:
|
||||
SAMBA_CI_CONTAINER_IMAGE_fedora29: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-fedora29:${SAMBA_CI_CONTAINER_TAG}
|
||||
SAMBA_CI_CONTAINER_IMAGE_fedora30: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-fedora30:${SAMBA_CI_CONTAINER_TAG}
|
||||
SAMBA_CI_CONTAINER_IMAGE_centos7: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-centos7:${SAMBA_CI_CONTAINER_TAG}
|
||||
SAMBA_CI_CONTAINER_IMAGE_centos8: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-centos8:${SAMBA_CI_CONTAINER_TAG}
|
||||
|
||||
include:
|
||||
# The image creation details are specified in a separate file
|
||||
@@ -271,6 +272,10 @@ centos7-samba-o3:
|
||||
# We need a newer GnuTLS version on CentOS7
|
||||
PKG_CONFIG_PATH: "/usr/lib64/compat-gnutls34/pkgconfig:/usr/lib64/compat-nettle32/pkgconfig"
|
||||
|
||||
centos8-samba-o3:
|
||||
extends: .samba-o3-template
|
||||
image: $SAMBA_CI_CONTAINER_IMAGE_centos8
|
||||
|
||||
fedora29-samba-o3:
|
||||
extends: .samba-o3-template
|
||||
image: $SAMBA_CI_CONTAINER_IMAGE_fedora29
|
||||
|
||||
@@ -110,6 +110,9 @@ fedora29:
|
||||
fedora28:
|
||||
extends: .build_image_template_force_broken
|
||||
|
||||
centos8:
|
||||
extends: .build_image_template
|
||||
|
||||
centos7:
|
||||
extends: .build_image_template
|
||||
variables:
|
||||
|
||||
@@ -218,6 +218,23 @@ if [ ! -f /usr/bin/python3 ]; then
|
||||
fi
|
||||
"""
|
||||
|
||||
CENTOS8_YUM_BOOTSTRAP = r"""
|
||||
#!/bin/bash
|
||||
{GENERATED_MARKER}
|
||||
set -xueo pipefail
|
||||
|
||||
yum update -y
|
||||
yum install -y dnf-plugins-core
|
||||
yum install -y epel-release
|
||||
yum config-manager --set-enabled PowerTools -y
|
||||
yum update -y
|
||||
|
||||
yum install -y \
|
||||
--setopt=install_weak_deps=False \
|
||||
{pkgs}
|
||||
|
||||
yum clean all
|
||||
"""
|
||||
|
||||
DNF_BOOTSTRAP = r"""
|
||||
#!/bin/bash
|
||||
@@ -473,6 +490,22 @@ RPM_DISTS = {
|
||||
'gnutls-devel': 'compat-gnutls34-devel',
|
||||
}
|
||||
},
|
||||
'centos8': {
|
||||
'docker_image': 'centos:8',
|
||||
'vagrant_box': 'centos/8',
|
||||
'bootstrap': CENTOS8_YUM_BOOTSTRAP,
|
||||
'replace': {
|
||||
'lsb-release': 'redhat-lsb',
|
||||
'@development-tools': '"@Development Tools"', # add quotes
|
||||
'libsemanage-python': 'python3-libsemanage',
|
||||
'lcov': '', # does not exist
|
||||
'perl-JSON-Parse': '', # does not exist?
|
||||
'perl-Test-Base': 'perl-Test-Simple',
|
||||
'policycoreutils-python': 'python3-policycoreutils',
|
||||
'python3-crypto': '',
|
||||
'quota-devel': '', # FIXME: Add me back, once available!
|
||||
}
|
||||
},
|
||||
'fedora28': {
|
||||
'docker_image': 'fedora:28',
|
||||
'vagrant_box': 'fedora/28-cloud-base',
|
||||
|
||||
7
bootstrap/generated-dists/Vagrantfile
vendored
7
bootstrap/generated-dists/Vagrantfile
vendored
@@ -24,6 +24,13 @@ Vagrant.configure("2") do |config|
|
||||
v.vm.provision :shell, path: "centos7/locale.sh"
|
||||
end
|
||||
|
||||
config.vm.define "centos8" do |v|
|
||||
v.vm.box = "centos/8"
|
||||
v.vm.hostname = "centos8"
|
||||
v.vm.provision :shell, path: "centos8/bootstrap.sh"
|
||||
v.vm.provision :shell, path: "centos8/locale.sh"
|
||||
end
|
||||
|
||||
config.vm.define "debian7" do |v|
|
||||
v.vm.box = "debian/wheezy64"
|
||||
v.vm.hostname = "debian7"
|
||||
|
||||
27
bootstrap/generated-dists/centos8/Dockerfile
Normal file
27
bootstrap/generated-dists/centos8/Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# This file is generated by 'bootstrap/template.py --render'
|
||||
# See also bootstrap/config.py
|
||||
#
|
||||
|
||||
FROM centos:8
|
||||
|
||||
# pass in with --build-arg while build
|
||||
ARG SHA1SUM
|
||||
RUN [ -n $SHA1SUM ] && echo $SHA1SUM > /sha1sum.txt
|
||||
|
||||
ADD *.sh /tmp/
|
||||
# need root permission, do it before USER samba
|
||||
RUN /tmp/bootstrap.sh && /tmp/locale.sh
|
||||
|
||||
# if ld.gold exists, force link it to ld
|
||||
RUN set -x; LD=$(which ld); LD_GOLD=$(which ld.gold); test -x $LD_GOLD && ln -sf $LD_GOLD $LD && test -x $LD && echo "$LD is now $LD_GOLD"
|
||||
|
||||
# make test can not work with root, so we have to create a new user
|
||||
RUN useradd -m -U -s /bin/bash samba && \
|
||||
mkdir -p /etc/sudoers.d && \
|
||||
echo "samba ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/samba
|
||||
|
||||
USER samba
|
||||
WORKDIR /home/samba
|
||||
# samba tests rely on this
|
||||
ENV USER=samba LC_ALL=en_US.utf8 LANG=en_US.utf8
|
||||
110
bootstrap/generated-dists/centos8/bootstrap.sh
Executable file
110
bootstrap/generated-dists/centos8/bootstrap.sh
Executable file
@@ -0,0 +1,110 @@
|
||||
#!/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 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 \
|
||||
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 \
|
||||
gpgme-devel \
|
||||
gzip \
|
||||
hostname \
|
||||
htop \
|
||||
jansson-devel \
|
||||
keyutils-libs-devel \
|
||||
krb5-devel \
|
||||
krb5-server \
|
||||
libacl-devel \
|
||||
libaio-devel \
|
||||
libarchive-devel \
|
||||
libattr-devel \
|
||||
libblkid-devel \
|
||||
libbsd-devel \
|
||||
libcap-devel \
|
||||
libcephfs-devel \
|
||||
libicu-devel \
|
||||
libnsl2-devel \
|
||||
libpcap-devel \
|
||||
libtasn1-devel \
|
||||
libtasn1-tools \
|
||||
libtirpc-devel \
|
||||
libunwind-devel \
|
||||
libuuid-devel \
|
||||
libxslt \
|
||||
lmdb \
|
||||
lmdb-devel \
|
||||
make \
|
||||
mingw64-gcc \
|
||||
ncurses-devel \
|
||||
nettle-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-devel \
|
||||
python3-dns \
|
||||
python3-gpg \
|
||||
python3-libsemanage \
|
||||
python3-markdown \
|
||||
python3-policycoreutils \
|
||||
readline-devel \
|
||||
redhat-lsb \
|
||||
rng-tools \
|
||||
rpcgen \
|
||||
rpcsvc-proto-devel \
|
||||
rsync \
|
||||
sed \
|
||||
sudo \
|
||||
systemd-devel \
|
||||
tar \
|
||||
tree \
|
||||
which \
|
||||
xfsprogs-devel \
|
||||
yum-utils \
|
||||
zlib-devel
|
||||
|
||||
yum clean all
|
||||
55
bootstrap/generated-dists/centos8/locale.sh
Executable file
55
bootstrap/generated-dists/centos8/locale.sh
Executable file
@@ -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
|
||||
93
bootstrap/generated-dists/centos8/packages.yml
Normal file
93
bootstrap/generated-dists/centos8/packages.yml
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
packages:
|
||||
- "@Development Tools"
|
||||
- acl
|
||||
- attr
|
||||
- autoconf
|
||||
- avahi-devel
|
||||
- bind-utils
|
||||
- binutils
|
||||
- bison
|
||||
- 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
|
||||
- gpgme-devel
|
||||
- gzip
|
||||
- hostname
|
||||
- htop
|
||||
- jansson-devel
|
||||
- keyutils-libs-devel
|
||||
- krb5-devel
|
||||
- krb5-server
|
||||
- libacl-devel
|
||||
- libaio-devel
|
||||
- libarchive-devel
|
||||
- libattr-devel
|
||||
- libblkid-devel
|
||||
- libbsd-devel
|
||||
- libcap-devel
|
||||
- libcephfs-devel
|
||||
- libicu-devel
|
||||
- libnsl2-devel
|
||||
- libpcap-devel
|
||||
- libtasn1-devel
|
||||
- libtasn1-tools
|
||||
- libtirpc-devel
|
||||
- libunwind-devel
|
||||
- libuuid-devel
|
||||
- libxslt
|
||||
- lmdb
|
||||
- lmdb-devel
|
||||
- make
|
||||
- mingw64-gcc
|
||||
- ncurses-devel
|
||||
- nettle-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-devel
|
||||
- python3-dns
|
||||
- python3-gpg
|
||||
- python3-libsemanage
|
||||
- python3-markdown
|
||||
- python3-policycoreutils
|
||||
- readline-devel
|
||||
- redhat-lsb
|
||||
- rng-tools
|
||||
- rpcgen
|
||||
- rpcsvc-proto-devel
|
||||
- rsync
|
||||
- sed
|
||||
- sudo
|
||||
- systemd-devel
|
||||
- tar
|
||||
- tree
|
||||
- which
|
||||
- xfsprogs-devel
|
||||
- yum-utils
|
||||
- zlib-devel
|
||||
@@ -1 +1 @@
|
||||
b2e8ad4e8057ddc87386ef5ac7cd8599f04d7a57
|
||||
4a498d9dd6c861b85bf4a749f3feb0805ea7298e
|
||||
|
||||
Reference in New Issue
Block a user