cd ~/samba
git clean -xdf
docker login
- docker pull registry.gitlab.com/samba-team/devel/samba/samba-ci-ubuntu1804:${sha1sum}
- docker run -it -v $(pwd):/home/samba/samba samba-ci-ubuntu1804:${sha1sum} bash
+ docker pull registry.gitlab.com/samba-team/devel/samba/samba-ci-ubuntu2404:${sha1sum}
+ docker run -it -v $(pwd):/home/samba/samba samba-ci-ubuntu2404:${sha1sum} bash
With podman:
- podman run -ti --cap-add=SYS_PTRACE --security-opt seccomp=unconfined registry.gitlab.com/samba-team/devel/samba/samba-ci-ubuntu1804:${sha1sum} bash
+ podman run -ti --cap-add=SYS_PTRACE --security-opt seccomp=unconfined registry.gitlab.com/samba-team/devel/samba/samba-ci-ubuntu2404:${sha1sum} bash
With Vagrant:
'landscape-common': '',
}
},
- 'ubuntu1804': {
- 'docker_image': 'ubuntu:18.04',
- 'vagrant_box': 'ubuntu/bionic64',
- 'replace': {
- 'liburing-dev': '', # not available
- 'shfmt': '',
- 'landscape-common': '',
- 'mold': '',
- }
- },
- 'ubuntu1804-32bit': {
- 'docker_image': 'registry-1.docker.io/i386/ubuntu:18.04',
- 'vagrant_box': 'ubuntu/bionic32',
- 'replace': {
- 'liburing-dev': '', # not available
- 'shfmt': '',
- 'landscape-common': '',
- 'mold': '',
- }
- },
'ubuntu2004': {
'docker_image': 'ubuntu:20.04',
'vagrant_box': 'ubuntu/focal64',
This make it easier to manage the fleet, e.g:
start all: vagrant up
- start one: vagrant up ubuntu1804
+ start one: vagrant up ubuntu2404
All other commands apply to above syntax, e.g.: status, destroy, provision
"""
v.vm.provision :shell, path: "rocky8/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"
+++ /dev/null
-#
-# 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
+++ /dev/null
-#!/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 \
- cargo \
- 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 \
- libclang-dev \
- libcups2-dev \
- libdbus-1-dev \
- libevent-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 \
- libssl-dev \
- libsystemd-dev \
- libtasn1-bin \
- libtasn1-dev \
- libtracker-sparql-2.0-dev \
- libunwind-dev \
- libutf8proc-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-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
+++ /dev/null
-#!/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
+++ /dev/null
----
-packages:
- - acl
- - apt-utils
- - attr
- - autoconf
- - bind9utils
- - binutils
- - bison
- - build-essential
- - cargo
- - 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
- - libclang-dev
- - libcups2-dev
- - libdbus-1-dev
- - libevent-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
- - libssl-dev
- - libsystemd-dev
- - libtasn1-bin
- - libtasn1-dev
- - libtracker-sparql-2.0-dev
- - libunwind-dev
- - libutf8proc-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-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
+++ /dev/null
-#
-# 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
+++ /dev/null
-#!/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 \
- cargo \
- 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 \
- libclang-dev \
- libcups2-dev \
- libdbus-1-dev \
- libevent-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 \
- libssl-dev \
- libsystemd-dev \
- libtasn1-bin \
- libtasn1-dev \
- libtracker-sparql-2.0-dev \
- libunwind-dev \
- libutf8proc-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-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
+++ /dev/null
-#!/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
+++ /dev/null
----
-packages:
- - acl
- - apt-utils
- - attr
- - autoconf
- - bind9utils
- - binutils
- - bison
- - build-essential
- - cargo
- - 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
- - libclang-dev
- - libcups2-dev
- - libdbus-1-dev
- - libevent-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
- - libssl-dev
- - libsystemd-dev
- - libtasn1-bin
- - libtasn1-dev
- - libtracker-sparql-2.0-dev
- - libunwind-dev
- - libutf8proc-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-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
-3dc161f073e0f8ab1c8d5d59fef9e5e33630b51e
+a25f801824051b5bff2ad9c13befd465906e34cf