1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

gitlab-ci: Add Fedora 30

Fedora 30 ships with gcc9.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andreas Schneider 2019-06-17 13:18:36 +02:00 committed by Andrew Bartlett
parent b201dd33e0
commit 33cc269251
10 changed files with 325 additions and 3 deletions

View File

@ -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: a50a08a6ecfbe1113f3892c0cb3e2646d58a1521
SAMBA_CI_CONTAINER_TAG: 563ddb220bfed37501be93b0b3204bb1ceb61b94
#
# We use the ubuntu1804 image as default as
# it matches what we have on sn-devel-184.
@ -38,6 +38,7 @@ variables:
SAMBA_CI_CONTAINER_IMAGE_debian9: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-debian9:${SAMBA_CI_CONTAINER_TAG}
SAMBA_CI_CONTAINER_IMAGE_opensuse150: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-opensuse150:${SAMBA_CI_CONTAINER_TAG}
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}
include:
@ -267,6 +268,10 @@ fedora29-samba-o3:
extends: .samba-o3-template
image: $SAMBA_CI_CONTAINER_IMAGE_fedora29
fedora30-samba-o3:
extends: .samba-o3-template
image: $SAMBA_CI_CONTAINER_IMAGE_fedora30
#
# Keep the samba-o3 sections at the end ...
#

View File

@ -100,6 +100,9 @@ debian8:
debian7:
extends: .build_image_template_force_broken
fedora30:
extends: .build_image_template
fedora29:
extends: .build_image_template

View File

@ -94,7 +94,7 @@ With Vagrant:
Or a remote/cloud machine:
scp bootstrap/generated-dists/fedora29/bootstrap.sh USER@IP:
scp bootstrap/generated-dists/fedora30/bootstrap.sh USER@IP:
ssh USER@IP
sudo bash ./bootstrap.sh

View File

@ -496,6 +496,14 @@ RPM_DISTS = {
'lsb-release': 'redhat-lsb',
}
},
'fedora30': {
'docker_image': 'fedora:30',
'vagrant_box': 'fedora/30-cloud-base',
'bootstrap': DNF_BOOTSTRAP,
'replace': {
'lsb-release': 'redhat-lsb',
}
},
'opensuse150': {
'docker_image': 'opensuse/leap:15.0',
'vagrant_box': 'opensuse/openSUSE-15.0-x86_64',

View File

@ -59,6 +59,13 @@ Vagrant.configure("2") do |config|
v.vm.provision :shell, path: "fedora29/locale.sh"
end
config.vm.define "fedora30" do |v|
v.vm.box = "fedora/30-cloud-base"
v.vm.hostname = "fedora30"
v.vm.provision :shell, path: "fedora30/bootstrap.sh"
v.vm.provision :shell, path: "fedora30/locale.sh"
end
config.vm.define "opensuse150" do |v|
v.vm.box = "opensuse/openSUSE-15.0-x86_64"
v.vm.hostname = "opensuse150"

View File

@ -0,0 +1,27 @@
#
# This file is generated by 'bootstrap/template.py --render'
# See also bootstrap/config.py
#
FROM fedora:30
# 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

View File

@ -0,0 +1,115 @@
#!/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 \
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 \
lcov \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
libcap-devel \
libcephfs-devel \
libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
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-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
perl-generators \
perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
procps-ng \
psmisc \
python-crypto \
python-devel \
python-dns \
python-markdown \
python2-gpg \
python3 \
python3-crypto \
python3-devel \
python3-dns \
python3-gpg \
python3-markdown \
quota-devel \
readline-devel \
redhat-lsb \
rng-tools \
rpcgen \
rpcsvc-proto-devel \
rsync \
sed \
sudo \
systemd-devel \
tar \
tree \
which \
xfsprogs-devel \
yum-utils \
zlib-devel
dnf clean all

View 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

View File

@ -0,0 +1,102 @@
---
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
- lcov
- libacl-devel
- libaio-devel
- libarchive-devel
- libattr-devel
- libblkid-devel
- libbsd-devel
- libcap-devel
- libcephfs-devel
- libicu-devel
- libnsl2-devel
- libpcap-devel
- libsemanage-python
- 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-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
- perl-generators
- perl-interpreter
- pkgconfig
- policycoreutils-python
- popt-devel
- procps-ng
- psmisc
- python-crypto
- python-devel
- python-dns
- python-markdown
- python2-gpg
- python3
- python3-crypto
- python3-devel
- python3-dns
- python3-gpg
- python3-markdown
- quota-devel
- readline-devel
- redhat-lsb
- rng-tools
- rpcgen
- rpcsvc-proto-devel
- rsync
- sed
- sudo
- systemd-devel
- tar
- tree
- which
- xfsprogs-devel
- yum-utils
- zlib-devel

View File

@ -1 +1 @@
a50a08a6ecfbe1113f3892c0cb3e2646d58a1521
563ddb220bfed37501be93b0b3204bb1ceb61b94