summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-19 15:27:07 +0200
committerPaul Buetow <paul@buetow.org>2026-03-19 15:27:07 +0200
commitaa25e0ee80156c3c091b78391533273501701bbc (patch)
treeef82b1cd3ac43fb371e8263483c16b9f927426f7
parent1db4e610c260be43123c0ee8ea9e0795fb573009 (diff)
build: switch Docker workflow to Rocky Linux 9
-rw-r--r--Dockerfile.in26
-rw-r--r--Makefile8
-rw-r--r--systemtap/Makefile7
3 files changed, 29 insertions, 12 deletions
diff --git a/Dockerfile.in b/Dockerfile.in
index 60a49cf..0ac8071 100644
--- a/Dockerfile.in
+++ b/Dockerfile.in
@@ -1,10 +1,24 @@
-FROM centos:7
+FROM rockylinux:9
-RUN sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-{Vault,Debuginfo}.repo
-RUN yum install -y gcc systemtap yum-utils wget
-ENV kernel KERNEL
-RUN yum install -y kernel-${kernel} kernel-devel-${kernel}
-RUN debuginfo-install -y kernel-${kernel}
+ENV kernel=KERNEL
+
+RUN case "${kernel}" in \
+ *.el9*) ;; \
+ *) echo "KERNEL must be a Rocky Linux 9 kernel release, for example 5.14.0-611.36.1.el9_7.x86_64"; exit 1 ;; \
+ esac
+
+RUN dnf install -y --setopt=install_weak_deps=False \
+ dnf-plugins-core \
+ gcc \
+ make \
+ systemtap \
+ wget && \
+ dnf config-manager --set-enabled baseos-debug && \
+ dnf install -y --setopt=install_weak_deps=False \
+ kernel-devel-${kernel} \
+ kernel-debuginfo-${kernel} \
+ kernel-debuginfo-common-$(uname -m)-${kernel} && \
+ dnf clean all
WORKDIR /ioriot
ADD ./ /ioriot
diff --git a/Makefile b/Makefile
index 9ffb536..b801918 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,11 @@ doxygen:
doxygen ./doc/doxygen.conf
test:
$(MAKE) -C ioriot test
-dockerbuild:
+checkdockerkernel:
+ case "$(KERNEL)" in *.el9*) ;; \
+ *) echo "KERNEL must be set to a Rocky Linux 9 kernel release, e.g. make dockerbuild KERNEL=5.14.0-611.36.1.el9_7.x86_64"; exit 1 ;; \
+ esac
+dockerbuild: checkdockerkernel
bash -c 'test ! -d $(PWD)/docker/opt/ && mkdir -p $(PWD)/docker/opt/; exit 0'
bash -c 'test -f /etc/fedora-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
bash -c 'test -f /etc/centos-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
@@ -31,7 +35,7 @@ dockerbuild:
docker run -v $(PWD)/docker/opt:/opt -e 'KERNEL=$(KERNEL)' -it ioriot:$(KERNEL) make all test install
dockerclean:
bash -c 'test -d $(PWD)/docker && rm -Rfv $(PWD)/docker; exit 0'
-jenkins:
+jenkins: checkdockerkernel
bash -c 'test ! -d $(PWD)/docker/opt/ && mkdir -p $(PWD)/docker/opt/; exit 0'
bash -c 'test -f /etc/fedora-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
bash -c 'test -f /etc/centos-release && sudo chcon -Rt svirt_sandbox_file_t $(PWD)/docker/opt; exit 0'
diff --git a/systemtap/Makefile b/systemtap/Makefile
index 97e24d6..caae5de 100644
--- a/systemtap/Makefile
+++ b/systemtap/Makefile
@@ -1,7 +1,7 @@
KERNEL ?= $(shell uname -r)
-PROCESSOR ?= $(shell uname -p)
+PROCESSOR ?= $(shell uname -m)
DESTDIR ?= /opt/ioriot/systemtap/$(KERNEL)
-UPDATEURI = http://debuginfo.centos.org/7/$(PROCESSOR)
+UPDATEURI ?= https://download.rockylinux.org/pub/rocky/9/BaseOS/$(PROCESSOR)/debug/tree/Packages/k
DOWNLOADIR ?= ./downloads
all: prepare compile
prepare:
@@ -36,8 +36,7 @@ debuginfodownload:
test -f $(DOWNLOADIR)/kernel-debuginfo-common-$(PROCESSOR)-$(KERNEL).rpm || \
wget -P $(DOWNLOADIR) $(UPDATEURI)/kernel-debuginfo-common-$(PROCESSOR)-$(KERNEL).rpm
debuginfolocalinstall:
- #yum remove kernel-debuginfo kernel-debuginfo-common-$(PROCESSOR)
- yum localinstall $(DOWNLOADIR)/kernel-debuginfo-common-$(PROCESSOR)-$(KERNEL).rpm \
+ dnf install -y $(DOWNLOADIR)/kernel-debuginfo-common-$(PROCESSOR)-$(KERNEL).rpm \
$(DOWNLOADIR)/kernel-debuginfo-$(KERNEL).rpm
todo:
fgrep TODO ./src/*