FROM fedora:40
ARG TDE_VERSION = 14 .1.3
ARG ARCH = x86_64
# Fix DNF database corruption
# Add RPMFUSION repository
# Install Trinity build dependencies
COPY packages /packages
RUN echo "proxy=http://proxy:3128" >>"/etc/dnf.conf" \
&& rm -fv /etc/yum.repos.d/*{ rawhide,testing} * \
&& sed -i /etc/yum.repos.d/fedora{ ,-updates} .repo -e "1,12s|enabled=0|enabled=1|" -e "s|\$releasever|40|g" \
&& dnf -y install dnf-plugin-ovl findutils \
&& dnf -y --enableplugin= ovl install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-40.noarch.rpm \
&& dnf -y --enableplugin= ovl update \
&& dnf -y --enableplugin= ovl install --skip-broken $( </packages)
# Add YUM repository for locally built packages
COPY rpmbuild.repo /etc/yum.repos.d/rpmbuild.repo
RUN sed -i "/etc/yum.repos.d/rpmbuild.repo" -e " s|\${ARCH}| ${ ARCH } |g " -e " s|\${TDE_VERSION}| ${ TDE_VERSION } |g "
# Fix utempter detection
RUN chmod a+r /usr/libexec/utempter/utempter \
&& chmod 777 /tmp
# Add non-root user to build packages
RUN useradd -m -s /bin/bash -u 1000 trinity \
&& echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers \
&& echo "export QA_RPATHS=\$(( 0x0001|0x0002 ))" >>/home/trinity/.bashrc
USER trinity
COPY rpmmacros /home/trinity/.rpmmacros
RUN rpm -i https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/35/Everything/source/tree/Packages/w/wireless-tools-29-28.fc35.src.rpm \
&& rpmbuild -ba ${ HOME } /rpmbuild/SPECS/wireless-tools.spec \
&& sudo rpm -Uvh ${ HOME } /rpmbuild/RPMS/*/wireless-tools{ ,-devel} -29*
RUN rpm -i https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/36/Everything/source/tree/Packages/l/libnjb-2.2.7-24.fc36.src.rpm \
&& sed -i ${ HOME } /rpmbuild/SPECS/libnjb.spec -e "s|libusb-devel|libusb1-devel|" \
&& rpmbuild -ba ${ HOME } /rpmbuild/SPECS/libnjb.spec \
&& sudo rpm -Uvh ${ HOME } /rpmbuild/RPMS/*/libnjb{ ,-devel} -2*