# Dockerfile for build RPM packages. # Copyright (C) 2022 - 2024 Teddysun FROM rockylinux:9 LABEL maintainer="Teddysun " RUN yum install -y yum-utils epel-release && \ yum-config-manager --enable epel && \ yum-config-manager --enable crb && \ rpm -e --nodeps coreutils-single && \ yum install -y tar wget git tree gcc gcc-c++ \ sudo net-tools make cmake zstd libzstd chkconfig \ bash coreutils diffutils patch ca-certificates \ rpm-build rpm-devel rpmlint rpmdevtools ncurses which procps \ asciidoc audit-libs-devel binutils-devel flex jq gettext \ libcap-devel newt-devel pciutils-devel perl-generators \ python3 python3-devel python3-docutils rsync xmlto bc bison \ java-devel ncurses-devel numactl-devel openssl-devel perl-devel \ bpftool dwarves gcc-plugin-devel glibc-static hmaccalc kernel-rpm-macros \ libbabeltrace-devel libbpf-devel libcap-ng-devel libnl3-devel libtraceevent-devel \ elfutils-devel xz-devel perl-ExtUtils-Embed && \ yum clean all && rm -rf /var/cache/dnf /var/lib/rpm/__db* RUN useradd builder -u 1000 -m -G users,wheel && \ echo "builder ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers && \ echo "# macros" > /home/builder/.rpmmacros && \ echo "%_topdir /home/builder/rpmbuild" >> /home/builder/.rpmmacros && \ echo "%_sourcedir %{_topdir}" >> /home/builder/.rpmmacros && \ echo "%_builddir %{_topdir}" >> /home/builder/.rpmmacros && \ echo "%_specdir %{_topdir}" >> /home/builder/.rpmmacros && \ echo "%_rpmdir %{_topdir}" >> /home/builder/.rpmmacros && \ echo "%_srcrpmdir %{_topdir}" >> /home/builder/.rpmmacros && \ echo "set enable-bracketed-paste off" >> /etc/inputrc && \ mkdir -p /home/builder/rpmbuild && \ chown -R builder /home/builder USER builder VOLUME /home/builder WORKDIR /home/builder/rpmbuild CMD ["/bin/bash"]