From 123660031aebf9d227c8525d64de1e7f3863be9c Mon Sep 17 00:00:00 2001 From: Jana Babovakova Date: Tue, 1 Apr 2025 12:05:46 +0200 Subject: [PATCH] CI: Massive update of build and test runners Fixed and added current distros, deleted certain EOL distros, sorted things in the CI file. With some heavy lifting and comments by Maria. Signed-Off-By: Maria Matejka --- .gitlab-ci.yml | 319 +++++++++++--------- misc/docker/centos-7-amd64/Dockerfile | 6 +- misc/docker/centos-8-amd64/Dockerfile | 1 + misc/docker/debian-10-amd64/Dockerfile | 6 +- misc/docker/debian-10-i386/Dockerfile | 7 +- misc/docker/debian-11-amd64/Dockerfile | 5 +- misc/docker/debian-11-i386/Dockerfile | 7 +- misc/docker/debian-12-amd64/Dockerfile | 1 + misc/docker/debian-12-i386/Dockerfile | 4 +- misc/docker/debian-9-amd64/Dockerfile | 31 -- misc/docker/debian-9-i386/Dockerfile | 31 -- misc/docker/debian-testing-amd64/Dockerfile | 21 +- misc/docker/debian-testing-i386/Dockerfile | 21 +- misc/docker/docbuilder/Dockerfile | 14 +- misc/docker/fedora-32-amd64/Dockerfile | 4 +- misc/docker/fedora-33-amd64/Dockerfile | 2 + misc/docker/fedora-34-amd64/Dockerfile | 2 + misc/docker/fedora-35-amd64/Dockerfile | 2 + misc/docker/fedora-36-amd64/Dockerfile | 2 + misc/docker/fedora-37-amd64/Dockerfile | 2 + misc/docker/fedora-38-amd64/Dockerfile | 2 + misc/docker/fedora-39-amd64/Dockerfile | 2 + misc/docker/fedora-40-amd64/Dockerfile | 2 + misc/docker/fedora-41-amd64/Dockerfile | 2 + misc/docker/opensuse-15.0-amd64/Dockerfile | 18 +- misc/docker/opensuse-15.1-amd64/Dockerfile | 2 + misc/docker/opensuse-15.2-amd64/Dockerfile | 2 + misc/docker/opensuse-15.3-amd64/Dockerfile | 2 + misc/docker/ubuntu-14.04-amd64/Dockerfile | 12 - misc/docker/ubuntu-16.04-amd64/Dockerfile | 12 - misc/docker/ubuntu-18.04-amd64/Dockerfile | 10 +- misc/docker/ubuntu-20.04-amd64/Dockerfile | 10 +- misc/docker/ubuntu-22.04-amd64/Dockerfile | 5 +- misc/docker/ubuntu-24.04-amd64/Dockerfile | 5 +- misc/docker/ubuntu-24.10-amd64/Dockerfile | 5 +- 35 files changed, 322 insertions(+), 257 deletions(-) delete mode 100644 misc/docker/debian-9-amd64/Dockerfile delete mode 100644 misc/docker/debian-9-i386/Dockerfile delete mode 100644 misc/docker/ubuntu-14.04-amd64/Dockerfile delete mode 100644 misc/docker/ubuntu-16.04-amd64/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c35f7df5..25cb9fc50 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,8 @@ +## TODO: find out how to generate this file by another yaml file. +## Gitlab can do it but it is a stupid idea to mess with this +## when releasing 4 versions at once. See ya later! +## -- Maria, April 2025 + variables: DEBIAN_FRONTEND: noninteractive LC_ALL: C.UTF-8 @@ -14,6 +19,12 @@ stages: - test - release +## Docker Image Rules +# +# We are running all the build / packaging tests in Dockers (unless otherwise) +# and these are rules to build these docker images. These are expensive to run +# and should run only if needed. + .docker: &docker_build stage: image script: @@ -47,14 +58,14 @@ docker-docbuilder: IMG_NAME: "docbuilder" <<: *docker_build -docker-debian-9-amd64: +docker-centos-7-amd64: variables: - IMG_NAME: "debian-9-amd64" + IMG_NAME: "centos-7-amd64" <<: *docker_build -docker-debian-9-i386: +docker-centos-8-amd64: variables: - IMG_NAME: "debian-9-i386" + IMG_NAME: "centos-8-amd64" <<: *docker_build docker-debian-10-amd64: @@ -147,66 +158,71 @@ docker-fedora-41-amd64: IMG_NAME: "fedora-41-amd64" <<: *docker_build -docker-centos-7-amd64: - variables: - IMG_NAME: "centos-7-amd64" - <<: *docker_build +#planned release 4/2025 +# docker-fedora-42-amd64: +# variables: +# IMG_NAME: "fedora-42-amd64" +# <<: *docker_build -docker-centos-8-amd64: +docker-opensuse-15.0-amd64: variables: - IMG_NAME: "centos-8-amd64" + IMG_NAME: "opensuse-15.0-amd64" <<: *docker_build -docker-ubuntu-16_04-amd64: +docker-opensuse-15.1-amd64: variables: - IMG_NAME: "ubuntu-16.04-amd64" + IMG_NAME: "opensuse-15.1-amd64" <<: *docker_build -docker-ubuntu-18_04-amd64: +docker-opensuse-15.2-amd64: variables: - IMG_NAME: "ubuntu-18.04-amd64" + IMG_NAME: "opensuse-15.2-amd64" <<: *docker_build -docker-ubuntu-20_04-amd64: +docker-opensuse-15.3-amd64: variables: - IMG_NAME: "ubuntu-20.04-amd64" + IMG_NAME: "opensuse-15.3-amd64" <<: *docker_build -docker-ubuntu-22_04-amd64: +docker-opensuse-15.4-amd64: variables: - IMG_NAME: "ubuntu-22.04-amd64" + IMG_NAME: "opensuse-15.4-amd64" <<: *docker_build -docker-ubuntu-24_04-amd64: +docker-opensuse-15.5-amd64: variables: - IMG_NAME: "ubuntu-24.04-amd64" + IMG_NAME: "opensuse-15.5-amd64" <<: *docker_build -docker-ubuntu-24_10-amd64: +docker-ubuntu-18_04-amd64: variables: - IMG_NAME: "ubuntu-24.10-amd64" + IMG_NAME: "ubuntu-18.04-amd64" <<: *docker_build -docker-opensuse-15.0-amd64: +docker-ubuntu-20_04-amd64: variables: - IMG_NAME: "opensuse-15.0-amd64" + IMG_NAME: "ubuntu-20.04-amd64" <<: *docker_build -docker-opensuse-15.1-amd64: +docker-ubuntu-22_04-amd64: variables: - IMG_NAME: "opensuse-15.1-amd64" + IMG_NAME: "ubuntu-22.04-amd64" <<: *docker_build -docker-opensuse-15.2-amd64: +docker-ubuntu-24_04-amd64: variables: - IMG_NAME: "opensuse-15.2-amd64" + IMG_NAME: "ubuntu-24.04-amd64" <<: *docker_build -docker-opensuse-15.3-amd64: +docker-ubuntu-24_10-amd64: variables: - IMG_NAME: "opensuse-15.3-amd64" + IMG_NAME: "ubuntu-24.10-amd64" <<: *docker_build +## Build stage +# +# Now we compile and run unit tests ... in every single distribution. +# Every task needs its docker, see above. .build: &build-base stage: build @@ -221,6 +237,7 @@ docker-opensuse-15.3-amd64: # Build docs when tools are available - if which linuxdoc pdflatex sgmlsasp >/dev/null ; then $MAKE docs ; fi +# A special task for preparing the release archives build-release: image: registry.nic.cz/labs/bird:docbuilder stage: build @@ -233,7 +250,7 @@ build-release: - make obj/doc/bird-singlepage.html - BRANCH=$CI_COMMIT_BRANCH tools/make-archive artifacts: - paths: + paths: - obj/doc/bird-singlepage.html - bird-*.tar.gz expire_in: 1 day @@ -245,13 +262,17 @@ build-release: - linux - amd64 -build-debian-9-amd64: +build-centos-7-amd64: <<: *build-linux - image: registry.nic.cz/labs/bird:debian-9-amd64 + variables: + # export path to devtoolset-8-gcc + CC: /opt/rh/devtoolset-8/root/usr/bin/gcc + LC_ALL: en_US.UTF-8 + image: registry.nic.cz/labs/bird:centos-7-amd64 -build-debian-9-i386: +build-centos-8-amd64: <<: *build-linux - image: registry.nic.cz/labs/bird:debian-9-i386 + image: registry.nic.cz/labs/bird:centos-8-amd64 build-debian-10-amd64: <<: *build-linux @@ -325,21 +346,34 @@ build-fedora-41-amd64: <<: *build-linux image: registry.nic.cz/labs/bird:fedora-41-amd64 -build-centos-7-amd64: +#planned release 4/2025 +# build-fedora-42-amd64: +# <<: *build-linux +# image: registry.nic.cz/labs/bird:fedora-42-amd64 + +build-opensuse-15.0-amd64: <<: *build-linux - variables: - # export path to devtoolset-8-gcc - CC: /opt/rh/devtoolset-8/root/usr/bin/gcc - LC_ALL: en_US.UTF-8 - image: registry.nic.cz/labs/bird:centos-7-amd64 + image: registry.nic.cz/labs/bird:opensuse-15.0-amd64 -build-centos-8-amd64: +build-opensuse-15.1-amd64: <<: *build-linux - image: registry.nic.cz/labs/bird:centos-8-amd64 + image: registry.nic.cz/labs/bird:opensuse-15.1-amd64 + +build-opensuse-15.2-amd64: + <<: *build-linux + image: registry.nic.cz/labs/bird:opensuse-15.2-amd64 + +build-opensuse-15.3-amd64: + <<: *build-linux + image: registry.nic.cz/labs/bird:opensuse-15.3-amd64 + +build-opensuse-15.4-amd64: + <<: *build-linux + image: registry.nic.cz/labs/bird:opensuse-15.4-amd64 -build-ubuntu-16_04-amd64: +build-opensuse-15.5-amd64: <<: *build-linux - image: registry.nic.cz/labs/bird:ubuntu-16.04-amd64 + image: registry.nic.cz/labs/bird:opensuse-15.5-amd64 build-ubuntu-18_04-amd64: <<: *build-linux @@ -361,38 +395,11 @@ build-ubuntu-24_10-amd64: <<: *build-linux image: registry.nic.cz/labs/bird:ubuntu-24.10-amd64 -build-opensuse-15.0-amd64: - <<: *build-linux - image: registry.nic.cz/labs/bird:opensuse-15.0-amd64 - -build-opensuse-15.1-amd64: - <<: *build-linux - image: registry.nic.cz/labs/bird:opensuse-15.1-amd64 - -build-opensuse-15.2-amd64: - <<: *build-linux - image: registry.nic.cz/labs/bird:opensuse-15.2-amd64 - -build-opensuse-15.3-amd64: - <<: *build-linux - image: registry.nic.cz/labs/bird:opensuse-15.3-amd64 - -#build-freebsd-11-amd64: -# <<: *build-base -# tags: -# - freebsd -# - amd64 - -#build-freebsd-11-i386: -# <<: *build-base -# tags: -# - freebsd -# - i386 - +# Testing builds for just a single protocol each time .build-only: &build-only <<: *build-linux - image: registry.nic.cz/labs/bird:debian-11-amd64 + image: registry.nic.cz/labs/bird:debian-12-amd64 build-only-aggregator: <<: *build-only @@ -459,6 +466,12 @@ build-only-static: variables: CONFIGURE_OPTIONS: --with-protocols=static +# Packaging rules +# As we support some ancient versions of different distributions, +# we need to keep several different machineries. It's not so bad +# but it's bad nevertheless. +# +# We do NOT build separate documentation packages in these rules. .pkg-deb: &pkg-deb stage: pkg @@ -478,7 +491,9 @@ build-only-static: # create venv only if it's installed - if python3 -m venv venv; then . venv/bin/activate; fi # install older version of bs4 that does not use python version >= 3.6 - - pip3 install beautifulsoup4==4.11.2 + # apkg depends on bs4, and unless we want to backport python 3.6 + # to ancient distros, we need to do this workaround + - pip3 install beautifulsoup4==4.11.2 - pip3 install apkg - BRANCH=$CI_COMMIT_BRANCH ARCHIVE_DOCS=false apkg build #- apkg install -y pkg/pkgs/*/*/*.deb @@ -509,6 +524,20 @@ build-only-static: paths: - pkg/pkgs/* +pkg-centos-7-amd64: + <<: *pkg-rpm-wa + variables: + # export path to devtoolset-8-gcc + CC: /opt/rh/devtoolset-8/root/usr/bin/gcc + LC_ALL: en_US.UTF-8 + needs: [build-centos-7-amd64] + image: registry.nic.cz/labs/bird:centos-7-amd64 + +pkg-centos-8-amd64: + <<: *pkg-rpm-wa + needs: [build-centos-8-amd64] + image: registry.nic.cz/labs/bird:centos-8-amd64 + pkg-debian-10-amd64: <<: *pkg-deb needs: [build-debian-10-amd64] @@ -539,6 +568,16 @@ pkg-debian-12-i386: needs: [build-debian-12-i386] image: registry.nic.cz/labs/bird:debian-12-i386 +pkg-debian-testing-amd64: + <<: *pkg-deb + needs: [build-debian-testing-amd64] + image: registry.nic.cz/labs/bird:debian-testing-amd64 + +pkg-debian-testing-i386: + <<: *pkg-deb + needs: [build-debian-testing-i386] + image: registry.nic.cz/labs/bird:debian-testing-i386 + pkg-fedora-32-amd64: <<: *pkg-rpm-wa needs: [build-fedora-32-amd64] @@ -589,19 +628,41 @@ pkg-fedora-41-amd64: needs: [build-fedora-41-amd64] image: registry.nic.cz/labs/bird:fedora-41-amd64 -pkg-centos-7-amd64: +#planned release 4/2025 +# pkg-fedora-42-amd64: +# <<: *pkg-rpm +# needs: [build-fedora-42-amd64] +# image: registry.nic.cz/labs/bird:fedora-42-amd64 + +pkg-opensuse-15.0-amd64: + <<: *pkg-rpm-wa + needs: [build-opensuse-15.0-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.0-amd64 + +pkg-opensuse-15.1-amd64: + <<: *pkg-rpm-wa + needs: [build-opensuse-15.1-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.1-amd64 + +pkg-opensuse-15.2-amd64: + <<: *pkg-rpm-wa + needs: [build-opensuse-15.2-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.2-amd64 + +pkg-opensuse-15.3-amd64: <<: *pkg-rpm-wa - variables: - # export path to devtoolset-8-gcc - CC: /opt/rh/devtoolset-8/root/usr/bin/gcc - LC_ALL: en_US.UTF-8 - needs: [build-centos-7-amd64] - image: registry.nic.cz/labs/bird:centos-7-amd64 + needs: [build-opensuse-15.3-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.3-amd64 -pkg-centos-8-amd64: +pkg-opensuse-15.4-amd64: <<: *pkg-rpm-wa - needs: [build-centos-8-amd64] - image: registry.nic.cz/labs/bird:centos-8-amd64 + needs: [build-opensuse-15.4-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.4-amd64 + +pkg-opensuse-15.5-amd64: + <<: *pkg-rpm-wa + needs: [build-opensuse-15.5-amd64] + image: registry.nic.cz/labs/bird:opensuse-15.5-amd64 pkg-ubuntu-18.04-amd64: <<: *pkg-deb-legacy @@ -628,40 +689,21 @@ pkg-ubuntu-24.10-amd64: needs: [build-ubuntu-24_10-amd64] image: registry.nic.cz/labs/bird:ubuntu-24.10-amd64 -pkg-opensuse-15.1-amd64: - <<: *pkg-rpm-wa - needs: [build-opensuse-15.1-amd64] - image: registry.nic.cz/labs/bird:opensuse-15.1-amd64 - -pkg-opensuse-15.2-amd64: - <<: *pkg-rpm-wa - needs: [build-opensuse-15.2-amd64] - image: registry.nic.cz/labs/bird:opensuse-15.2-amd64 - -pkg-opensuse-15.3-amd64: - <<: *pkg-rpm-wa - needs: [build-opensuse-15.3-amd64] - image: registry.nic.cz/labs/bird:opensuse-15.3-amd64 - - build-netlab: stage: build - variables: - BDIR: build-netlab tags: - netlab - amd64 script: + - DIR=$(pwd) - autoreconf - - mkdir $BDIR - - cd $BDIR - - ../configure + - ./configure - BRANCH=$CI_COMMIT_BRANCH make - artifacts: - paths: - - $BDIR/bird - - $BDIR/birdc - expire_in: 2 hours + - cd $TOOLS_DIR + - sudo git clean -fx + - git pull --ff-only + - mv $DIR/bird $DIR/birdc netlab/common + - ln -s $STAYRTR_BINARY netlab/common/stayrtr .test: &test-base stage: test @@ -670,13 +712,7 @@ build-netlab: - netlab - amd64 script: - - DIR=$(pwd) - - cd $TOOLS_DIR - - sudo git clean -fx - - git pull --ff-only - - mv $DIR/build-netlab/* netlab/common/ - - ln -s $STAYRTR_BINARY netlab/common/stayrtr - - cd netlab + - cd $TOOLS_DIR/netlab - sudo ./stop - sudo ./runtest -s v2 -m check $TEST_NAME @@ -849,24 +885,7 @@ test-mpls-bgp-l3vpn: - gmake - gmake check -build-birdlab-debian-11: - <<: *build-birdlab-base - tags: - - birdlab-debian-11 - - amd64 - -build-birdlab-centos-08: - <<: *build-birdlab-base - tags: - - birdlab-centos-08 - - amd64 - -build-birdlab-fedora-37: - <<: *build-birdlab-base - tags: - - birdlab-fedora-37 - - amd64 - +# There is no docker for BSD's, these are proper virtuals in QEMU. build-birdlab-freebsd-13: <<: *build-birdlab-base tags: @@ -881,7 +900,33 @@ build-birdlab-openbsd-71: - birdlab-openbsd-71 - amd64 -confirm-release: +# We have also some virtuals for these but there are working dockers as well +# so no need to bother again +#build-birdlab-debian-11: +# <<: *build-birdlab-base +# tags: +# - birdlab-debian-11 +# - amd64 +# +#build-birdlab-centos-08: +# <<: *build-birdlab-base +# tags: +# - birdlab-centos-08 +# - amd64 +# +#build-birdlab-fedora-37: +# <<: *build-birdlab-base +# tags: +# - birdlab-fedora-37 +# - amd64 + +# Release confirmation job for tag pushing. As soon as we finish our web +# deployment automatic machinery, clicking the button is expected to +# publish the release info on our website. +# +# We are not there yet tho, too many other fish to fry. + +publish-release: stage: release script: - "true" diff --git a/misc/docker/centos-7-amd64/Dockerfile b/misc/docker/centos-7-amd64/Dockerfile index eab1243f5..0efed4167 100644 --- a/misc/docker/centos-7-amd64/Dockerfile +++ b/misc/docker/centos-7-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM centos:7 # Has to be done for yum to work properly. CentOS 7 is EOL. @@ -5,9 +6,9 @@ RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/CentOS-*.repo RUN sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/CentOS-*.repo RUN sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/CentOS-*.repo -# Add new repos for devtoolset-8-gcc. +# Add new repos for devtoolset-8-gcc. # We need to use devtoolset, because BIRD cannot be correctly compiled with CentOS 7 version of gcc. -RUN echo -e \ +RUN echo -e \ "\n[centos-sclo-rh]\nname=CentOS-7.8.2003 - SCLo rh\nbaseurl=https://vault.centos.org/7.8.2003/sclo/\$basearch/rh/\ngpgcheck=0\nenabled=1" \ >> /etc/yum.repos.d/CentOS-Base.repo RUN echo -e \ @@ -41,5 +42,6 @@ RUN yum -y install \ python3-setuptools \ devtoolset-8-toolchain +# Backported newer RPM macros, hoping that it stays there for some while until we drop CentOS 7 support RUN yum -y install \ ftp://ftp.icm.edu.pl/packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/systemsmanagement:/Ardana:/8:/CentOS/CentOS_7.3/noarch/systemd-rpm-macros-3-5.2.noarch.rpm diff --git a/misc/docker/centos-8-amd64/Dockerfile b/misc/docker/centos-8-amd64/Dockerfile index 4402fd5c7..667d99e59 100644 --- a/misc/docker/centos-8-amd64/Dockerfile +++ b/misc/docker/centos-8-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM centos:8 # Has to be done for yum to work properly. CentOS 8 is EOL. diff --git a/misc/docker/debian-10-amd64/Dockerfile b/misc/docker/debian-10-amd64/Dockerfile index 29034a842..1e281a0d1 100644 --- a/misc/docker/debian-10-amd64/Dockerfile +++ b/misc/docker/debian-10-amd64/Dockerfile @@ -1,5 +1,6 @@ +# bump number for image rebuild: 0 FROM debian:buster-slim -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade RUN apt-get -y --no-install-recommends install \ @@ -22,4 +23,5 @@ RUN apt-get -y --no-install-recommends install \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/debian-10-i386/Dockerfile b/misc/docker/debian-10-i386/Dockerfile index 99570ffc5..e3c164e8c 100644 --- a/misc/docker/debian-10-i386/Dockerfile +++ b/misc/docker/debian-10-i386/Dockerfile @@ -1,5 +1,6 @@ +# bump number for image rebuild: 0 FROM i386/debian:buster-slim -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade RUN apt-get -y --no-install-recommends install \ @@ -19,7 +20,9 @@ RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ + apt-utils \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/debian-11-amd64/Dockerfile b/misc/docker/debian-11-amd64/Dockerfile index 245c842cf..94f2a54de 100644 --- a/misc/docker/debian-11-amd64/Dockerfile +++ b/misc/docker/debian-11-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM amd64/debian:bullseye-slim ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update @@ -19,7 +20,9 @@ RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ + apt-utils \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/debian-11-i386/Dockerfile b/misc/docker/debian-11-i386/Dockerfile index 1edb4579c..1fcbc37d7 100644 --- a/misc/docker/debian-11-i386/Dockerfile +++ b/misc/docker/debian-11-i386/Dockerfile @@ -1,7 +1,8 @@ # bump number for image rebuild: 1 FROM i386/debian:bullseye-slim ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get -y update && apt-get -y upgrade +RUN apt-get -y update +RUN apt-get -y upgrade RUN apt-get -y --no-install-recommends install \ build-essential \ flex \ @@ -19,7 +20,9 @@ RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ + apt-utils \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/debian-12-amd64/Dockerfile b/misc/docker/debian-12-amd64/Dockerfile index 9a3ab9f43..cdee03f99 100644 --- a/misc/docker/debian-12-amd64/Dockerfile +++ b/misc/docker/debian-12-amd64/Dockerfile @@ -20,6 +20,7 @@ RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ + apt-utils \ quilt \ python3 \ python3-pip \ diff --git a/misc/docker/debian-12-i386/Dockerfile b/misc/docker/debian-12-i386/Dockerfile index a324f9efa..906f9fa5c 100644 --- a/misc/docker/debian-12-i386/Dockerfile +++ b/misc/docker/debian-12-i386/Dockerfile @@ -1,7 +1,8 @@ # bump number for image rebuild: 1 FROM i386/debian:bookworm-slim ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get -y update && apt-get -y upgrade +RUN apt-get -y update +RUN apt-get -y upgrade RUN apt-get -y --no-install-recommends install \ build-essential \ flex \ @@ -19,6 +20,7 @@ RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ + apt-utils \ quilt \ python3 \ python3-pip \ diff --git a/misc/docker/debian-9-amd64/Dockerfile b/misc/docker/debian-9-amd64/Dockerfile deleted file mode 100644 index 010b275c9..000000000 --- a/misc/docker/debian-9-amd64/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -FROM debian:stretch-slim -ENV DEBIAN_FRONTEND noninteractive - -# Has to be done for apt-get to work properly. Debian 9 is EOL. -RUN sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list -RUN sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list -RUN sed -i '/stretch-updates/d' /etc/apt/sources.list - -RUN apt-get -y update -RUN apt-get -y upgrade -RUN apt-get -y --no-install-recommends install \ - build-essential \ - flex \ - bison \ - autoconf \ - ncurses-dev \ - libreadline-dev \ - libssh-gcrypt-dev \ - linuxdoc-tools-latex \ - texlive-latex-extra \ - opensp \ - docbook-xsl \ - xsltproc -RUN apt-get -y --no-install-recommends install \ - git \ - dpkg-dev \ - debhelper \ - quilt \ - python3 \ - python3-pip \ - python3-setuptools diff --git a/misc/docker/debian-9-i386/Dockerfile b/misc/docker/debian-9-i386/Dockerfile deleted file mode 100644 index 93d27d271..000000000 --- a/misc/docker/debian-9-i386/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -FROM i386/debian:stretch-slim -ENV DEBIAN_FRONTEND noninteractive - -# Has to be done for apt-get to work properly. Debian 9 is EOL. -RUN sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list -RUN sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list -RUN sed -i '/stretch-updates/d' /etc/apt/sources.list - -RUN apt-get -y update -RUN apt-get -y upgrade -RUN apt-get -y --no-install-recommends install \ - build-essential \ - flex \ - bison \ - autoconf \ - ncurses-dev \ - libreadline-dev \ - libssh-gcrypt-dev \ - linuxdoc-tools-latex \ - texlive-latex-extra \ - opensp \ - docbook-xsl \ - xsltproc -RUN apt-get -y --no-install-recommends install \ - git \ - dpkg-dev \ - debhelper \ - quilt \ - python3 \ - python3-pip \ - python3-setuptools diff --git a/misc/docker/debian-testing-amd64/Dockerfile b/misc/docker/debian-testing-amd64/Dockerfile index e377cf321..f40e8c4fe 100644 --- a/misc/docker/debian-testing-amd64/Dockerfile +++ b/misc/docker/debian-testing-amd64/Dockerfile @@ -1,11 +1,28 @@ +# bump number for image rebuild: 0 FROM debian:testing-slim ENV DEBIAN_FRONTEND noninteractive RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ build-essential \ flex \ bison \ autoconf \ ncurses-dev \ - libreadline-dev + libreadline-dev \ + libssh-dev \ + linuxdoc-tools-latex \ + texlive-latex-extra \ + opensp \ + docbook-xsl \ + xsltproc +RUN apt-get -y --no-install-recommends install \ + git \ + dpkg-dev \ + debhelper \ + apt-utils \ + quilt \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-venv diff --git a/misc/docker/debian-testing-i386/Dockerfile b/misc/docker/debian-testing-i386/Dockerfile index 1c16c0fa0..866738d61 100644 --- a/misc/docker/debian-testing-i386/Dockerfile +++ b/misc/docker/debian-testing-i386/Dockerfile @@ -1,11 +1,28 @@ +# bump number for image rebuild: 0 FROM i386/debian:testing-slim ENV DEBIAN_FRONTEND noninteractive RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ build-essential \ flex \ bison \ autoconf \ ncurses-dev \ - libreadline-dev + libreadline-dev \ + libssh-dev \ + linuxdoc-tools-latex \ + texlive-latex-extra \ + opensp \ + docbook-xsl \ + xsltproc +RUN apt-get -y --no-install-recommends install \ + git \ + dpkg-dev \ + debhelper \ + apt-utils \ + quilt \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-venv diff --git a/misc/docker/docbuilder/Dockerfile b/misc/docker/docbuilder/Dockerfile index 71ab2969a..464ec3030 100644 --- a/misc/docker/docbuilder/Dockerfile +++ b/misc/docker/docbuilder/Dockerfile @@ -1,6 +1,6 @@ # bump this to recreate the image: 2 FROM debian:bookworm-slim -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade RUN apt-get -y --no-install-recommends install \ @@ -10,9 +10,21 @@ RUN apt-get -y --no-install-recommends install \ autoconf \ git \ pandoc \ + ncurses-dev \ + libreadline-dev \ + libssh-gcrypt-dev \ linuxdoc-tools-latex \ texlive-latex-extra \ groff \ opensp \ docbook-xsl \ xsltproc +RUN apt-get -y --no-install-recommends install \ + dpkg-dev \ + debhelper \ + apt-utils \ + quilt \ + python3 \ + python3-pip \ + python3-setuptools \ + python3-venv diff --git a/misc/docker/fedora-32-amd64/Dockerfile b/misc/docker/fedora-32-amd64/Dockerfile index 609dbf33e..bd2759300 100644 --- a/misc/docker/fedora-32-amd64/Dockerfile +++ b/misc/docker/fedora-32-amd64/Dockerfile @@ -1,11 +1,13 @@ +# bump number for image rebuild: 0 FROM fedora:32 -RUN dnf -y update +RUN dnf -y upgrade RUN dnf -y install \ gcc \ make \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-33-amd64/Dockerfile b/misc/docker/fedora-33-amd64/Dockerfile index 7e7070687..08efe2f8c 100644 --- a/misc/docker/fedora-33-amd64/Dockerfile +++ b/misc/docker/fedora-33-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:33 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-34-amd64/Dockerfile b/misc/docker/fedora-34-amd64/Dockerfile index 6bd775296..f39087b7e 100644 --- a/misc/docker/fedora-34-amd64/Dockerfile +++ b/misc/docker/fedora-34-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:34 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-35-amd64/Dockerfile b/misc/docker/fedora-35-amd64/Dockerfile index dee5d2469..ff728bd1a 100644 --- a/misc/docker/fedora-35-amd64/Dockerfile +++ b/misc/docker/fedora-35-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:35 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-36-amd64/Dockerfile b/misc/docker/fedora-36-amd64/Dockerfile index cb84e3c73..eb98def6f 100644 --- a/misc/docker/fedora-36-amd64/Dockerfile +++ b/misc/docker/fedora-36-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:36 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-37-amd64/Dockerfile b/misc/docker/fedora-37-amd64/Dockerfile index e6cbd7f5b..a8003d224 100644 --- a/misc/docker/fedora-37-amd64/Dockerfile +++ b/misc/docker/fedora-37-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:37 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-38-amd64/Dockerfile b/misc/docker/fedora-38-amd64/Dockerfile index 5f889b848..1ef81e76a 100644 --- a/misc/docker/fedora-38-amd64/Dockerfile +++ b/misc/docker/fedora-38-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:38 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-39-amd64/Dockerfile b/misc/docker/fedora-39-amd64/Dockerfile index 1e0c812ec..e986bf218 100644 --- a/misc/docker/fedora-39-amd64/Dockerfile +++ b/misc/docker/fedora-39-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:39 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-40-amd64/Dockerfile b/misc/docker/fedora-40-amd64/Dockerfile index 786385fea..ab2c532ea 100644 --- a/misc/docker/fedora-40-amd64/Dockerfile +++ b/misc/docker/fedora-40-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:40 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/fedora-41-amd64/Dockerfile b/misc/docker/fedora-41-amd64/Dockerfile index e3f3a89b5..6d9b80d94 100644 --- a/misc/docker/fedora-41-amd64/Dockerfile +++ b/misc/docker/fedora-41-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM fedora:41 RUN dnf -y upgrade RUN dnf -y install \ @@ -6,6 +7,7 @@ RUN dnf -y install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/opensuse-15.0-amd64/Dockerfile b/misc/docker/opensuse-15.0-amd64/Dockerfile index b1faff409..b0653b37f 100644 --- a/misc/docker/opensuse-15.0-amd64/Dockerfile +++ b/misc/docker/opensuse-15.0-amd64/Dockerfile @@ -1,11 +1,21 @@ +# bump number for image rebuild: 0 FROM opensuse/leap:15.0 RUN zypper -n up RUN zypper -n install \ - autoconf \ + gcc \ + make \ flex \ bison \ + autoconf \ pkgconfig \ - readline-devel \ + libssh-devel \ ncurses-devel \ - gcc \ - gmake + readline-devel +RUN zypper -n install \ + git \ + rpm-build \ + systemd \ + systemd-rpm-macros \ + python3 \ + python3-pip \ + python3-setuptools diff --git a/misc/docker/opensuse-15.1-amd64/Dockerfile b/misc/docker/opensuse-15.1-amd64/Dockerfile index 77a0455d2..a467059ea 100644 --- a/misc/docker/opensuse-15.1-amd64/Dockerfile +++ b/misc/docker/opensuse-15.1-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM opensuse/leap:15.1 RUN zypper -n up RUN zypper -n install \ @@ -6,6 +7,7 @@ RUN zypper -n install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/opensuse-15.2-amd64/Dockerfile b/misc/docker/opensuse-15.2-amd64/Dockerfile index 44a146db0..daf48d39f 100644 --- a/misc/docker/opensuse-15.2-amd64/Dockerfile +++ b/misc/docker/opensuse-15.2-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM opensuse/leap:15.2 RUN zypper -n up RUN zypper -n install \ @@ -6,6 +7,7 @@ RUN zypper -n install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/opensuse-15.3-amd64/Dockerfile b/misc/docker/opensuse-15.3-amd64/Dockerfile index 9fe8f4c2a..3ba552080 100644 --- a/misc/docker/opensuse-15.3-amd64/Dockerfile +++ b/misc/docker/opensuse-15.3-amd64/Dockerfile @@ -1,3 +1,4 @@ +# bump number for image rebuild: 0 FROM opensuse/leap:15.3 RUN zypper -n up RUN zypper -n install \ @@ -6,6 +7,7 @@ RUN zypper -n install \ flex \ bison \ autoconf \ + pkgconfig \ libssh-devel \ ncurses-devel \ readline-devel diff --git a/misc/docker/ubuntu-14.04-amd64/Dockerfile b/misc/docker/ubuntu-14.04-amd64/Dockerfile deleted file mode 100644 index 353250733..000000000 --- a/misc/docker/ubuntu-14.04-amd64/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM ubuntu:14.04 -ENV DEBIAN_FRONTEND noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list -RUN apt-get -y update -RUN apt-get -y upgrade -RUN apt-get -y install \ - build-essential \ - flex \ - bison \ - autoconf \ - ncurses-dev \ - libreadline-dev diff --git a/misc/docker/ubuntu-16.04-amd64/Dockerfile b/misc/docker/ubuntu-16.04-amd64/Dockerfile deleted file mode 100644 index c27aef150..000000000 --- a/misc/docker/ubuntu-16.04-amd64/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM ubuntu:16.04 -ENV DEBIAN_FRONTEND noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list -RUN apt-get -y update -RUN apt-get -y upgrade -RUN apt-get -y install \ - build-essential \ - flex \ - bison \ - autoconf \ - ncurses-dev \ - libreadline-dev diff --git a/misc/docker/ubuntu-18.04-amd64/Dockerfile b/misc/docker/ubuntu-18.04-amd64/Dockerfile index a1d953175..92a804378 100644 --- a/misc/docker/ubuntu-18.04-amd64/Dockerfile +++ b/misc/docker/ubuntu-18.04-amd64/Dockerfile @@ -1,9 +1,10 @@ +# bump number for image rebuild: 0 FROM ubuntu:18.04 ENV DEBIAN_FRONTEND noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ + tzdata \ build-essential \ flex \ bison \ @@ -16,7 +17,7 @@ RUN apt-get -y install \ opensp \ docbook-xsl \ xsltproc -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ @@ -24,4 +25,5 @@ RUN apt-get -y install \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/ubuntu-20.04-amd64/Dockerfile b/misc/docker/ubuntu-20.04-amd64/Dockerfile index fac1b3338..13e411c22 100644 --- a/misc/docker/ubuntu-20.04-amd64/Dockerfile +++ b/misc/docker/ubuntu-20.04-amd64/Dockerfile @@ -1,9 +1,10 @@ +# bump number for image rebuild: 0 FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive -RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ + tzdata \ build-essential \ flex \ bison \ @@ -16,7 +17,7 @@ RUN apt-get -y install \ opensp \ docbook-xsl \ xsltproc -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ @@ -24,4 +25,5 @@ RUN apt-get -y install \ quilt \ python3 \ python3-pip \ - python3-setuptools + python3-setuptools \ + python3-venv diff --git a/misc/docker/ubuntu-22.04-amd64/Dockerfile b/misc/docker/ubuntu-22.04-amd64/Dockerfile index 4996fff2a..03db8c949 100644 --- a/misc/docker/ubuntu-22.04-amd64/Dockerfile +++ b/misc/docker/ubuntu-22.04-amd64/Dockerfile @@ -3,7 +3,8 @@ FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ + tzdata \ build-essential \ flex \ bison \ @@ -16,7 +17,7 @@ RUN apt-get -y install \ opensp \ docbook-xsl \ xsltproc -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ diff --git a/misc/docker/ubuntu-24.04-amd64/Dockerfile b/misc/docker/ubuntu-24.04-amd64/Dockerfile index 799770015..c894bb462 100644 --- a/misc/docker/ubuntu-24.04-amd64/Dockerfile +++ b/misc/docker/ubuntu-24.04-amd64/Dockerfile @@ -3,7 +3,8 @@ FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ + tzdata \ build-essential \ flex \ bison \ @@ -16,7 +17,7 @@ RUN apt-get -y install \ opensp \ docbook-xsl \ xsltproc -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ diff --git a/misc/docker/ubuntu-24.10-amd64/Dockerfile b/misc/docker/ubuntu-24.10-amd64/Dockerfile index 03a3821b1..2a01aa923 100644 --- a/misc/docker/ubuntu-24.10-amd64/Dockerfile +++ b/misc/docker/ubuntu-24.10-amd64/Dockerfile @@ -3,7 +3,8 @@ FROM ubuntu:24.10 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ + tzdata \ build-essential \ flex \ bison \ @@ -16,7 +17,7 @@ RUN apt-get -y install \ opensp \ docbook-xsl \ xsltproc -RUN apt-get -y install \ +RUN apt-get -y --no-install-recommends install \ git \ dpkg-dev \ debhelper \ -- 2.47.2