From 415f64894fd72a7e9176bba8f2aefd160fce4651 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 16 Jul 2024 19:05:20 +0200 Subject: [PATCH] Add Ubuntu 24.04 container Basically copied from Ubuntu 22.04 --- ubuntu2404-builder/packer.json | 30 ++++++++++++++++++++++++++++++ ubuntu2404-builder/provision.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 ubuntu2404-builder/packer.json create mode 100755 ubuntu2404-builder/provision.sh diff --git a/ubuntu2404-builder/packer.json b/ubuntu2404-builder/packer.json new file mode 100644 index 0000000..6ad3a12 --- /dev/null +++ b/ubuntu2404-builder/packer.json @@ -0,0 +1,30 @@ +{ + "_comment": "Ubuntu 24.04 builder X-enabled", + "variables": { + "REPO": "registry.cern.ch/alisw/ubuntu2404-builder", + "TAG": "latest" + }, + "builders": [ + { + "type": "docker", + "image": "ubuntu:24.04", + "commit": true + } + ], + "provisioners": [ + { + "type": "shell", + "script": "provision.sh" + } + ], + "post-processors": [ + [ + { + "type": "docker-tag", + "repository": "{{user `REPO`}}", + "tag": "{{user `TAG`}}" + }, + "docker-push" + ] + ] +} diff --git a/ubuntu2404-builder/provision.sh b/ubuntu2404-builder/provision.sh new file mode 100755 index 0000000..99fecab --- /dev/null +++ b/ubuntu2404-builder/provision.sh @@ -0,0 +1,29 @@ +#!/usr/bin/bash +set -exo pipefail + +# Create users and groups for mesos. -r -U means that the groups created +# automatically for each user will have the same gid as the uid (so group +# mesosalien will have gid 980, and so on). +useradd -rUu 980 mesosalien +useradd -rUu 981 mesosci +useradd -rUu 982 mesosdaq +useradd -rUu 983 mesosuser +useradd -rUu 984 mesostest + +export DEBIAN_FRONTEND=noninteractive +apt update -y +apt upgrade -y +apt install -y apt-utils +apt install -y build-essential autoconf automake autopoint bison flex \ + gettext gfortran gtk-doc-tools libtool libtool-bin pkg-config \ + texinfo libbz2-dev libcurl4-gnutls-dev libfftw3-dev libglfw3-dev \ + libglu1-mesa-dev libkmod-dev liblzma-dev libmotif-dev \ + libmysqlclient-dev libnanomsg-dev libncurses-dev libpci-dev \ + libperl-dev libtbb-dev libxml2-dev linux-headers-generic \ + lsb-release swig xorg-dev unzip curl rsync ed git pigz rclone \ + environment-modules ruby-full rubygems-integration python3-dev \ + python3-venv python3-pip python-is-python3 \ + openjdk-8-jdk # for Jenkins + +# Don't generate rdoc or ri documentation. +gem install --no-document fpm