]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
CI: Update supported distributions
authorMaria Matejka <mq@ucw.cz>
Mon, 1 Dec 2025 18:33:23 +0000 (19:33 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 24 Dec 2025 18:45:25 +0000 (19:45 +0100)
+ OpenSUSE 16.0 (by David Petera)
+ Oracle Linux 8, 9 and 10 (fork of RHEL)
+ Fedora 43
+ Ubuntu 25.04 and 25.10.

- Debian 10 is too oldstable.
- Ubuntu 24.10 is EOL.

18 files changed:
.gitlab-ci.yml
distro/pkg/rpm/bird.spec
distro/pkg/rpm/system-user-bird.conf [moved from distro/pkg/rpm/bird.sysusersd with 100% similarity]
misc/docker/fedora-43-amd64/Dockerfile [new file with mode: 0644]
misc/docker/opensuse-15.0-amd64/Dockerfile
misc/docker/opensuse-15.1-amd64/Dockerfile
misc/docker/opensuse-15.2-amd64/Dockerfile
misc/docker/opensuse-15.3-amd64/Dockerfile
misc/docker/opensuse-15.4-amd64/Dockerfile
misc/docker/opensuse-15.5-amd64/Dockerfile
misc/docker/opensuse-16.0-amd64/Dockerfile [new file with mode: 0644]
misc/docker/oracle-08-amd64/Dockerfile [new file with mode: 0644]
misc/docker/oracle-09-amd64/Dockerfile [new file with mode: 0644]
misc/docker/oracle-10-amd64/Dockerfile [new file with mode: 0644]
misc/docker/ubuntu-25.04-amd64/Dockerfile [new file with mode: 0644]
misc/docker/ubuntu-25.10-amd64/Dockerfile [moved from misc/docker/ubuntu-24.10-amd64/Dockerfile with 92% similarity]
misc/gitlab/data.yml.j2
misc/gitlab/template.yml.j2

index b429642dda2de9676475a0f6b0e33f4d6310bcc3..85e3a7c774751727197d877eb21db29429f99327 100644 (file)
@@ -156,6 +156,21 @@ docker-rocky-09-amd64:
     IMG_NAME: "rocky-09-amd64"
   <<: *docker-build
 
+docker-oracle-08-amd64:
+  variables:
+    IMG_NAME: "oracle-08-amd64"
+  <<: *docker-build
+
+docker-oracle-09-amd64:
+  variables:
+    IMG_NAME: "oracle-09-amd64"
+  <<: *docker-build
+
+docker-oracle-10-amd64:
+  variables:
+    IMG_NAME: "oracle-10-amd64"
+  <<: *docker-build
+
 docker-fedora-32-amd64:
   variables:
     IMG_NAME: "fedora-32-amd64"
@@ -196,6 +211,11 @@ docker-opensuse-15.5-amd64:
     IMG_NAME: "opensuse-15.5-amd64"
   <<: *docker-build
 
+docker-opensuse-16.0-amd64:
+  variables:
+    IMG_NAME: "opensuse-16.0-amd64"
+  <<: *docker-build
+
 docker-fedora-34-amd64:
   variables:
     IMG_NAME: "fedora-34-amd64"
@@ -241,6 +261,11 @@ docker-fedora-42-amd64:
     IMG_NAME: "fedora-42-amd64"
   <<: *docker-build
 
+docker-fedora-43-amd64:
+  variables:
+    IMG_NAME: "fedora-43-amd64"
+  <<: *docker-build
+
 docker-ubuntu-18.04-amd64:
   variables:
     IMG_NAME: "ubuntu-18.04-amd64"
@@ -256,16 +281,6 @@ docker-debian-11-amd64:
     IMG_NAME: "debian-11-amd64"
   <<: *docker-build
 
-docker-debian-10-amd64:
-  variables:
-    IMG_NAME: "debian-10-amd64"
-  <<: *docker-build
-
-docker-debian-10-i386:
-  variables:
-    IMG_NAME: "debian-10-i386"
-  <<: *docker-build
-
 docker-debian-12-amd64:
   variables:
     IMG_NAME: "debian-12-amd64"
@@ -311,9 +326,14 @@ docker-ubuntu-24.04-amd64:
     IMG_NAME: "ubuntu-24.04-amd64"
   <<: *docker-build
 
-docker-ubuntu-24.10-amd64:
+docker-ubuntu-25.04-amd64:
   variables:
-    IMG_NAME: "ubuntu-24.10-amd64"
+    IMG_NAME: "ubuntu-25.04-amd64"
+  <<: *docker-build
+
+docker-ubuntu-25.10-amd64:
+  variables:
+    IMG_NAME: "ubuntu-25.10-amd64"
   <<: *docker-build
 
 
@@ -403,6 +423,27 @@ build-rocky-09-amd64:
       optional: true
   image: registry.nic.cz/labs/bird:rocky-09-amd64
 
+build-oracle-08-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-oracle-08-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:oracle-08-amd64
+
+build-oracle-09-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-oracle-09-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:oracle-09-amd64
+
+build-oracle-10-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-oracle-10-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:oracle-10-amd64
+
 build-fedora-32-amd64:
   <<: *build-docker-linux-amd64
   needs:
@@ -459,6 +500,13 @@ build-opensuse-15.5-amd64:
       optional: true
   image: registry.nic.cz/labs/bird:opensuse-15.5-amd64
 
+build-opensuse-16.0-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-opensuse-16.0-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:opensuse-16.0-amd64
+
 build-fedora-34-amd64:
   <<: *build-docker-linux-amd64
   needs:
@@ -522,6 +570,13 @@ build-fedora-42-amd64:
       optional: true
   image: registry.nic.cz/labs/bird:fedora-42-amd64
 
+build-fedora-43-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-fedora-43-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:fedora-43-amd64
+
 build-ubuntu-18.04-amd64:
   <<: *build-docker-linux-amd64
   needs:
@@ -543,20 +598,6 @@ build-debian-11-amd64:
       optional: true
   image: registry.nic.cz/labs/bird:debian-11-amd64
 
-build-debian-10-amd64:
-  <<: *build-docker-linux-amd64
-  needs:
-    - job: docker-debian-10-amd64
-      optional: true
-  image: registry.nic.cz/labs/bird:debian-10-amd64
-
-build-debian-10-i386:
-  <<: *build-docker-linux-amd64
-  needs:
-    - job: docker-debian-10-i386
-      optional: true
-  image: registry.nic.cz/labs/bird:debian-10-i386
-
 build-debian-12-amd64:
   <<: *build-docker-linux-amd64
   needs:
@@ -620,12 +661,19 @@ build-ubuntu-24.04-amd64:
       optional: true
   image: registry.nic.cz/labs/bird:ubuntu-24.04-amd64
 
-build-ubuntu-24.10-amd64:
+build-ubuntu-25.04-amd64:
+  <<: *build-docker-linux-amd64
+  needs:
+    - job: docker-ubuntu-25.04-amd64
+      optional: true
+  image: registry.nic.cz/labs/bird:ubuntu-25.04-amd64
+
+build-ubuntu-25.10-amd64:
   <<: *build-docker-linux-amd64
   needs:
-    - job: docker-ubuntu-24.10-amd64
+    - job: docker-ubuntu-25.10-amd64
       optional: true
-  image: registry.nic.cz/labs/bird:ubuntu-24.10-amd64
+  image: registry.nic.cz/labs/bird:ubuntu-25.10-amd64
 
 
 #######################################################
@@ -753,6 +801,30 @@ pkg-rocky-09-amd64:
     - job: build-release
   image: registry.nic.cz/labs/bird:rocky-09-amd64
 
+pkg-oracle-08-amd64:
+  <<: *pkg-rpm-wa
+  needs:
+    - job: build-oracle-08-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:oracle-08-amd64
+
+pkg-oracle-09-amd64:
+  <<: *pkg-rpm-wa
+  needs:
+    - job: build-oracle-09-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:oracle-09-amd64
+
+pkg-oracle-10-amd64:
+  <<: *pkg-rpm-wa
+  needs:
+    - job: build-oracle-10-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:oracle-10-amd64
+
 pkg-fedora-32-amd64:
   <<: *pkg-rpm-wa
   needs:
@@ -817,6 +889,14 @@ pkg-opensuse-15.5-amd64:
     - job: build-release
   image: registry.nic.cz/labs/bird:opensuse-15.5-amd64
 
+pkg-opensuse-16.0-amd64:
+  <<: *pkg-rpm
+  needs:
+    - job: build-opensuse-16.0-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:opensuse-16.0-amd64
+
 pkg-fedora-34-amd64:
   <<: *pkg-rpm
   needs:
@@ -889,6 +969,14 @@ pkg-fedora-42-amd64:
     - job: build-release
   image: registry.nic.cz/labs/bird:fedora-42-amd64
 
+pkg-fedora-43-amd64:
+  <<: *pkg-rpm
+  needs:
+    - job: build-fedora-43-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:fedora-43-amd64
+
 pkg-ubuntu-18.04-amd64:
   <<: *pkg-deb-legacy
   needs:
@@ -913,22 +1001,6 @@ pkg-debian-11-amd64:
     - job: build-release
   image: registry.nic.cz/labs/bird:debian-11-amd64
 
-pkg-debian-10-amd64:
-  <<: *pkg-deb
-  needs:
-    - job: build-debian-10-amd64
-      artifacts: false
-    - job: build-release
-  image: registry.nic.cz/labs/bird:debian-10-amd64
-
-pkg-debian-10-i386:
-  <<: *pkg-deb
-  needs:
-    - job: build-debian-10-i386
-      artifacts: false
-    - job: build-release
-  image: registry.nic.cz/labs/bird:debian-10-i386
-
 pkg-debian-12-amd64:
   <<: *pkg-deb
   needs:
@@ -1001,13 +1073,21 @@ pkg-ubuntu-24.04-amd64:
     - job: build-release
   image: registry.nic.cz/labs/bird:ubuntu-24.04-amd64
 
-pkg-ubuntu-24.10-amd64:
+pkg-ubuntu-25.04-amd64:
+  <<: *pkg-deb
+  needs:
+    - job: build-ubuntu-25.04-amd64
+      artifacts: false
+    - job: build-release
+  image: registry.nic.cz/labs/bird:ubuntu-25.04-amd64
+
+pkg-ubuntu-25.10-amd64:
   <<: *pkg-deb
   needs:
-    - job: build-ubuntu-24.10-amd64
+    - job: build-ubuntu-25.10-amd64
       artifacts: false
     - job: build-release
-  image: registry.nic.cz/labs/bird:ubuntu-24.10-amd64
+  image: registry.nic.cz/labs/bird:ubuntu-25.10-amd64
 
 
 ## Package installability checks
@@ -1054,7 +1134,7 @@ pkg-ubuntu-24.10-amd64:
         exit 1
       fi
     # install packages
-    - find pkg/pkgs/ -type f -name '*.rpm' '(' -ls -exec rpm -i '{}' ';' ')'
+    - find pkg/pkgs/ -type f -name '*.rpm' '(' -ls -exec $RPM_INSTALL_CMD '{}' ';' ')'
     # test that installation is successful
     - ./tools/test-install "$CI_COMMIT_MESSAGE"
 
@@ -1064,216 +1144,306 @@ install-centos-7-amd64:
   needs:
     - job: pkg-centos-7-amd64
   image: registry.nic.cz/labs/bird:centos-7-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-centos-8-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-centos-8-amd64
   image: registry.nic.cz/labs/bird:centos-8-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-rocky-08-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-rocky-08-amd64
   image: registry.nic.cz/labs/bird:rocky-08-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-rocky-09-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-rocky-09-amd64
   image: registry.nic.cz/labs/bird:rocky-09-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
+
+install-oracle-08-amd64:
+  <<: *install-rpm
+  needs:
+    - job: pkg-oracle-08-amd64
+  image: registry.nic.cz/labs/bird:oracle-08-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
+
+install-oracle-09-amd64:
+  <<: *install-rpm
+  needs:
+    - job: pkg-oracle-09-amd64
+  image: registry.nic.cz/labs/bird:oracle-09-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
+
+install-oracle-10-amd64:
+  <<: *install-rpm
+  needs:
+    - job: pkg-oracle-10-amd64
+  image: registry.nic.cz/labs/bird:oracle-10-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-32-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-32-amd64
   image: registry.nic.cz/labs/bird:fedora-32-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-33-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-33-amd64
   image: registry.nic.cz/labs/bird:fedora-33-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.0-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.0-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.0-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.1-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.1-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.1-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.2-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.2-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.2-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.3-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.3-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.3-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.4-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.4-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.4-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-opensuse-15.5-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-opensuse-15.5-amd64
   image: registry.nic.cz/labs/bird:opensuse-15.5-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
+
+install-opensuse-16.0-amd64:
+  <<: *install-rpm
+  needs:
+    - job: pkg-opensuse-16.0-amd64
+  image: registry.nic.cz/labs/bird:opensuse-16.0-amd64
+  variables:
+    RPM_INSTALL_CMD: zypper --non-interactive --no-gpg-checks in
 
 install-fedora-34-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-34-amd64
   image: registry.nic.cz/labs/bird:fedora-34-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-35-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-35-amd64
   image: registry.nic.cz/labs/bird:fedora-35-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-36-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-36-amd64
   image: registry.nic.cz/labs/bird:fedora-36-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-37-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-37-amd64
   image: registry.nic.cz/labs/bird:fedora-37-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-38-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-38-amd64
   image: registry.nic.cz/labs/bird:fedora-38-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-39-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-39-amd64
   image: registry.nic.cz/labs/bird:fedora-39-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-40-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-40-amd64
   image: registry.nic.cz/labs/bird:fedora-40-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-41-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-41-amd64
   image: registry.nic.cz/labs/bird:fedora-41-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-fedora-42-amd64:
   <<: *install-rpm
   needs:
     - job: pkg-fedora-42-amd64
   image: registry.nic.cz/labs/bird:fedora-42-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
+
+install-fedora-43-amd64:
+  <<: *install-rpm
+  needs:
+    - job: pkg-fedora-43-amd64
+  image: registry.nic.cz/labs/bird:fedora-43-amd64
+  variables:
+    RPM_INSTALL_CMD: rpm -i
 
 install-ubuntu-18.04-amd64:
   <<: *install-deb
   needs:
     - job: pkg-ubuntu-18.04-amd64
   image: registry.nic.cz/labs/bird:ubuntu-18.04-amd64
+  variables:
 
 install-debian-11-i386:
   <<: *install-deb
   needs:
     - job: pkg-debian-11-i386
   image: registry.nic.cz/labs/bird:debian-11-i386
+  variables:
 
 install-debian-11-amd64:
   <<: *install-deb
   needs:
     - job: pkg-debian-11-amd64
   image: registry.nic.cz/labs/bird:debian-11-amd64
-
-install-debian-10-amd64:
-  <<: *install-deb
-  needs:
-    - job: pkg-debian-10-amd64
-  image: registry.nic.cz/labs/bird:debian-10-amd64
-
-install-debian-10-i386:
-  <<: *install-deb
-  needs:
-    - job: pkg-debian-10-i386
-  image: registry.nic.cz/labs/bird:debian-10-i386
+  variables:
 
 install-debian-12-amd64:
   <<: *install-deb
   needs:
     - job: pkg-debian-12-amd64
   image: registry.nic.cz/labs/bird:debian-12-amd64
+  variables:
 
 install-debian-12-i386:
   <<: *install-deb
   needs:
     - job: pkg-debian-12-i386
   image: registry.nic.cz/labs/bird:debian-12-i386
+  variables:
 
 install-debian-13-amd64:
   <<: *install-deb
   needs:
     - job: pkg-debian-13-amd64
   image: registry.nic.cz/labs/bird:debian-13-amd64
+  variables:
 
 install-debian-13-i386:
   <<: *install-deb
   needs:
     - job: pkg-debian-13-i386
   image: registry.nic.cz/labs/bird:debian-13-i386
+  variables:
 
 install-debian-testing-amd64:
   <<: *install-deb
   needs:
     - job: pkg-debian-testing-amd64
   image: registry.nic.cz/labs/bird:debian-testing-amd64
+  variables:
 
 install-debian-testing-i386:
   <<: *install-deb
   needs:
     - job: pkg-debian-testing-i386
   image: registry.nic.cz/labs/bird:debian-testing-i386
+  variables:
 
 install-ubuntu-20.04-amd64:
   <<: *install-deb
   needs:
     - job: pkg-ubuntu-20.04-amd64
   image: registry.nic.cz/labs/bird:ubuntu-20.04-amd64
+  variables:
 
 install-ubuntu-22.04-amd64:
   <<: *install-deb
   needs:
     - job: pkg-ubuntu-22.04-amd64
   image: registry.nic.cz/labs/bird:ubuntu-22.04-amd64
+  variables:
 
 install-ubuntu-24.04-amd64:
   <<: *install-deb
   needs:
     - job: pkg-ubuntu-24.04-amd64
   image: registry.nic.cz/labs/bird:ubuntu-24.04-amd64
+  variables:
 
-install-ubuntu-24.10-amd64:
+install-ubuntu-25.04-amd64:
   <<: *install-deb
   needs:
-    - job: pkg-ubuntu-24.10-amd64
-  image: registry.nic.cz/labs/bird:ubuntu-24.10-amd64
+    - job: pkg-ubuntu-25.04-amd64
+  image: registry.nic.cz/labs/bird:ubuntu-25.04-amd64
+  variables:
+
+install-ubuntu-25.10-amd64:
+  <<: *install-deb
+  needs:
+    - job: pkg-ubuntu-25.10-amd64
+  image: registry.nic.cz/labs/bird:ubuntu-25.10-amd64
+  variables:
 
 
 ###################################
index c28ac79d6c19dcb0894d513b00c93eb015602f76..6a5d4685611af8a1c6f641bf48f81fcd338e6cfa 100644 (file)
@@ -5,6 +5,8 @@
 %define bird_user bird
 %define bird_group bird
 
+%define legacy_users ( 0%{?rhel} && 0%{?rhel} <= 8 )
+
 Name:             bird
 Version:          {{ version }}
 Release:          cznic.{{ release }}%{?dist}
@@ -16,7 +18,7 @@ URL:              https://bird.nic.cz/
 Source0:          https://bird.nic.cz/download/bird-%{version}.tar.gz
 Source1:          bird.service
 Source2:          bird.tmpfilesd
-Source3:          bird.sysusersd
+Source3:          system-user-bird.conf
 
 BuildRequires:    autoconf
 BuildRequires:    flex
@@ -32,8 +34,13 @@ BuildRequires:    libssh-devel
 BuildRequires:    devtoolset-8-toolchain
 %endif
 BuildRequires:    systemd-rpm-macros
+%if 0%{?suse_version}
+BuildRequires:    sysuser-tools
+%endif
+
 %{?systemd_requires}
 %{?sysusers_requires_compat}
+%{?sysusers_requires}
 
 %description
 BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border
@@ -74,6 +81,10 @@ powerful language for route filtering.
 %configure --runstatedir=%{_rundir}/bird
 %make_build all %{!?_without_doc:docs}
 
+%if 0%{?suse_version}
+%sysusers_generate_pre %{SOURCE3} bird system-user-bird.conf
+%endif
+
 %install
 %make_install
 
@@ -81,7 +92,7 @@ powerful language for route filtering.
 install -d %{buildroot}{%{_localstatedir}/lib/bird,%{_rundir}/bird}
 install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/bird.service
 install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/bird.conf
-install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/bird.conf
+install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/system-user-bird.conf
 {% endraw %}
 
 %check
@@ -91,16 +102,22 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/bird.conf
 
 make test
 
+%if ! %{legacy_users} && ! 0%{?suse_version}
+%pre
+%sysusers_create_compat %{SOURCE3}
+%endif
+
+%if 0%{?suse_version}
+%pre -f bird.pre
+%endif
+
+%if %{legacy_users}
 %pre
-%if 0%{?suse_version} || ( 0%{?rhel} && 0%{?rhel} <= 8 )
 # Create bird user/group manually
 getent group %{bird_group} >/dev/null || groupadd -r %{bird_group}
 getent passwd %{bird_user} >/dev/null || useradd -r -g %{bird_group} -d /var/lib/bird -s /sbin/nologin -c "BIRD daemon user" %{bird_user}
-%else
-%sysusers_create_compat %{SOURCE3}
 %endif
 
-
 %post
 %systemd_post bird.service
 
@@ -114,7 +131,7 @@ getent passwd %{bird_user} >/dev/null || useradd -r -g %{bird_group} -d /var/lib
 %doc NEWS README
 %attr(0640,root,bird) %config(noreplace) %{_sysconfdir}/bird.conf
 %{_unitdir}/bird.service
-%{_sysusersdir}/bird.conf
+%{_sysusersdir}/system-user-bird.conf
 %{_tmpfilesdir}/bird.conf
 %{_sbindir}/bird
 %{_sbindir}/birdc
diff --git a/misc/docker/fedora-43-amd64/Dockerfile b/misc/docker/fedora-43-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..c5e9507
--- /dev/null
@@ -0,0 +1,21 @@
+# bump number for image rebuild: 1
+FROM fedora:43
+RUN dnf -y upgrade
+RUN dnf -y install \
+       gcc \
+       make \
+       flex \
+       bison \
+       autoconf \
+       pkgconfig \
+       libssh-devel \
+       ncurses-devel \
+       readline-devel
+RUN dnf -y install \
+       git \
+       rpm-build \
+       systemd \
+       systemd-rpm-macros \
+       python3 \
+       python3-pip \
+       python3-setuptools
index b0653b37f02f74da97123f6ba8eca46a19f4e186..7573f48c8c285484cd91e2d768ea4bf68fec5c78 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
index a467059ea3aaae8b5cdf75462cef02f560bd31f5..c370395e965bc48d9dedad69979fffe90a457370 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
index daf48d39fa36d30872ed8146bc297f3883e50d53..afc5273b5bc83fd0290ea9c08126c63dadf15322 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
index 3ba55208057c3b9c8e18bb8f2740bb25eca77792..504e6ccc2aa0f888a616cca5c216ec2f2afe50ad 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
index 3af34e4d1ce35f4d2857e108e4095b1da8186fad..72bae7e883ce719e87edeacdb81fb9a0272b5b45 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
index a3aad6c0b08bd9241ffe16ffd354621c4cbb12fa..63030eeb1037012f49c86814338f2294dddc259e 100644 (file)
@@ -18,4 +18,5 @@ RUN zypper -n install \
        systemd-rpm-macros \
        python3 \
        python3-pip \
-       python3-setuptools
+       python3-setuptools \
+       sysuser-tools
diff --git a/misc/docker/opensuse-16.0-amd64/Dockerfile b/misc/docker/opensuse-16.0-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..d03454e
--- /dev/null
@@ -0,0 +1,22 @@
+# bump number for image rebuild: 0
+FROM opensuse/leap:16.0
+RUN zypper -n up
+RUN zypper -n install \
+       gcc \
+       make \
+       flex \
+       bison \
+       autoconf \
+       pkgconfig \
+       libssh-devel \
+       ncurses-devel \
+       readline-devel
+RUN zypper -n install \
+       git \
+       rpm-build \
+       systemd \
+       systemd-rpm-macros \
+       python3 \
+       python3-pip \
+       python3-setuptools \
+       sysuser-tools
diff --git a/misc/docker/oracle-08-amd64/Dockerfile b/misc/docker/oracle-08-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..3f87768
--- /dev/null
@@ -0,0 +1,21 @@
+# bump number for image rebuild: 1
+# check latest supported version at https://wiki.rockylinux.org/rocky/version/#__tabbed_1_1
+FROM oraclelinux:8
+
+RUN yum -y upgrade
+RUN yum -y install \
+       gcc \
+       make \
+       flex \
+       bison \
+       autoconf \
+       libssh-devel \
+       ncurses-devel \
+       readline-devel
+RUN yum -y install \
+       git \
+       rpm-build \
+       systemd-rpm-macros \
+       python3 \
+       python3-pip \
+       python3-setuptools
diff --git a/misc/docker/oracle-09-amd64/Dockerfile b/misc/docker/oracle-09-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..0514af8
--- /dev/null
@@ -0,0 +1,22 @@
+# bump number for image rebuild: 1
+# check latest supported version at https://wiki.rockylinux.org/rocky/version/#__tabbed_1_2
+FROM oraclelinux:9
+
+RUN yum -y upgrade
+RUN yum -y install \
+       gcc \
+       make \
+       flex \
+       bison \
+       autoconf \
+       libssh-devel \
+       ncurses-devel \
+       readline-devel
+RUN yum -y install \
+       git \
+       rpm-build \
+       systemd \
+       systemd-rpm-macros \
+       python3 \
+       python3-pip \
+       python3-setuptools
diff --git a/misc/docker/oracle-10-amd64/Dockerfile b/misc/docker/oracle-10-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..0827361
--- /dev/null
@@ -0,0 +1,22 @@
+# bump number for image rebuild: 1
+# check latest supported version at https://wiki.rockylinux.org/rocky/version/#__tabbed_1_2
+FROM oraclelinux:10
+
+RUN yum -y upgrade
+RUN yum -y install \
+       gcc \
+       make \
+       flex \
+       bison \
+       autoconf \
+       libssh-devel \
+       ncurses-devel \
+       readline-devel
+RUN yum -y install \
+       git \
+       rpm-build \
+       systemd \
+       systemd-rpm-macros \
+       python3 \
+       python3-pip \
+       python3-setuptools
diff --git a/misc/docker/ubuntu-25.04-amd64/Dockerfile b/misc/docker/ubuntu-25.04-amd64/Dockerfile
new file mode 100644 (file)
index 0000000..3cd569c
--- /dev/null
@@ -0,0 +1,31 @@
+# bump this to refresh the image: 1
+FROM ubuntu:25.04
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get -y update
+RUN apt-get -y upgrade
+RUN apt-get -y --no-install-recommends install \
+       tzdata \
+       build-essential \
+       flex \
+       bison \
+       autoconf \
+       ncurses-dev \
+       libreadline-dev \
+       libssh-dev \
+       linuxdoc-tools-latex \
+       texlive-latex-extra \
+       opensp \
+       docbook-xsl \
+       xsltproc \
+       adduser
+RUN apt-get -y --no-install-recommends install \
+       git \
+       dpkg-dev \
+       debhelper \
+       lsb-release \
+       apt-utils \
+       quilt \
+       python3 \
+       python3-pip \
+       python3-setuptools \
+       python3-venv
similarity index 92%
rename from misc/docker/ubuntu-24.10-amd64/Dockerfile
rename to misc/docker/ubuntu-25.10-amd64/Dockerfile
index 2c7df91f70b1aee9ad7f592db2914d21d5bd1a35..1310b96e26b947965257968bf788451c81fbc6ad 100644 (file)
@@ -1,5 +1,5 @@
 # bump this to refresh the image: 1
-FROM ubuntu:24.10
+FROM ubuntu:25.10
 ENV DEBIAN_FRONTEND=noninteractive
 RUN apt-get -y update
 RUN apt-get -y upgrade
@@ -11,7 +11,7 @@ RUN apt-get -y --no-install-recommends install \
        autoconf \
        ncurses-dev \
        libreadline-dev \
-       libssh-gcrypt-dev \
+       libssh-dev \
        linuxdoc-tools-latex \
        texlive-latex-extra \
        opensp \
index 555a548e1976c1f1755b406253d545e03eb02053..9891c290f3a44b6658fd90b6a92eda3038fd0fef 100644 (file)
@@ -15,6 +15,9 @@ distros:
     'centos-8',
     'rocky-08',
     'rocky-09',
+    'oracle-08',
+    'oracle-09',
+    'oracle-10',
     'fedora-32',
     'fedora-33',
   ) -%}
@@ -28,9 +31,11 @@ distros:
   - name: opensuse-15.{{ num }}-amd64
     type: pkg-rpm-wa
   {% endfor %}
+  - name: opensuse-16.0-amd64
+    type: pkg-rpm
 
   # Fedora regular builds
-  {% for num in (34, 35, 36, 37, 38, 39, 40, 41, 42) -%}
+  {% for num in (34, 35, 36, 37, 38, 39, 40, 41, 42, 43) -%}
   - name: fedora-{{ num }}-amd64
     type: pkg-rpm
   {% endfor %}
@@ -48,7 +53,7 @@ distros:
   {% endfor %}
 
   # Debian regular builds
-  {% for num in (10, 12, 13, 'testing') -%}
+  {% for num in (12, 13, 'testing') -%}
   {% for arch in ('amd64', 'i386') -%}
   - name: debian-{{num}}-{{arch}}
     type: pkg-deb
@@ -56,7 +61,7 @@ distros:
   {% endfor %}
 
   # Ubuntu regular builds
-  {% for num in ('20.04', '22.04', '24.04', '24.10') -%}
+  {% for num in ('20.04', '22.04', '24.04', '25.04', '25.10') -%}
   - name: ubuntu-{{ num }}-amd64
     type: pkg-deb
   {% endfor %}
index 27dc3810828c7a24b651aa7c9ba65dd39e8a833b..a353588910aefe2838e115e36ca1b32aa8c0d8e3 100644 (file)
@@ -351,7 +351,7 @@ pkg-{{ dist["name"] }}:
         exit 1
       fi
     # install packages
-    - find pkg/pkgs/ -type f -name '*.rpm' '(' -ls -exec rpm -i '{}' ';' ')'
+    - find pkg/pkgs/ -type f -name '*.rpm' '(' -ls -exec $RPM_INSTALL_CMD '{}' ';' ')'
     # test that installation is successful
     - ./tools/test-install "$CI_COMMIT_MESSAGE"
 
@@ -366,6 +366,12 @@ install-{{ dist["name"] }}:
   needs:
     - job: pkg-{{ dist["name"] }}
   image: registry.nic.cz/labs/bird:{{ dist["name"] }}
+  variables:
+{%- if dist["name"][:12] == "opensuse-16." %}
+    RPM_INSTALL_CMD: zypper --non-interactive --no-gpg-checks in
+{%- elif dist["type"][4:7] == "rpm" %}
+    RPM_INSTALL_CMD: rpm -i
+{%- endif %}
 {% endfor %}
 
 ###################################