across/docker/rpmbuild/Dockerfile.rpmbuild10
2025-05-28 15:32:31 +09:00

40 lines
1.9 KiB
Docker

# Dockerfile for build RPM packages.
# Copyright (C) 2025 Teddysun <i@teddysun.com>
FROM almalinux:10
LABEL maintainer="Teddysun <i@teddysun.com>"
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm && \
dnf config-manager --enable epel && \
dnf config-manager --enable crb && \
rpm -e --nodeps coreutils-single && \
dnf install -y tar wget tree git gcc gcc-c++ coreutils bash diffutils patch ca-certificates \
sudo net-tools make cmake zstd libzstd chkconfig pcre2-devel \
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 && \
dnf 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"]