Dockerfile.rpmbuild7 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # Dockerfile for build RPM packages.
  2. # Copyright (C) 2021 - 2022 Teddysun <[email protected]>
  3. FROM centos:7
  4. LABEL maintainer="Teddysun <[email protected]>"
  5. RUN yum install -y yum-utils epel-release centos-release-scl-rh && \
  6. yum-config-manager --enable epel && \
  7. yum install -y tar wget git tree gcc gcc-c++ \
  8. sudo net-tools make cmake zstd libzstd chkconfig \
  9. python bash coreutils diffutils patch ca-certificates \
  10. rpm-build rpm-devel rpmlint rpmdevtools which procps \
  11. devtoolset-9-gcc devtoolset-9-binutils devtoolset-9-runtime \
  12. scl-utils asciidoc bison elfutils-libelf-devel m4 newt-devel \
  13. openssl-devel openssl xmlto audit-libs-devel binutils-devel elfutils-devel \
  14. gettext java-1.8.0-openjdk-devel libcap-devel numactl-devel python-devel python3 \
  15. slang-devel xz-devel zlib-devel ncurses-devel pciutils-devel perl-ExtUtils-Embed epel-rpm-macros && \
  16. yum clean all && rm -rf /var/cache/yum /var/lib/rpm/__db*
  17. RUN useradd builder -u 1000 -m -G users,wheel && \
  18. echo "builder ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers && \
  19. echo "# macros" > /home/builder/.rpmmacros && \
  20. echo "%_topdir /home/builder/rpmbuild" >> /home/builder/.rpmmacros && \
  21. echo "%_sourcedir %{_topdir}" >> /home/builder/.rpmmacros && \
  22. echo "%_builddir %{_topdir}" >> /home/builder/.rpmmacros && \
  23. echo "%_specdir %{_topdir}" >> /home/builder/.rpmmacros && \
  24. echo "%_rpmdir %{_topdir}" >> /home/builder/.rpmmacros && \
  25. echo "%_srcrpmdir %{_topdir}" >> /home/builder/.rpmmacros && \
  26. mkdir -p /home/builder/rpmbuild && \
  27. chown -R builder /home/builder
  28. USER builder
  29. VOLUME /home/builder
  30. WORKDIR /home/builder/rpmbuild
  31. CMD ["/bin/bash"]