diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-19 15:27:07 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-19 15:27:07 +0200 |
| commit | aa25e0ee80156c3c091b78391533273501701bbc (patch) | |
| tree | ef82b1cd3ac43fb371e8263483c16b9f927426f7 | |
| parent | 1db4e610c260be43123c0ee8ea9e0795fb573009 (diff) | |
build: switch Docker workflow to Rocky Linux 9
| -rw-r--r-- | Dockerfile.in | 26 | ||||
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | systemtap/Makefile | 7 |
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 @@ -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/* |
