]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
gitlab-ci: add ubuntu2404
authorStefan Metzmacher <metze@samba.org>
Wed, 30 Apr 2025 08:37:04 +0000 (10:37 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 12 May 2025 20:27:24 +0000 (20:27 +0000)
For now we don't use it as default as the autobuild server would need to
be upgraded as well, but that will happen soon.

We also can't remove ubuntu2004 yet, because it's needed for
samba-fuzz.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon May 12 20:27:24 UTC 2025 on atb-devel-224

17 files changed:
.gitlab-ci-main.yml
bootstrap/.gitlab-ci.yml
bootstrap/config.py
bootstrap/generated-dists/Vagrantfile
bootstrap/generated-dists/debian12-32bit/bootstrap.sh
bootstrap/generated-dists/debian12-32bit/packages.yml
bootstrap/generated-dists/debian12/bootstrap.sh
bootstrap/generated-dists/debian12/packages.yml
bootstrap/generated-dists/ubuntu2004/bootstrap.sh
bootstrap/generated-dists/ubuntu2004/packages.yml
bootstrap/generated-dists/ubuntu2204/bootstrap.sh
bootstrap/generated-dists/ubuntu2204/packages.yml
bootstrap/generated-dists/ubuntu2404/Dockerfile [new file with mode: 0644]
bootstrap/generated-dists/ubuntu2404/bootstrap.sh [new file with mode: 0755]
bootstrap/generated-dists/ubuntu2404/locale.sh [new file with mode: 0755]
bootstrap/generated-dists/ubuntu2404/packages.yml [new file with mode: 0644]
bootstrap/sha1sum.txt

index 5fe91a675a7e7222623371402fad7c4003e19b50..a9eb27ea6ec002652804aa6e9d12f323126063e9 100644 (file)
@@ -47,7 +47,7 @@ variables:
   # Set this to the contents of bootstrap/sha1sum.txt
   # which is generated by bootstrap/template.py --render
   #
-  SAMBA_CI_CONTAINER_TAG: cc3865d5074e9898e4a7ffab6fa056ab63ee46ee
+  SAMBA_CI_CONTAINER_TAG: 3dc161f073e0f8ab1c8d5d59fef9e5e33630b51e
   #
   # We use the ubuntu2204 image as default as
   # it matches what we have on atb-devel-224
@@ -60,6 +60,7 @@ variables:
   #
   SAMBA_CI_CONTAINER_IMAGE_ubuntu2004: ubuntu2004
   SAMBA_CI_CONTAINER_IMAGE_ubuntu2204: ubuntu2204
+  SAMBA_CI_CONTAINER_IMAGE_ubuntu2404: ubuntu2404
   SAMBA_CI_CONTAINER_IMAGE_debian11: debian11
   SAMBA_CI_CONTAINER_IMAGE_debian11_32bit: debian11-32bit
   SAMBA_CI_CONTAINER_IMAGE_debian12: debian12
@@ -649,6 +650,11 @@ ubuntu2004-samba-o3:
   variables:
     SAMBA_CI_JOB_IMAGE: ${SAMBA_CI_CONTAINER_IMAGE_ubuntu2004}
 
+ubuntu2404-samba-o3:
+  extends: .samba-o3-template
+  variables:
+    SAMBA_CI_JOB_IMAGE: ${SAMBA_CI_CONTAINER_IMAGE_ubuntu2404}
+
 debian11-samba-o3:
   extends: .samba-o3-template
   variables:
index 48ea3b887a0b970f1be37b084b4ba15f831b3dea..11b973d9112cf07152796b3f04cee3b0c2091b16 100644 (file)
@@ -93,6 +93,9 @@ ubuntu2004:
 ubuntu2204:
   extends: .build_image_template
 
+ubuntu2404:
+  extends: .build_image_template
+
 debian11:
   extends: .build_image_template
 
index 69978313645bdb59435eb231fb86bec78a3b7382..08c12dd17937a4005247dcd7bf362d876578bf6b 100644 (file)
@@ -53,6 +53,7 @@ COMMON = [
     'jq',
     'lcov',
     'make',
+    'mold',
     'patch',
     'perl',
     'psmisc',  # for pstree in test
@@ -77,6 +78,7 @@ PKGS = [
     ('lmdb-utils', 'lmdb'),
     ('mingw-w64', 'mingw64-gcc'),
     ('zlib1g-dev', 'zlib-devel'),
+    ('landscape-common', ''), # for landscape/lib/os_release.py
     ('libbsd-dev', 'libbsd-devel'),
     ('liburing-dev', 'liburing-devel'),
     ('libarchive-dev', 'libarchive-devel'),
@@ -140,7 +142,6 @@ PKGS = [
     ('', 'libtirpc-devel'),  # for <rpc/rpc.h> header on fedora
     ('', 'rpcsvc-proto-devel'), # for <rpcsvc/rquota.h> header
     ('mawk', 'gawk'),
-    ('', 'mold'),
     ('shellcheck', 'ShellCheck'),
     ('', 'crypto-policies-scripts'),
 
@@ -458,6 +459,8 @@ DEB_DISTS = {
             'language-pack-en': '',   # included in locales
             'shfmt': '',
             'cargo': '', # included cargo is broken
+            'landscape-common': '',
+            'mold': '',
         }
     },
     'debian11-32bit': {
@@ -467,6 +470,8 @@ DEB_DISTS = {
             'language-pack-en': '',   # included in locales
             'shfmt': '',
             'cargo': '', # included cargo is broken
+            'landscape-common': '',
+            'mold': '',
         }
     },
     'debian12': {
@@ -476,6 +481,7 @@ DEB_DISTS = {
             'language-pack-en': '',   # included in locales
             'libtracker-sparql-2.0-dev': '',  # only tracker 3.x is available
             'cargo': '', # included cargo is broken
+            'landscape-common': '',
         }
     },
     'debian12-32bit': {
@@ -485,6 +491,7 @@ DEB_DISTS = {
             'language-pack-en': '',   # included in locales
             'libtracker-sparql-2.0-dev': '',  # only tracker 3.x is available
             'cargo': '', # included cargo is broken
+            'landscape-common': '',
         }
     },
     'ubuntu1804': {
@@ -493,6 +500,8 @@ DEB_DISTS = {
         'replace': {
             'liburing-dev': '',   # not available
             'shfmt': '',
+            'landscape-common': '',
+            'mold': '',
         }
     },
     'ubuntu1804-32bit': {
@@ -501,6 +510,8 @@ DEB_DISTS = {
         'replace': {
             'liburing-dev': '',   # not available
             'shfmt': '',
+            'landscape-common': '',
+            'mold': '',
         }
     },
     'ubuntu2004': {
@@ -509,6 +520,7 @@ DEB_DISTS = {
         'replace': {
             'liburing-dev': '',   # not available
             'shfmt': '',
+            'mold': '',
         }
     },
     'ubuntu2204': {
@@ -517,7 +529,14 @@ DEB_DISTS = {
         'replace': {
             'libtracker-sparql-2.0-dev': '',  # only tracker 3.x is available
         },
-    }
+    },
+    'ubuntu2404': {
+        'docker_image': 'ubuntu:24.04',
+        'vagrant_box': 'ubuntu/noble64',
+        'replace': {
+            'libtracker-sparql-2.0-dev': '',  # only tracker 3.x is available
+        },
+    },
 }
 
 
index d901a3770cf5c270a82266175d4197df3db00c03..74993c9c58ac1ddae3978877111e82e3c21fcbbe 100644 (file)
@@ -94,5 +94,12 @@ Vagrant.configure("2") do |config|
         v.vm.provision :shell, path: "ubuntu2204/locale.sh"
     end
 
+    config.vm.define "ubuntu2404" do |v|
+        v.vm.box = "ubuntu/noble64"
+        v.vm.hostname = "ubuntu2404"
+        v.vm.provision :shell, path: "ubuntu2404/bootstrap.sh"
+        v.vm.provision :shell, path: "ubuntu2404/locale.sh"
+    end
+
 
 end
index ba78ddddc128aba61169f0c4237e829381d9b306..6d1d7f610882c292abeb5c37aa5ed4457a895b64 100755 (executable)
@@ -83,6 +83,7 @@ apt-get -y install \
     make \
     mawk \
     mingw-w64 \
+    mold \
     patch \
     perl \
     perl-modules \
index 6105819515415b57c8ec0785258807232c2d5f81..56264828e9a46f70bf341ad4d9e6aa78cd82a4e8 100644 (file)
@@ -72,6 +72,7 @@ packages:
   - make
   - mawk
   - mingw-w64
+  - mold
   - patch
   - perl
   - perl-modules
index ba78ddddc128aba61169f0c4237e829381d9b306..6d1d7f610882c292abeb5c37aa5ed4457a895b64 100755 (executable)
@@ -83,6 +83,7 @@ apt-get -y install \
     make \
     mawk \
     mingw-w64 \
+    mold \
     patch \
     perl \
     perl-modules \
index 6105819515415b57c8ec0785258807232c2d5f81..56264828e9a46f70bf341ad4d9e6aa78cd82a4e8 100644 (file)
@@ -72,6 +72,7 @@ packages:
   - make
   - mawk
   - mingw-w64
+  - mold
   - patch
   - perl
   - perl-modules
index ac716b38593e286655a1ef2c46b1643f2da1ac26..fc2ad508b700f90df5d4fc6b4cdbb9409683671e 100755 (executable)
@@ -42,6 +42,7 @@ apt-get -y install \
     krb5-config \
     krb5-kdc \
     krb5-user \
+    landscape-common \
     language-pack-en \
     lcov \
     libacl1-dev \
index eb8e7ad4053d2b9cb0c6c02edc86b8ee65e58de2..2bdcbfa89ff144ee48f511a3ccc3ee2a8dd36dc3 100644 (file)
@@ -31,6 +31,7 @@ packages:
   - krb5-config
   - krb5-kdc
   - krb5-user
+  - landscape-common
   - language-pack-en
   - lcov
   - libacl1-dev
index 669d53ea747608947f39671eedeb56c5b9c0e110..17831dfaefe84c6c7aed4add60834d284628b851 100755 (executable)
@@ -42,6 +42,7 @@ apt-get -y install \
     krb5-config \
     krb5-kdc \
     krb5-user \
+    landscape-common \
     language-pack-en \
     lcov \
     libacl1-dev \
@@ -85,6 +86,7 @@ apt-get -y install \
     make \
     mawk \
     mingw-w64 \
+    mold \
     patch \
     perl \
     perl-modules \
index 0343ebe0915327fa1558c37b0531e70bb327d3e7..8d5d400a2eafa66651fa0cc70d3d93f1c052c442 100644 (file)
@@ -31,6 +31,7 @@ packages:
   - krb5-config
   - krb5-kdc
   - krb5-user
+  - landscape-common
   - language-pack-en
   - lcov
   - libacl1-dev
@@ -74,6 +75,7 @@ packages:
   - make
   - mawk
   - mingw-w64
+  - mold
   - patch
   - perl
   - perl-modules
diff --git a/bootstrap/generated-dists/ubuntu2404/Dockerfile b/bootstrap/generated-dists/ubuntu2404/Dockerfile
new file mode 100644 (file)
index 0000000..a430d29
--- /dev/null
@@ -0,0 +1,29 @@
+#
+# This file is generated by 'bootstrap/template.py --render'
+# See also bootstrap/config.py
+#
+
+FROM ubuntu:24.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/ubuntu2404/bootstrap.sh b/bootstrap/generated-dists/ubuntu2404/bootstrap.sh
new file mode 100755 (executable)
index 0000000..17831df
--- /dev/null
@@ -0,0 +1,124 @@
+#!/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 \
+    landscape-common \
+    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 \
+    libunwind-dev \
+    liburing-dev \
+    libutf8proc-dev \
+    lmdb-utils \
+    locales \
+    lsb-release \
+    make \
+    mawk \
+    mingw-w64 \
+    mold \
+    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 \
+    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/ubuntu2404/locale.sh b/bootstrap/generated-dists/ubuntu2404/locale.sh
new file mode 100755 (executable)
index 0000000..cc64e18
--- /dev/null
@@ -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/ubuntu2404/packages.yml b/bootstrap/generated-dists/ubuntu2404/packages.yml
new file mode 100644 (file)
index 0000000..8d5d400
--- /dev/null
@@ -0,0 +1,109 @@
+---
+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
+  - landscape-common
+  - 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
+  - libunwind-dev
+  - liburing-dev
+  - libutf8proc-dev
+  - lmdb-utils
+  - locales
+  - lsb-release
+  - make
+  - mawk
+  - mingw-w64
+  - mold
+  - 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
+  - shfmt
+  - sudo
+  - tar
+  - tree
+  - uuid-dev
+  - wget
+  - xfslibs-dev
+  - xsltproc
+  - xz-utils
+  - zlib1g-dev
\ No newline at end of file
index 43732b284ca7d0d2b18685c5a4bb3e0e04a8e4ca..7a8d58b5aaee41ddf40c4e5ba995c37c71f40e14 100644 (file)
@@ -1 +1 @@
-cc3865d5074e9898e4a7ffab6fa056ab63ee46ee
+3dc161f073e0f8ab1c8d5d59fef9e5e33630b51e