summaryrefslogtreecommitdiffstats
path: root/redhat/docker
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/docker')
-rwxr-xr-xredhat/docker/build.sh13
-rwxr-xr-xredhat/docker/centos32.sh50
-rw-r--r--redhat/docker/el5/Dockerfile.i68632
-rw-r--r--redhat/docker/el5/Dockerfile.x86_6433
-rw-r--r--redhat/docker/el5/centos-5.repo30
-rw-r--r--redhat/docker/el5/epel-5.repo5
-rw-r--r--redhat/docker/el5/packages.base6
-rw-r--r--redhat/docker/el5/packages.trinity199
-rw-r--r--redhat/docker/el5/repoforge-5.repo5
-rw-r--r--redhat/docker/el5/rpmbuild.repo11
-rw-r--r--redhat/docker/el5/rpmmacros5
-rw-r--r--redhat/docker/el6/Dockerfile.i68630
-rw-r--r--redhat/docker/el6/Dockerfile.x86_6430
-rw-r--r--redhat/docker/el6/centos-6.repo30
-rw-r--r--redhat/docker/el6/epel-6.repo5
-rw-r--r--redhat/docker/el6/packages.base6
-rw-r--r--redhat/docker/el6/packages.trinity208
-rw-r--r--redhat/docker/el6/repoforge-6.repo5
-rw-r--r--redhat/docker/el6/rpmbuild.repo11
-rw-r--r--redhat/docker/el6/rpmmacros5
-rw-r--r--redhat/docker/el7/Dockerfile.x86_6427
-rw-r--r--redhat/docker/el7/packages208
-rw-r--r--redhat/docker/el7/rpmbuild.repo11
-rw-r--r--redhat/docker/el7/rpmmacros3
-rw-r--r--redhat/docker/f25/Dockerfile.x86_6421
-rw-r--r--redhat/docker/f25/packages215
-rw-r--r--redhat/docker/f25/rpmbuild.repo11
-rw-r--r--redhat/docker/f25/rpmmacros3
-rw-r--r--redhat/docker/f26/Dockerfile.i68621
-rw-r--r--redhat/docker/f26/Dockerfile.x86_6421
-rw-r--r--redhat/docker/f26/packages216
-rw-r--r--redhat/docker/f26/rpmbuild.repo11
-rw-r--r--redhat/docker/f26/rpmmacros3
-rw-r--r--redhat/docker/f27/Dockerfile.i68622
-rw-r--r--redhat/docker/f27/Dockerfile.x86_6421
-rw-r--r--redhat/docker/f27/packages214
-rw-r--r--redhat/docker/f27/rpmbuild.repo11
-rw-r--r--redhat/docker/f27/rpmmacros3
-rw-r--r--redhat/docker/f28/Dockerfile.i68624
-rw-r--r--redhat/docker/f28/Dockerfile.x86_6424
-rw-r--r--redhat/docker/f28/packages219
-rw-r--r--redhat/docker/f28/rpmbuild.repo11
-rw-r--r--redhat/docker/f28/rpmmacros3
-rwxr-xr-xredhat/docker/fedora32.sh26
-rwxr-xr-xredhat/docker/mageia32.sh19
-rw-r--r--redhat/docker/mga5/Dockerfile.x86_6435
-rw-r--r--redhat/docker/mga5/packages.x86_64236
-rw-r--r--redhat/docker/mga5/rpmmacros3
-rw-r--r--redhat/docker/mga6/Dockerfile.i68635
-rw-r--r--redhat/docker/mga6/Dockerfile.x86_6435
-rw-r--r--redhat/docker/mga6/packages.i686240
-rw-r--r--redhat/docker/mga6/packages.x86_64239
-rw-r--r--redhat/docker/mga6/rpmmacros3
-rwxr-xr-xredhat/docker/opensuse.sh28
-rwxr-xr-xredhat/docker/opensuse32.sh37
-rw-r--r--redhat/docker/oss131/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss131/packages177
-rw-r--r--redhat/docker/oss131/rpmmacros3
-rw-r--r--redhat/docker/oss132/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss132/packages171
-rw-r--r--redhat/docker/oss132/rpmmacros3
-rw-r--r--redhat/docker/oss150/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss150/packages185
-rw-r--r--redhat/docker/oss150/rpmmacros3
-rw-r--r--redhat/docker/oss421/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss421/packages170
-rw-r--r--redhat/docker/oss421/rpmmacros3
-rw-r--r--redhat/docker/oss422/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss422/packages183
-rw-r--r--redhat/docker/oss422/rpmmacros3
-rw-r--r--redhat/docker/oss423/Dockerfile.x86_6423
-rw-r--r--redhat/docker/oss423/packages183
-rw-r--r--redhat/docker/oss423/rpmmacros3
-rw-r--r--redhat/docker/osstw/Dockerfile.i68625
-rw-r--r--redhat/docker/osstw/Dockerfile.x86_6425
-rw-r--r--redhat/docker/osstw/packages195
-rw-r--r--redhat/docker/osstw/rpmmacros3
-rwxr-xr-xredhat/docker/pclinuxos.sh173
-rw-r--r--redhat/docker/pclinuxos/Dockerfile.x86_6432
-rwxr-xr-xredhat/docker/pclinuxos/genla.sh64
-rw-r--r--redhat/docker/pclinuxos/packages.x86_64174
-rw-r--r--redhat/docker/pclinuxos/rpmbuild.list1
-rw-r--r--redhat/docker/pclinuxos/rpmmacros4
-rwxr-xr-xredhat/docker/run.sh30
84 files changed, 4929 insertions, 0 deletions
diff --git a/redhat/docker/build.sh b/redhat/docker/build.sh
new file mode 100755
index 000000000..9aeb60f5a
--- /dev/null
+++ b/redhat/docker/build.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+DISTRIB="$1"
+TDE_VERSION="$2"
+ARCH="$3"
+
+[ -z "${TDE_VERSION}" ] && TDE_VERSION="14.0.5"
+[ -z "${ARCH}" ] && ARCH="x86_64"
+
+IMAGE="trinity.${DISTRIB}.${ARCH}:${TDE_VERSION}"
+
+#docker rmi -f "${IMAGE}"
+docker build -t "${IMAGE}" -f "${DISTRIB}/Dockerfile.${ARCH}" --build-arg TDE_VERSION="${TDE_VERSION}" --build-arg ARCH="${ARCH}" "${DISTRIB}"
diff --git a/redhat/docker/centos32.sh b/redhat/docker/centos32.sh
new file mode 100755
index 000000000..afbb25a7f
--- /dev/null
+++ b/redhat/docker/centos32.sh
@@ -0,0 +1,50 @@
+#!/bin/bash -ex
+
+[ "$(whoami)" = "root" ] || exec sudo $0 $@
+[ "$(rpm -E %_arch)" = "x86_64" ] && exec setarch i686 $0 $@
+
+cd "$(dirname "$0")"
+
+NAME="centos32"
+VERSION="$1" # E.g: '5'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+DIR="el${VERSION}"
+
+REPO="centos-${VERSION}"
+
+# Installation minimale de la distribution
+rm -rf "${INSTALLROOT}"
+install -m 644 "${DIR}/${REPO}.repo" "/etc/yum.repos.d"
+yum install --disablerepo="*" --enablerepo="${REPO}*" --nogpgcheck --releasever="${VERSION}" -y --installroot "${INSTALLROOT}" libselinux yum yum-plugin-ovl
+rm -f "/etc/yum.repos.d/${REPO}.repo"
+touch "${INSTALLROOT}/etc/fstab" "${INSTALLROOT}/etc/mtab"
+
+# Activation des dépôts YUM de l'atelier DEPL-IT (remplace les dépôts Internet)
+rm -f "${INSTALLROOT}/etc/yum.repos.d/"*".repo"
+install -m 644 "${DIR}/${REPO}.repo" "${INSTALLROOT}/etc/yum.repos.d"
+install -m 644 "/etc/resolv.conf" "${INSTALLROOT}/etc/resolv.conf"
+rm -f "${INSTALLROOT}/etc/group" "${INSTALLROOT}/etc/passwd" "${INSTALLROOT}/etc/pam.d/system-auth" "${INSTALLROOT}/usr/share/info/dir"
+
+# Ré-installation de la distribution en utilisant le "yum" intégré
+rm -rf "${INSTALLROOT}/var/lib/rpm/"*
+install -m 644 "${DIR}/"{epel,repoforge}*".repo" "${INSTALLROOT}/etc/yum.repos.d"
+cp -a "/dev/urandom" "${INSTALLROOT}/dev/urandom"
+chroot "${INSTALLROOT}" yum install --nogpgcheck -y $(<${DIR}/packages.base)
+find "${INSTALLROOT}" -name "*.rpmnew" -delete
+
+# Création de l'image Tar
+tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+rm -rf "${INSTALLROOT}"
+
+# Création de l'image Docker
+if [ "$(docker images -q "${IMAGE}")" != "" ]; then
+ docker rmi -f "${IMAGE}"
+fi
+docker import "${IMAGE}.tar" "${IMAGE}"
+
+# Test de l'image
+docker run "${IMAGE}" yum repolist
+
+
+exit 0
diff --git a/redhat/docker/el5/Dockerfile.i686 b/redhat/docker/el5/Dockerfile.i686
new file mode 100644
index 000000000..8b6cbf724
--- /dev/null
+++ b/redhat/docker/el5/Dockerfile.i686
@@ -0,0 +1,32 @@
+FROM centos32:5
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=i686
+
+# Add local repositories
+RUN rm -f /etc/yum.repos.d/*.repo
+ADD centos-5.repo /etc/yum.repos.d/centos-5.repo
+ADD epel-5.repo /etc/yum.repos.d/epel-5.repo
+ADD repoforge-5.repo /etc/yum.repos.d/repoforge-5.repo
+
+# Install Trinity build dependencies
+ADD packages.trinity /etc/yum.repos.d/packages
+#RUN yum install -y setarch
+RUN setarch ${ARCH} yum update -y
+RUN setarch ${ARCH} yum install -y $(</etc/yum.repos.d/packages) || :
+
+# Avoid conflict with gnome-screensaver
+RUN setarch ${ARCH} yum remove -y gnome-screensaver
+RUN setarch ${ARCH} yum install -y --disablerepo="*" --enablerepo="centos-5-extras" xscreensaver
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Distro-specific patches
+RUN sed -i "/usr/include/jasper/jas_math.h" -e "/#include <stdint.h>/ s|$|\n#ifndef SIZE_MAX\n#define SIZE_MAX ((size_t) -1)\n#endif\n|"
diff --git a/redhat/docker/el5/Dockerfile.x86_64 b/redhat/docker/el5/Dockerfile.x86_64
new file mode 100644
index 000000000..84a626539
--- /dev/null
+++ b/redhat/docker/el5/Dockerfile.x86_64
@@ -0,0 +1,33 @@
+FROM centos:5
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add local repositories
+RUN rm -f /etc/yum.repos.d/*.repo
+ADD centos-5.repo /etc/yum.repos.d/centos-5.repo
+ADD epel-5.repo /etc/yum.repos.d/epel-5.repo
+ADD repoforge-5.repo /etc/yum.repos.d/repoforge-5.repo
+
+# Install Trinity build dependencies
+ADD packages.trinity /etc/yum.repos.d/packages
+RUN echo "multilib_policy=best" >>"/etc/yum.conf"
+RUN yum install -y setarch
+RUN setarch ${ARCH} yum update -y
+RUN setarch ${ARCH} yum install -y $(</etc/yum.repos.d/packages) || :
+
+# Avoid conflict with gnome-screensaver
+RUN setarch ${ARCH} yum remove -y gnome-screensaver
+RUN setarch ${ARCH} yum install -y --disablerepo="*" --enablerepo="centos-5-extras" xscreensaver
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Distro-specific patches
+RUN sed -i "/usr/include/jasper/jas_math.h" -e "/#include <stdint.h>/ s|$|\n#ifndef SIZE_MAX\n#define SIZE_MAX ((size_t) -1)\n#endif\n|"
diff --git a/redhat/docker/el5/centos-5.repo b/redhat/docker/el5/centos-5.repo
new file mode 100644
index 000000000..135077b21
--- /dev/null
+++ b/redhat/docker/el5/centos-5.repo
@@ -0,0 +1,30 @@
+[centos-5-base]
+name=CentOS-5 - Base
+baseurl=http://repo/repo/archives/centos/5/os/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+enabled=1
+
+#released updates
+[centos-5-updates]
+name=CentOS-5 - Updates
+baseurl=http://repo/repo/archives/centos/5/updates/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+enabled=1
+
+#additional packages that may be useful
+[centos-5-extras]
+name=CentOS-5 - Extras
+baseurl=http://repo/repo/archives/centos/5/extras/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+enabled=1
+
+#additional packages that extend functionality of existing packages
+[centos-5-centosplus]
+name=CentOS-5 - Plus
+baseurl=http://repo/repo/archives/centos/5/centosplus/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+enabled=1
diff --git a/redhat/docker/el5/epel-5.repo b/redhat/docker/el5/epel-5.repo
new file mode 100644
index 000000000..f110938f8
--- /dev/null
+++ b/redhat/docker/el5/epel-5.repo
@@ -0,0 +1,5 @@
+[epel]
+name=epel
+baseurl=http://repo/repo/archives/epel/5/$basearch/
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el5/packages.base b/redhat/docker/el5/packages.base
new file mode 100644
index 000000000..7765aa5df
--- /dev/null
+++ b/redhat/docker/el5/packages.base
@@ -0,0 +1,6 @@
+bash
+perl
+setarch
+vim-enhanced
+yum
+yum-plugin-ovl
diff --git a/redhat/docker/el5/packages.trinity b/redhat/docker/el5/packages.trinity
new file mode 100644
index 000000000..da882fb5c
--- /dev/null
+++ b/redhat/docker/el5/packages.trinity
@@ -0,0 +1,199 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+compat-gcc-34-g77
+cpp
+cppunit-devel
+createrepo
+cryptsetup-luks-devel
+cups-devel
+curl-devel
+db4-devel
+dbus-glib-devel
+dejagnu
+doxygen
+emacs
+esound-devel
+exiv2-devel
+expect
+fdupes
+ffmpeg-devel
+fftw-devel
+flac-devel
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gcc-gfortran
+gcc-java
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gtk2-devel
+gtk+-devel
+gtk-doc
+guile-devel
+hal-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.4.2-gcj-compat-devel
+java-1.7.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libarchive-devel
+libart_lgpl-devel
+libcap-devel
+libcdio-devel
+libdrm-devel
+libdvdread-devel
+libfontenc-devel
+libgcj-devel
+libgpod-devel
+libgsf-devel
+libgssapi-devel
+libical-devel
+libicu-devel
+libidn-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmusicbrainz-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libpqxx-devel
+libraw1394-devel
+librsvg2-devel
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libtunepimp-devel
+libutempter-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lm_sensors-devel
+meanwhile-devel
+mysql-devel
+nas-devel
+ncurses-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+NetworkManager-glib-devel
+ocaml
+OpenEXR-devel
+openldap-devel
+openldap24-libs-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql-devel
+pth-devel
+python-docutils
+recode
+redhat-rpm-config
+rpm-build
+rsh
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+setarch
+sip-devel
+speex-devel
+sqlite-devel
+sudo
+subversion-devel
+t1lib-devel
+t1utils
+taglib-devel
+texinfo
+texinfo-tex
+transfig
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xine-lib-devel
+xmlto
+xorg-x11-font-utils
+xorg-x11-server-utils
+xscreensaver
+xscreensaver-gl-base
+xscreensaver-gl-extras
+xscreensaver-extras
+xulrunner-devel
+xz-devel
diff --git a/redhat/docker/el5/repoforge-5.repo b/redhat/docker/el5/repoforge-5.repo
new file mode 100644
index 000000000..a08fc0ba4
--- /dev/null
+++ b/redhat/docker/el5/repoforge-5.repo
@@ -0,0 +1,5 @@
+[dag]
+name=dag
+baseurl=http://repo/repo/repoforge/redhat/el5/en/$basearch/dag/
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el5/rpmbuild.repo b/redhat/docker/el5/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/el5/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el5/rpmmacros b/redhat/docker/el5/rpmmacros
new file mode 100644
index 000000000..05170915d
--- /dev/null
+++ b/redhat/docker/el5/rpmmacros
@@ -0,0 +1,5 @@
+%dist .el5
+%rhel 5
+%_smp_mflags -j8
+%jobs 8
+%_topdir /home/trinity/rpmbuild
diff --git a/redhat/docker/el6/Dockerfile.i686 b/redhat/docker/el6/Dockerfile.i686
new file mode 100644
index 000000000..e8e4dbb8d
--- /dev/null
+++ b/redhat/docker/el6/Dockerfile.i686
@@ -0,0 +1,30 @@
+FROM centos32:6
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=i686
+
+RUN echo "proxy=http://proxy:3128" >>/etc/yum.conf
+
+# Add EPEL repository
+RUN yum -y install epel-release
+
+# Add NUX repository
+RUN rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages.trinity /packages
+RUN setarch ${ARCH} yum -y update
+RUN setarch ${ARCH} yum -y install $(</packages)
+
+# Add YUM repository for locally built packages
+WORKDIR /etc/yum.repos.d
+ADD rpmbuild.repo rpmbuild.repo
+RUN sed -i "rpmbuild.repo" -e "s|\${ARCH}|${ARCH}|g" -e "s|\${TDE_VERSION}|${TDE_VERSION}|g"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Distro-specific patches
+RUN sed -i "/usr/include/jasper/jas_math.h" -e "/#include <stdint.h>/ s|$|\n#ifndef SIZE_MAX\n#define SIZE_MAX ((size_t) -1)\n#endif\n|"
diff --git a/redhat/docker/el6/Dockerfile.x86_64 b/redhat/docker/el6/Dockerfile.x86_64
new file mode 100644
index 000000000..9b845631f
--- /dev/null
+++ b/redhat/docker/el6/Dockerfile.x86_64
@@ -0,0 +1,30 @@
+FROM centos:6
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+RUN echo "proxy=http://proxy:3128" >>/etc/yum.conf
+
+# Add EPEL repository
+RUN yum -y install epel-release
+
+# Add NUX repository
+RUN rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages.trinity /packages
+RUN yum -y update
+RUN yum -y install $(</packages)
+
+# Add YUM repository for locally built packages
+WORKDIR /etc/yum.repos.d
+ADD rpmbuild.repo rpmbuild.repo
+RUN sed -i "rpmbuild.repo" -e "s|\${ARCH}|${ARCH}|g" -e "s|\${TDE_VERSION}|${TDE_VERSION}|g"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Distro-specific patches
+RUN sed -i "/usr/include/jasper/jas_math.h" -e "/#include <stdint.h>/ s|$|\n#ifndef SIZE_MAX\n#define SIZE_MAX ((size_t) -1)\n#endif\n|"
diff --git a/redhat/docker/el6/centos-6.repo b/redhat/docker/el6/centos-6.repo
new file mode 100644
index 000000000..a00a85ad5
--- /dev/null
+++ b/redhat/docker/el6/centos-6.repo
@@ -0,0 +1,30 @@
+[centos-6-base]
+name=CentOS-6 - Base
+baseurl=http://repo/repo/centos/6/os/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+enabled=1
+
+#released updates
+[centos-6-updates]
+name=CentOS-6 - Updates
+baseurl=http://repo/repo/centos/6/updates/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+enabled=1
+
+#additional packages that may be useful
+[centos-6-extras]
+name=CentOS-6 - Extras
+baseurl=http://repo/repo/centos/6/extras/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+enabled=1
+
+#additional packages that extend functionality of existing packages
+[centos-6-centosplus]
+name=CentOS-6 - Plus
+baseurl=http://repo/repo/centos/6/centosplus/$basearch/
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+enabled=1
diff --git a/redhat/docker/el6/epel-6.repo b/redhat/docker/el6/epel-6.repo
new file mode 100644
index 000000000..24134a301
--- /dev/null
+++ b/redhat/docker/el6/epel-6.repo
@@ -0,0 +1,5 @@
+[epel]
+name=epel
+baseurl=http://repo/repo/epel/6/$basearch/
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el6/packages.base b/redhat/docker/el6/packages.base
new file mode 100644
index 000000000..7765aa5df
--- /dev/null
+++ b/redhat/docker/el6/packages.base
@@ -0,0 +1,6 @@
+bash
+perl
+setarch
+vim-enhanced
+yum
+yum-plugin-ovl
diff --git a/redhat/docker/el6/packages.trinity b/redhat/docker/el6/packages.trinity
new file mode 100644
index 000000000..4ee743b2a
--- /dev/null
+++ b/redhat/docker/el6/packages.trinity
@@ -0,0 +1,208 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+cpp
+cppunit-devel
+createrepo
+cryptsetup-luks-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+e2fsprogs-devel
+emacs
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-devel
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gcc-gfortran
+gcc-java
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gtk2-devel
+gtk+-devel
+gtk-doc
+guile-devel
+hal-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.4.2-gcj-compat-devel
+java-1.6.0-openjdk-devel
+java-1.7.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libarchive-devel
+libart_lgpl-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libconfig-devel
+libcurl-devel
+libdvdread-devel
+libfontenc-devel
+libgcj-devel
+libgpod-devel
+libgsf-devel
+libgssapi-devel
+libical-devel
+libidn-devel
+liblo-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libraw1394-devel
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libudev-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSa
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mysql-devel
+nas-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql-devel
+pth-devel
+pulseaudio-libs-devel
+recode
+redhat-rpm-config
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+sword-devel
+t1lib-devel
+t1utils
+taglib-devel
+tar
+texinfo
+texlive-utils
+torsocks
+transfig
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+ver-devel
+wireless-tools-devel
+xine-lib-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-extras
+xulrunner-devel
+xz-devel
diff --git a/redhat/docker/el6/repoforge-6.repo b/redhat/docker/el6/repoforge-6.repo
new file mode 100644
index 000000000..8747bf2df
--- /dev/null
+++ b/redhat/docker/el6/repoforge-6.repo
@@ -0,0 +1,5 @@
+[dag]
+name=dag
+baseurl=http://repo/repo/repoforge/redhat/el6/en/$basearch/dag/
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el6/rpmbuild.repo b/redhat/docker/el6/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/el6/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el6/rpmmacros b/redhat/docker/el6/rpmmacros
new file mode 100644
index 000000000..3b33ecbc0
--- /dev/null
+++ b/redhat/docker/el6/rpmmacros
@@ -0,0 +1,5 @@
+%dist .el6
+%rhel 6
+%_smp_mflags -j8
+%jobs 8
+%_topdir /home/trinity/rpmbuild
diff --git a/redhat/docker/el7/Dockerfile.x86_64 b/redhat/docker/el7/Dockerfile.x86_64
new file mode 100644
index 000000000..23b191982
--- /dev/null
+++ b/redhat/docker/el7/Dockerfile.x86_64
@@ -0,0 +1,27 @@
+FROM centos:7
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Add EPEL repository
+RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
+
+# Add NUX repository
+RUN rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages /packages
+RUN yum update -y
+RUN yum install -y $(</packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Distro-specific patches
+RUN sed -i "/usr/include/jasper/jas_math.h" -e "/#include <stdint.h>/ s|$|\n#ifndef SIZE_MAX\n#define SIZE_MAX ((size_t) -1)\n#endif\n|"
diff --git a/redhat/docker/el7/packages b/redhat/docker/el7/packages
new file mode 100644
index 000000000..60229d64f
--- /dev/null
+++ b/redhat/docker/el7/packages
@@ -0,0 +1,208 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+cpp
+cppunit-devel
+createrepo
+cryptsetup-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+emacs
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-devel
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gcc-gfortran
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gstreamer1-devel
+gstreamer1-plugins-base-devel
+gtk2-devel
+gtk+-devel
+gtk-doc
+guile-devel
+heimdal-devel
+hspell-devel
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.7.0-openjdk-devel
+java-devel
+java-openjdk
+kernel
+lame-devel
+lcms-devel
+libacl-devel
+libarchive-devel
+libart_lgpl-devel
+libassuan-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-cxx-devel
+libdvdread-devel
+libfontenc-devel
+libgpod-devel
+libgsf-devel
+libical-devel
+libidn-devel
+libksba-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libqalculate-devel
+libraw1394-devel
+librsvg2-tools
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libudisks2-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libusb-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mysql-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql-devel
+pth-devel
+pulseaudio-libs-devel
+qt-devel
+readline-devel
+recode
+redhat-rpm-config
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+swig
+sword-devel
+systemd-devel
+t1lib-devel
+t1utils
+taglib-devel
+tar
+texinfo
+torsocks
+transfig
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xine-lib-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-base
+xscreensaver-extras
+xscreensaver-gl-base
+xscreensaver-gl-extras
+xulrunner-devel
+xz-devel
+yum-plugin-ovl
diff --git a/redhat/docker/el7/rpmbuild.repo b/redhat/docker/el7/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/el7/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/el7/rpmmacros b/redhat/docker/el7/rpmmacros
new file mode 100644
index 000000000..b76d30014
--- /dev/null
+++ b/redhat/docker/el7/rpmmacros
@@ -0,0 +1,3 @@
+%dist .el7
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/f25/Dockerfile.x86_64 b/redhat/docker/f25/Dockerfile.x86_64
new file mode 100644
index 000000000..c5338a77d
--- /dev/null
+++ b/redhat/docker/f25/Dockerfile.x86_64
@@ -0,0 +1,21 @@
+FROM fedora:25
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-25.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages /etc/yum.repos.d/packages
+RUN dnf update -y
+RUN dnf install -y $(</etc/yum.repos.d/packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f25/packages b/redhat/docker/f25/packages
new file mode 100644
index 000000000..e7a74d19f
--- /dev/null
+++ b/redhat/docker/f25/packages
@@ -0,0 +1,215 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+cpp
+cppunit-devel
+createrepo
+cryptsetup-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+dssi-devel
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-static
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer1-devel
+gstreamer1-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk+-devel
+gtk-doc
+guile-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.8.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-cxx-devel
+libdb-devel
+libdvdread-devel
+libfontenc-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libical-devel
+libidn-devel
+libifp-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz5-devel
+libnjb-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libpqxx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg2
+librsvg2-tools
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libudev-devel
+libudisks2-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvncserver-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mftrace
+mysql-devel
+nas-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+ortp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql
+postgresql-devel
+pth-devel
+pulseaudio-libs-devel
+qt4-devel
+recode
+redhat-rpm-config
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+sword-devel
+t1lib-devel
+t1utils
+taglib-devel
+tar
+texinfo
+transfig
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xbase-devel
+xine-lib-devel
+xmedcon
+xmedcon-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-extras
+xulrunner-devel
+xz-devel
diff --git a/redhat/docker/f25/rpmbuild.repo b/redhat/docker/f25/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/f25/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/f25/rpmmacros b/redhat/docker/f25/rpmmacros
new file mode 100644
index 000000000..8a4c9a52a
--- /dev/null
+++ b/redhat/docker/f25/rpmmacros
@@ -0,0 +1,3 @@
+%dist .fc25
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/f26/Dockerfile.i686 b/redhat/docker/f26/Dockerfile.i686
new file mode 100644
index 000000000..ea78581fa
--- /dev/null
+++ b/redhat/docker/f26/Dockerfile.i686
@@ -0,0 +1,21 @@
+FROM fedora32:26
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=i686
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-26.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages /etc/yum.repos.d/packages
+RUN setarch i686 dnf update -y
+RUN setarch i686 dnf install -y $(</etc/yum.repos.d/packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f26/Dockerfile.x86_64 b/redhat/docker/f26/Dockerfile.x86_64
new file mode 100644
index 000000000..3899d1220
--- /dev/null
+++ b/redhat/docker/f26/Dockerfile.x86_64
@@ -0,0 +1,21 @@
+FROM fedora:26
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-26.noarch.rpm
+
+# Install Trinity build dependencies
+ADD packages /etc/yum.repos.d/packages
+RUN dnf update -y
+RUN dnf install -y $(</etc/yum.repos.d/packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f26/packages b/redhat/docker/f26/packages
new file mode 100644
index 000000000..28da2c8db
--- /dev/null
+++ b/redhat/docker/f26/packages
@@ -0,0 +1,216 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+cpp
+cppunit-devel
+createrepo
+cryptsetup-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+dssi-devel
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-static
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer1-devel
+gstreamer1-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk+-devel
+gtk-doc
+guile-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.8.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-cxx-devel
+libdb-devel
+libdvdread-devel
+libfontenc-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libical-devel
+libidn-devel
+libifp-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz5-devel
+libnjb-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libpqxx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg2
+librsvg2-tools
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libudev-devel
+libudisks2-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvncserver-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mftrace
+mysql-devel
+nas-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+ortp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql
+postgresql-devel
+pth-devel
+pulseaudio-libs-devel
+qt4-devel
+recode
+redhat-rpm-config
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+sword-devel
+t1lib-devel
+t1utils
+taglib-devel
+tar
+texinfo
+torsocks
+transfig
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xbase-devel
+xine-lib-devel
+xmedcon
+xmedcon-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-extras
+xulrunner-devel
+xz-devel
diff --git a/redhat/docker/f26/rpmbuild.repo b/redhat/docker/f26/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/f26/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/f26/rpmmacros b/redhat/docker/f26/rpmmacros
new file mode 100644
index 000000000..dd8d85c81
--- /dev/null
+++ b/redhat/docker/f26/rpmmacros
@@ -0,0 +1,3 @@
+%dist .fc26
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/f27/Dockerfile.i686 b/redhat/docker/f27/Dockerfile.i686
new file mode 100644
index 000000000..01f6f764f
--- /dev/null
+++ b/redhat/docker/f27/Dockerfile.i686
@@ -0,0 +1,22 @@
+FROM fedora32:27
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=i686
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-27.noarch.rpm
+
+# Install Trinity build dependencies
+RUN setarch i686 dnf update -y
+ADD packages /etc/yum.repos.d/packages
+RUN setarch i686 dnf install -y texlive-base
+RUN setarch i686 dnf install -y $(</etc/yum.repos.d/packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f27/Dockerfile.x86_64 b/redhat/docker/f27/Dockerfile.x86_64
new file mode 100644
index 000000000..e2ecadf4d
--- /dev/null
+++ b/redhat/docker/f27/Dockerfile.x86_64
@@ -0,0 +1,21 @@
+FROM fedora:27
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-27.noarch.rpm
+
+# Install Trinity build dependencies
+RUN dnf update -y
+ADD packages /etc/yum.repos.d/packages
+RUN dnf install -y $(</etc/yum.repos.d/packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f27/packages b/redhat/docker/f27/packages
new file mode 100644
index 000000000..658696a81
--- /dev/null
+++ b/redhat/docker/f27/packages
@@ -0,0 +1,214 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+cpp
+cppunit-devel
+createrepo
+cryptsetup-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+dssi-devel
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-static
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer1-devel
+gstreamer1-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk+-devel
+gtk-doc
+guile-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.8.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-cxx-devel
+libdb-devel
+libdvdread-devel
+libfontenc-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libical-devel
+libidn-devel
+libifp-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz5-devel
+libnjb-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libpqxx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg2
+librsvg2-tools
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtool-ltdl-devel
+libudev-devel
+libudisks2-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvncserver-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mftrace
+mysql-devel
+nas-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+nspr-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+ortp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql
+postgresql-devel
+pulseaudio-libs-devel
+qt4-devel
+recode
+redhat-rpm-config
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+sword-devel
+t1lib-devel
+t1utils
+taglib-devel
+texinfo
+torsocks
+transfig
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xbase-devel
+xine-lib-devel
+xmedcon
+xmedcon-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-extras
+xz-devel
diff --git a/redhat/docker/f27/rpmbuild.repo b/redhat/docker/f27/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/f27/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/f27/rpmmacros b/redhat/docker/f27/rpmmacros
new file mode 100644
index 000000000..82424fcbf
--- /dev/null
+++ b/redhat/docker/f27/rpmmacros
@@ -0,0 +1,3 @@
+%dist .fc27
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/f28/Dockerfile.i686 b/redhat/docker/f28/Dockerfile.i686
new file mode 100644
index 000000000..1927d264b
--- /dev/null
+++ b/redhat/docker/f28/Dockerfile.i686
@@ -0,0 +1,24 @@
+FROM fedora32:28
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=i686
+
+RUN echo "proxy=http://proxy:3128" >>"/etc/dnf.conf"
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-28.noarch.rpm
+
+# Install Trinity build dependencies
+RUN setarch i686 dnf update -y
+ADD packages /packages
+RUN touch /var/lib/rpm/*
+RUN setarch i686 dnf install -y $(</packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f28/Dockerfile.x86_64 b/redhat/docker/f28/Dockerfile.x86_64
new file mode 100644
index 000000000..6c26addda
--- /dev/null
+++ b/redhat/docker/f28/Dockerfile.x86_64
@@ -0,0 +1,24 @@
+FROM fedora:28
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+RUN echo "proxy=http://proxy:3128" >>"/etc/dnf.conf"
+
+# Add RPMFUSION repository
+RUN rpm -Uvh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-28.noarch.rpm
+
+# Install Trinity build dependencies
+RUN dnf update -y
+ADD packages /packages
+RUN touch /var/lib/rpm/*
+RUN dnf install -y $(</packages)
+
+# Add YUM repository for locally built packages
+ADD 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"
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
diff --git a/redhat/docker/f28/packages b/redhat/docker/f28/packages
new file mode 100644
index 000000000..6ada73c34
--- /dev/null
+++ b/redhat/docker/f28/packages
@@ -0,0 +1,219 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+autotrace
+avahi-devel
+bind-devel
+binutils-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+ccrtp-devel
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+cpp
+cppunit-devel
+createrepo
+cryptsetup-devel
+cups-devel
+db4-devel
+dbus-glib-devel
+djvulibre
+djvulibre-devel
+doxygen
+dssi-devel
+esound-devel
+exempi-devel
+exiv2-devel
+fdupes
+fedora-rpm-macros
+ffmpeg-devel
+fftw-devel
+file-devel
+flac-devel
+flex-static
+fontpackages-devel
+fribidi-devel
+gamin-devel
+gcc
+gcc-c++
+gettext-devel
+glib-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gstreamer1-devel
+gstreamer1-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk+-devel
+gtk-doc
+guile-devel
+heimdal-devel
+hspell-devel
+htdig
+html2ps
+icu
+ImageMagick-devel
+imake
+imlib-devel
+imlib2-devel
+intltool
+jack-audio-connection-kit-devel
+jasper-devel
+java-1.8.0-openjdk-devel
+java-devel
+java-openjdk
+lame-devel
+lcms-devel
+libacl-devel
+libblkid-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-cxx-devel
+libdb-devel
+libdvdread-devel
+libfontenc-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libical-devel
+libidn-devel
+libifp-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz5-devel
+libnjb-devel
+libnsl2-devel
+libofx-devel
+libogg-devel
+libotr-devel
+libpaper-devel
+libpqxx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg2
+librsvg2-tools
+libsamplerate-devel
+libsmbclient-devel
+libsndfile-devel
+libssh2-devel
+libtheora-devel
+libtiff-devel
+libtirpc-devel
+libtool
+libtool-ltdl-devel
+libudev-devel
+libudisks2-devel
+libutempter-devel
+libv4l-devel
+libvisual-devel
+libvncserver-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXcomposite-devel
+libXdamage-devel
+libXdmcp-devel
+libxkbfile-devel
+libXScrnSaver-devel
+libxslt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+libXxf86vm-devel
+libzrtpcpp-devel
+lirc-devel
+lm_sensors-devel
+meanwhile-devel
+mftrace
+mysql-devel
+nas-devel
+neon-devel
+netpbm-progs
+net-snmp-devel
+net-tools
+NetworkManager-glib-devel
+nspr-devel
+ocaml
+ocaml(compiler)
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+ortp-devel
+pam-devel
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+perl
+perl-devel
+perl(ExtUtils::MakeMaker)
+perl(XML::Parser)
+pilot-link-devel
+pkcs11-helper-devel
+poppler-devel
+postgresql
+postgresql-devel
+pulseaudio-libs-devel
+qt4-devel
+recode
+redhat-rpm-config
+rpcgen
+rpm-build
+ruby
+ruby-devel
+sane-backends-devel
+scons
+SDL-devel
+sip-devel
+speex-devel
+sqlite-devel
+subversion-devel
+sudo
+swig
+sword-devel
+t1lib-devel
+t1utils
+taglib-devel
+texinfo
+torsocks
+transfig
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wireless-tools-devel
+xbase-devel
+xine-lib-devel
+xmedcon
+xmedcon-devel
+xmlto
+xorg-x11-font-utils
+xscreensaver
+xscreensaver-extras
+xz-devel
diff --git a/redhat/docker/f28/rpmbuild.repo b/redhat/docker/f28/rpmbuild.repo
new file mode 100644
index 000000000..750290651
--- /dev/null
+++ b/redhat/docker/f28/rpmbuild.repo
@@ -0,0 +1,11 @@
+[rpmbuild.${ARCH}]
+name=rpmbuild.${ARCH}
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+enabled=1
+gpgcheck=0
+
+[rpmbuild.noarch]
+name=rpmbuild.noarch
+baseurl=file:///home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+enabled=1
+gpgcheck=0
diff --git a/redhat/docker/f28/rpmmacros b/redhat/docker/f28/rpmmacros
new file mode 100644
index 000000000..9126fb2b2
--- /dev/null
+++ b/redhat/docker/f28/rpmmacros
@@ -0,0 +1,3 @@
+%dist .fc28
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/fedora32.sh b/redhat/docker/fedora32.sh
new file mode 100755
index 000000000..823b27fbc
--- /dev/null
+++ b/redhat/docker/fedora32.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+NAME="fedora32"
+VERSION="$1" # E.g: '26'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+
+sudo rm -rf "${INSTALLROOT}"
+setarch i686 sudo dnf install \
+ --refresh \
+ --installroot="${INSTALLROOT}" \
+ --releasever="${VERSION}" \
+ --disablerepo="*" --enablerepo="fedora,updates" \
+ --nodocs \
+ --assumeyes \
+ @core bash vim
+
+sudo sed -i "${INSTALLROOT}/etc/yum.repos.d/"*".repo" \
+ -e "s|\$basearch|i386|g" \
+ -e "s|\$releasever|${VERSION}|g"
+
+sudo tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+sudo rm -rf "${INSTALLROOT}"
+
+docker rmi -f "${IMAGE}"
+docker import "${IMAGE}.tar" "${IMAGE}"
diff --git a/redhat/docker/mageia32.sh b/redhat/docker/mageia32.sh
new file mode 100755
index 000000000..29afb4b59
--- /dev/null
+++ b/redhat/docker/mageia32.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+NAME="mageia32"
+VERSION="$1" # E.g: '26'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+
+sudo rm -rf "${INSTALLROOT}"
+sudo mkdir -p "${INSTALLROOT}"
+setarch i686 sudo urpmi \
+ --root="${INSTALLROOT}" \
+ --auto \
+ bash vim urpmi mageia-release-common
+
+sudo tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+sudo rm -rf "${INSTALLROOT}"
+
+docker rmi -f "${IMAGE}"
+docker import "${IMAGE}.tar" "${IMAGE}"
diff --git a/redhat/docker/mga5/Dockerfile.x86_64 b/redhat/docker/mga5/Dockerfile.x86_64
new file mode 100644
index 000000000..693b30b4f
--- /dev/null
+++ b/redhat/docker/mga5/Dockerfile.x86_64
@@ -0,0 +1,35 @@
+FROM mageia:5.1
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Reset URPMI repositories to default
+RUN urpmi.removemedia -a
+RUN urpmi.addmedia --distrib --mirrorlist '$MIRRORLIST'
+
+# Enable more URPMI repositories
+RUN sed -i "/etc/urpmi/urpmi.cfg" -e "/Tainted\\\ Release {/{p;N;d}" -e "/Tainted\\\ Updates {/{p;N;d}"
+
+# Update distribution
+RUN urpmi.update -a
+RUN urpmi --auto-select --auto
+
+# Install Trinity build dependencies
+ADD packages.${ARCH} /etc/urpmi/packages
+RUN while ! urpmi --auto $(</etc/urpmi/packages); do urpmi.update -a; done
+
+# Add rpmbuild repositories
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN urpmi.addmedia rpmbuild.${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN urpmi.addmedia rpmbuild.noarch /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+
+# Add non-root user to build packages
+RUN rm -rf /home/trinity
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Enable ccache
+RUN sed -i "/etc/sysconfig/ccache" -e "s|USE_CCACHE_DEFAULT=.*|USE_CCACHE_DEFAULT=\"yes\"|"
diff --git a/redhat/docker/mga5/packages.x86_64 b/redhat/docker/mga5/packages.x86_64
new file mode 100644
index 000000000..4cdd228c6
--- /dev/null
+++ b/redhat/docker/mga5/packages.x86_64
@@ -0,0 +1,236 @@
+advancecomp
+alsa-lib-devel
+aspell
+aspell-devel
+aspell-en
+audiofile-devel
+bind-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+cdparanoia
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+cmake
+ctags
+cups-devel
+curl-devel
+db5-devel
+dbus-devel
+dbus-glib
+dbus-glib-devel
+djvulibre
+docbook-dtd412-xml
+docbook-style-xsl
+docbook-utils
+doxygen
+drakconf
+dssi-devel
+exempi-devel
+expat-devel
+fdupes
+fftw-devel
+firebird-devel
+flex
+fontconfig-devel
+freetype2-devel
+freetype-devel
+fribidi-devel
+gamin-devel
+gettext-devel
+glib2-devel
+gmime-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gtk2-devel
+gtk+3.0-devel
+gtk-doc
+hspell-devel
+hunspell-en
+ImageMagick-devel
+imake
+imlib2-devel
+intltool
+java-1.8.0-openjdk
+java-1.8.0-openjdk-devel
+karma-sharp
+kde-dev-scripts
+lcms-devel
+lib64apr-devel
+lib64apr-util-devel
+lib64avformat56
+lib64binutils-devel
+lib64clucene-devel
+lib64commoncpp-devel
+lib64cryptsetup-devel
+lib64curl-devel
+lib64dvdread-devel
+lib64ecpg9.4_6
+lib64exiv2-devel
+lib64ffmpeg-devel
+lib64flac-devel
+lib64flac++-devel
+lib64fontenc-devel
+lib64gstreamer1.0-devel
+lib64gstreamer-plugins-base1.0-devel
+lib64inotifytools-devel
+lib64jasper-devel
+lib64jpeg-devel
+lib64lame-devel
+lib64lua-devel
+lib64mad-devel
+lib64paper-devel
+lib64pkcs11-helper-devel
+lib64poppler-devel
+lib64pulseaudio-devel
+lib64sane1-devel
+lib64t1lib-devel
+lib64tiff-devel
+lib64twolame-devel
+lib64udev-devel
+lib64usb1.0-devel
+lib64utempter-devel
+lib64v4l-devel
+lib64xaw-devel
+lib64xdg-basedir-devel
+lib64xi-devel
+lib64xine1.2-devel
+lib64xscrnsaver-devel
+lib64xtst-devel
+lib64xxf86dga-devel
+lib64yaz-devel
+libart_lgpl-devel
+libblkid-devel
+libcdda-devel
+libclucene-devel
+libcommoncpp-devel
+libconfig-devel
+libcurl-devel
+libdvdread-devel
+libffmpeg-devel
+libflac-devel
+libflac++-devel
+libidn-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libhd-devel
+libical-devel
+libice-devel
+libifp-devel
+libinotifytools-devel
+libiodbc-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+libkarma-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpaper-devel
+libpx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg
+libsmbclient-devel
+libsm-devel
+libsndfile-devel
+libt1lib-devel
+libtheora-devel
+libungif-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libx11-devel
+libxcursor-devel
+libxext-devel
+libxft-devel
+libxi-devel
+libxinerama-devel
+libxkbfile-devel
+libxmu-devel
+libxrandr-devel
+libxrender-devel
+libxslt-devel
+libxv-devel
+libxxf86dga-devel
+libyaz-devel
+lilo
+lirc-devel
+lm_sensors-devel
+mesaglu-devel
+mysql-devel
+nas-devel
+neon-devel
+netpbm
+net-snmp-devel
+NetworkManager-glib-devel
+notification-daemon
+ocaml
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+opensp-devel
+optipng
+pam-devel
+pciutils-devel
+perl-devel
+perl(XML::Parser)
+pilot-link-devel
+pinentry-gtk2
+pkgconfig(audiofile)
+pkgconfig(libpng16)
+polkit-agent-none
+postgresql9.4
+postgresql9.4-devel
+pth-devel
+python-devel
+python-sip
+qt4-devel
+readline-devel
+recode
+rpm-build
+rpm-devel
+ruby-devel
+scons
+SDL-devel
+speex-devel
+sqlite3-devel
+sqlite-devel
+sudo
+subversion-devel
+sword-devel
+taglib-devel
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wv2-devel
+x11-font-util
+xbase-devel
+xmlto
+xscreensaver
+xscreensaver-base
+xscreensaver-extrusion
+xscreensaver-gl
+yaz
+zlib-devel
diff --git a/redhat/docker/mga5/rpmmacros b/redhat/docker/mga5/rpmmacros
new file mode 100644
index 000000000..146da3559
--- /dev/null
+++ b/redhat/docker/mga5/rpmmacros
@@ -0,0 +1,3 @@
+%dist .mga5
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/mga6/Dockerfile.i686 b/redhat/docker/mga6/Dockerfile.i686
new file mode 100644
index 000000000..956755001
--- /dev/null
+++ b/redhat/docker/mga6/Dockerfile.i686
@@ -0,0 +1,35 @@
+FROM mageia32:6
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=i686
+
+# Reset URPMI repositories to default
+RUN urpmi.removemedia -a
+RUN urpmi.addmedia --distrib --mirrorlist '$MIRRORLIST'
+
+# Enable more URPMI repositories
+RUN sed -i "/etc/urpmi/urpmi.cfg" -e "/Tainted\\\ Release {/{p;N;d}" -e "/Tainted\\\ Updates {/{p;N;d}"
+
+# Update distribution
+RUN urpmi.update -a
+RUN urpmi --auto-select --auto
+
+# Install Trinity build dependencies
+ADD packages.${ARCH} /etc/urpmi/packages
+RUN while ! urpmi --auto $(</etc/urpmi/packages); do urpmi.update -a; done
+
+# Add rpmbuild repositories
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN urpmi.addmedia rpmbuild.${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN urpmi.addmedia rpmbuild.noarch /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+
+# Add non-root user to build packages
+RUN rm -rf /home/trinity
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Enable ccache
+RUN sed -i "/etc/sysconfig/ccache" -e "s|USE_CCACHE_DEFAULT=.*|USE_CCACHE_DEFAULT=\"yes\"|"
diff --git a/redhat/docker/mga6/Dockerfile.x86_64 b/redhat/docker/mga6/Dockerfile.x86_64
new file mode 100644
index 000000000..8a1048fe8
--- /dev/null
+++ b/redhat/docker/mga6/Dockerfile.x86_64
@@ -0,0 +1,35 @@
+FROM mageia:6
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Reset URPMI repositories to default
+RUN urpmi.removemedia -a
+RUN urpmi.addmedia --distrib --mirrorlist '$MIRRORLIST'
+
+# Enable more URPMI repositories
+RUN sed -i "/etc/urpmi/urpmi.cfg" -e "/Tainted\\\ Release {/{p;N;d}" -e "/Tainted\\\ Updates {/{p;N;d}"
+
+# Update distribution
+RUN urpmi.update -a
+RUN urpmi --auto-select --auto
+
+# Install Trinity build dependencies
+ADD packages.${ARCH} /etc/urpmi/packages
+RUN while ! urpmi --auto $(</etc/urpmi/packages); do urpmi.update -a; done
+
+# Add rpmbuild repositories
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN urpmi.addmedia rpmbuild.${ARCH} /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH}
+RUN genhdlist2 --allow-empty-media /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+RUN urpmi.addmedia rpmbuild.noarch /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch
+
+# Add non-root user to build packages
+RUN rm -rf /home/trinity
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Enable ccache
+RUN sed -i "/etc/sysconfig/ccache" -e "s|USE_CCACHE_DEFAULT=.*|USE_CCACHE_DEFAULT=\"yes\"|"
diff --git a/redhat/docker/mga6/packages.i686 b/redhat/docker/mga6/packages.i686
new file mode 100644
index 000000000..973e8b7b4
--- /dev/null
+++ b/redhat/docker/mga6/packages.i686
@@ -0,0 +1,240 @@
+advancecomp
+alsa-lib-devel
+aspell
+aspell-devel
+aspell-en
+audiofile-devel
+bind-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+cdparanoia
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+cmake
+ctags
+cups-devel
+curl-devel
+db5-devel
+dbus-devel
+dbus-glib
+dbus-glib-devel
+djvulibre
+docbook-dtd412-xml
+docbook-style-xsl
+docbook-utils
+doxygen
+drakconf
+dssi-devel
+exempi-devel
+expat-devel
+fdupes
+fftw-devel
+firebird-devel
+flex
+fontconfig-devel
+freetype2-devel
+freetype-devel
+fribidi-devel
+gamin-devel
+gettext-devel
+glib2-devel
+gmime-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gtk2-devel
+gtk+3.0-devel
+gtk-doc
+hspell-devel
+hunspell-en
+ImageMagick-devel
+imake
+imlib2-devel
+intltool
+java-1.8.0-openjdk
+java-1.8.0-openjdk-devel
+karma-sharp
+kde-dev-scripts
+lcms-devel
+libapr-devel
+libapr-util-devel
+libavformat57
+libbinutils-devel
+libclucene-devel
+libcommoncpp-devel
+libcryptsetup-devel
+libcurl-devel
+libdvdread-devel
+libecpg9.4_6
+libexiv2-devel
+libfbclient-devel
+libffmpeg-devel
+libflac-devel
+libflac++-devel
+libfontenc-devel
+libgstreamer1.0-devel
+libgstreamer-plugins-base1.0-devel
+libinotifytools-devel
+libjasper-devel
+libjpeg-devel
+libmp3lame-devel
+liblua-devel
+libmad-devel
+libpaper-devel
+libpkcs11-helper-devel
+libpoppler-devel
+libpulseaudio-devel
+libsane1-devel
+libt1lib-devel
+libtiff-devel
+libtwolame-devel
+libutempter
+libudev-devel
+libusb1.0-devel
+libutempter-devel
+libv4l-devel
+libxaw-devel
+libxdg-basedir-devel
+libxi-devel
+libxine1.2-devel
+libxscrnsaver-devel
+libxtst-devel
+libxxf86dga-devel
+libyaz-devel
+libart_lgpl-devel
+libblkid-devel
+libcdda-devel
+libclucene-devel
+libcommoncpp-devel
+libconfig-devel
+libcurl-devel
+libdvdread-devel
+libffmpeg-devel
+libflac-devel
+libflac++-devel
+libidn-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libhd-devel
+libical-devel
+libice-devel
+libifp-devel
+libinotifytools-devel
+libiodbc-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+libkarma-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpaper-devel
+libpx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg
+libsmbclient-devel
+libsm-devel
+libsndfile-devel
+libt1lib-devel
+libtheora-devel
+libungif-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libx11-devel
+libxcursor-devel
+libxext-devel
+libxft-devel
+libxi-devel
+libxinerama-devel
+libxkbfile-devel
+libxmu-devel
+libxrandr-devel
+libxrender-devel
+libxslt-devel
+libxv-devel
+libxxf86dga-devel
+libyaz-devel
+lilo
+lirc-devel
+lm_sensors-devel
+mesaglu-devel
+mysql-devel
+nas-devel
+neon-devel
+netpbm
+net-snmp-devel
+NetworkManager-glib-devel
+notification-daemon
+ocaml
+OpenEXR-devel
+openldap-devel
+openldap-servers-devel
+opensc
+openslp-devel
+opensp-devel
+optipng
+pam-devel
+pciutils-devel
+perl-devel
+perl(XML::Parser)
+pilot-link-devel
+pinentry-gtk2
+pkgconfig(audiofile)
+pkgconfig(libpng16)
+polkit-agent-none
+postgresql9.4
+postgresql9.4-devel
+pth-devel
+python-devel
+python-sip
+qt4-devel
+readline-devel
+recode
+rpm-build
+rpm-devel
+ruby-devel
+scons
+SDL-devel
+speex-devel
+sqlite3-devel
+sqlite-devel
+sudo
+subversion-devel
+sword-devel
+taglib-devel
+torsocks
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wv2-devel
+x11-font-util
+xbase-devel
+xmlto
+xscreensaver
+xscreensaver-base
+xscreensaver-extrusion
+xscreensaver-gl
+yaz
+zlib-devel
diff --git a/redhat/docker/mga6/packages.x86_64 b/redhat/docker/mga6/packages.x86_64
new file mode 100644
index 000000000..996963cf2
--- /dev/null
+++ b/redhat/docker/mga6/packages.x86_64
@@ -0,0 +1,239 @@
+advancecomp
+alsa-lib-devel
+aspell
+aspell-devel
+aspell-en
+audiofile-devel
+bind-devel
+bison
+boost-devel
+bzip2-devel
+ccache
+cdparanoia
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+cmake
+ctags
+cups-devel
+curl-devel
+db5-devel
+dbus-devel
+dbus-glib
+dbus-glib-devel
+djvulibre
+docbook-dtd412-xml
+docbook-style-xsl
+docbook-utils
+doxygen
+drakconf
+dssi-devel
+exempi-devel
+expat-devel
+fdupes
+fftw-devel
+firebird-devel
+flex
+fontconfig-devel
+freetype2-devel
+freetype-devel
+fribidi-devel
+gamin-devel
+gettext-devel
+glib2-devel
+gmime-devel
+gnokii-devel
+gperf
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gtk2-devel
+gtk+3.0-devel
+gtk-doc
+hspell-devel
+hunspell-en
+ImageMagick-devel
+imake
+imlib2-devel
+intltool
+java-1.8.0-openjdk
+java-1.8.0-openjdk-devel
+karma-sharp
+kde-dev-scripts
+lcms-devel
+lib64apr-devel
+lib64apr-util-devel
+lib64avformat57
+lib64binutils-devel
+lib64clucene-devel
+lib64commoncpp-devel
+lib64cryptsetup-devel
+lib64curl-devel
+lib64dvdread-devel
+lib64ecpg9.4_6
+lib64exiv2-devel
+lib64fbclient-devel
+lib64ffmpeg-devel
+lib64flac-devel
+lib64flac++-devel
+lib64fontenc-devel
+lib64gstreamer1.0-devel
+lib64gstreamer-plugins-base1.0-devel
+lib64inotifytools-devel
+lib64jasper-devel
+lib64jpeg-devel
+lib64mp3lame-devel
+lib64lua-devel
+lib64mad-devel
+lib64paper-devel
+lib64pkcs11-helper-devel
+lib64poppler-devel
+lib64pulseaudio-devel
+lib64sane1-devel
+lib64t1lib-devel
+lib64tiff-devel
+lib64twolame-devel
+lib64udev-devel
+lib64usb1.0-devel
+lib64utempter-devel
+lib64v4l-devel
+lib64xaw-devel
+lib64xdg-basedir-devel
+lib64xi-devel
+lib64xine1.2-devel
+lib64xscrnsaver-devel
+lib64xtst-devel
+lib64xxf86dga-devel
+lib64yaz-devel
+libart_lgpl-devel
+libblkid-devel
+libcdda-devel
+libclucene-devel
+libcommoncpp-devel
+libconfig-devel
+libcurl-devel
+libdvdread-devel
+libffmpeg-devel
+libflac-devel
+libflac++-devel
+libidn-devel
+libgadu-devel
+libgpod-devel
+libgsf-devel
+libhd-devel
+libical-devel
+libice-devel
+libifp-devel
+libinotifytools-devel
+libiodbc-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+libkarma-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpaper-devel
+libpx-devel
+libqalculate-devel
+libraw1394-devel
+librsvg
+libsmbclient-devel
+libsm-devel
+libsndfile-devel
+libt1lib-devel
+libtheora-devel
+libungif-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libx11-devel
+libxcursor-devel
+libxext-devel
+libxft-devel
+libxi-devel
+libxinerama-devel
+libxkbfile-devel
+libxmu-devel
+libxrandr-devel
+libxrender-devel
+libxslt-devel
+libxv-devel
+libxxf86dga-devel
+libyaz-devel
+lilo
+lirc-devel
+lm_sensors-devel
+mesaglu-devel
+mysql-devel
+nas-devel
+neon-devel
+netpbm
+net-snmp-devel
+NetworkManager-glib-devel
+notification-daemon
+ocaml
+OpenEXR-devel
+openldap-devel
+openldap-servers-devel
+opensc
+openslp-devel
+opensp-devel
+optipng
+pam-devel
+pciutils-devel
+perl-devel
+perl(XML::Parser)
+pilot-link-devel
+pinentry-gtk2
+pkgconfig(audiofile)
+pkgconfig(libpng16)
+polkit-agent-none
+postgresql9.4
+postgresql9.4-devel
+pth-devel
+python-devel
+python-sip
+qt4-devel
+readline-devel
+recode
+rpm-build
+rpm-devel
+ruby-devel
+scons
+SDL-devel
+speex-devel
+sqlite3-devel
+sqlite-devel
+sudo
+subversion-devel
+sword-devel
+taglib-devel
+torsocks
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+usbutils
+valgrind
+wv2-devel
+x11-font-util
+xbase-devel
+xmlto
+xscreensaver
+xscreensaver-base
+xscreensaver-extrusion
+xscreensaver-gl
+yaz
+zlib-devel
diff --git a/redhat/docker/mga6/rpmmacros b/redhat/docker/mga6/rpmmacros
new file mode 100644
index 000000000..87fb3a9b9
--- /dev/null
+++ b/redhat/docker/mga6/rpmmacros
@@ -0,0 +1,3 @@
+%dist .mga6
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/opensuse.sh b/redhat/docker/opensuse.sh
new file mode 100755
index 000000000..27a131c76
--- /dev/null
+++ b/redhat/docker/opensuse.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+NAME="opensuse"
+VERSION="$1" # E.g: '42.3'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+
+sudo rm -rf "${INSTALLROOT}"
+sudo mkdir -p "${INSTALLROOT}"
+
+sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/distribution/leap/${VERSION}/repo/oss/" "oss"
+sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/distribution/leap/${VERSION}/repo/non-oss/" "non-oss"
+sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/update/leap/${VERSION}/oss/" "update-oss"
+sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/update/leap/${VERSION}/non-oss/" "update-non-oss"
+sudo zypper --root "${INSTALLROOT}" \
+ --gpg-auto-import-keys ref
+sudo zypper --root "${INSTALLROOT}" \
+ install -y bash vim zypper openSUSE-release
+
+sudo tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+sudo rm -rf "${INSTALLROOT}"
+
+docker rmi -f "${IMAGE}"
+docker import "${IMAGE}.tar" "${IMAGE}"
diff --git a/redhat/docker/opensuse32.sh b/redhat/docker/opensuse32.sh
new file mode 100755
index 000000000..a3b888c75
--- /dev/null
+++ b/redhat/docker/opensuse32.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+NAME="opensuse32"
+VERSION="$1" # E.g: '42.3'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+
+sudo rm -rf "${INSTALLROOT}"
+sudo mkdir -p "${INSTALLROOT}"
+
+if [ "${VERSION}" = "tumbleweed" ]; then
+ URL="http://download.opensuse.org/tumbleweed"
+else
+ URL="http://download.opensuse.org/distribution/leap/${VERSION}"
+fi
+
+sudo zypper --root "${INSTALLROOT}" \
+ ar "${URL}/repo/oss/" "oss"
+sudo zypper --root "${INSTALLROOT}" \
+ ar "${URL}/repo/non-oss/" "non-oss"
+
+if [ "${VERSION}" != "tumbleweed" ]; then
+ sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/update/leap/${VERSION}/oss/" "update-oss"
+ sudo zypper --root "${INSTALLROOT}" \
+ ar "http://download.opensuse.org/update/leap/${VERSION}/non-oss/" "update-non-oss"
+fi
+setarch i686 sudo zypper --root "${INSTALLROOT}" \
+ --gpg-auto-import-keys ref
+setarch i686 sudo zypper --root "${INSTALLROOT}" \
+ install -y bash vim zypper openSUSE-release
+
+sudo tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+sudo rm -rf "${INSTALLROOT}"
+
+docker rmi -f "${IMAGE}"
+docker import "${IMAGE}.tar" "${IMAGE}"
diff --git a/redhat/docker/oss131/Dockerfile.x86_64 b/redhat/docker/oss131/Dockerfile.x86_64
new file mode 100644
index 000000000..67928e55a
--- /dev/null
+++ b/redhat/docker/oss131/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:13.1
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_13.1/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /etc/zypp/packages
+RUN zypper install -l -y $(</etc/zypp/packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss131/packages b/redhat/docker/oss131/packages
new file mode 100644
index 000000000..31065e63f
--- /dev/null
+++ b/redhat/docker/oss131/packages
@@ -0,0 +1,177 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clamav-devel
+clucene-core-devel
+cmake
+commoncpp2-devel
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+esound-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imlib2-devel
+intltool
+java-1_7_0-openjdk-devel
+libacl-devel
+libart_lgpl-devel
+libaudio-devel
+libavahi-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libexempi-devel
+libexiv2-devel
+libffmpeg-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpth-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtunepimp-devel
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+recode
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sword-devel
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+update-desktop-files
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xbase-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss131/rpmmacros b/redhat/docker/oss131/rpmmacros
new file mode 100644
index 000000000..d2ad3b756
--- /dev/null
+++ b/redhat/docker/oss131/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss131
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/oss132/Dockerfile.x86_64 b/redhat/docker/oss132/Dockerfile.x86_64
new file mode 100644
index 000000000..b6a8ef713
--- /dev/null
+++ b/redhat/docker/oss132/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:13.2
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_13.2/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /etc/zypp/packages
+RUN zypper install -l -y $(</etc/zypp/packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss132/packages b/redhat/docker/oss132/packages
new file mode 100644
index 000000000..5043e7483
--- /dev/null
+++ b/redhat/docker/oss132/packages
@@ -0,0 +1,171 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clucene-core-devel
+cmake
+commoncpp2-devel
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+esound-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imlib2-devel
+java-1_8_0-openjdk-devel
+libacl-devel
+libart_lgpl-devel
+libaudio-devel
+libavahi-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libexempi-devel
+libexiv2-devel
+libffmpeg-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmp4v2-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpth-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtunepimp-devel
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+recode
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sword-devel
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+update-desktop-files
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xbase-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss132/rpmmacros b/redhat/docker/oss132/rpmmacros
new file mode 100644
index 000000000..096041924
--- /dev/null
+++ b/redhat/docker/oss132/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss132
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/oss150/Dockerfile.x86_64 b/redhat/docker/oss150/Dockerfile.x86_64
new file mode 100644
index 000000000..39c03d7fd
--- /dev/null
+++ b/redhat/docker/oss150/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:15.0
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.0/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /packages
+RUN zypper install -l -y $(</packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss150/packages b/redhat/docker/oss150/packages
new file mode 100644
index 000000000..b1b9afe3c
--- /dev/null
+++ b/redhat/docker/oss150/packages
@@ -0,0 +1,185 @@
+alsa-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bdftopcf
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+cln-devel
+clucene-core-devel
+cmake
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-utils
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gstreamer-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imlib2-devel
+intltool
+java-1_8_0-openjdk-devel
+less
+libacl-devel
+libao-devel
+libart_lgpl-devel
+libavahi-devel
+libavcodec-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libexempi-devel
+libexiv2-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libgssglue-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libnsl-devel
+libofx-devel
+libotr-devel
+libpaper-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtirpc-devel
+libtool
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+makeinfo
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+net-tools-deprecated
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+qt-devel
+rpm-build
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sudo
+swig
+sword-devel
+torsocks
+transfig
+udisks2-devel
+unixODBC-devel
+update-desktop-files
+usbutils
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss150/rpmmacros b/redhat/docker/oss150/rpmmacros
new file mode 100644
index 000000000..9869e1ec2
--- /dev/null
+++ b/redhat/docker/oss150/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss150
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/oss421/Dockerfile.x86_64 b/redhat/docker/oss421/Dockerfile.x86_64
new file mode 100644
index 000000000..94c0742eb
--- /dev/null
+++ b/redhat/docker/oss421/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:42.1
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.1/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /etc/zypp/packages
+RUN zypper install -l -y $(</etc/zypp/packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss421/packages b/redhat/docker/oss421/packages
new file mode 100644
index 000000000..2dfb4f848
--- /dev/null
+++ b/redhat/docker/oss421/packages
@@ -0,0 +1,170 @@
+alsa-lib-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chrpath
+clucene-core-devel
+cmake
+commoncpp2-devel
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+esound-devel
+fdupes
+ffmpeg-devel
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-0_10-devel
+gstreamer-0_10-plugins-base-devel
+gstreamer-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+java-1_8_0-openjdk-devel
+libacl-devel
+libart_lgpl-devel
+libavahi-devel
+libavahi-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libexiv2-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpth-devel
+libpulse-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtunepimp-devel
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+recode
+rpm-build
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sudo
+sword-devel
+transfig
+udisks2-devel
+udisks-devel
+unixODBC-devel
+update-desktop-files
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss421/rpmmacros b/redhat/docker/oss421/rpmmacros
new file mode 100644
index 000000000..ac326d3c1
--- /dev/null
+++ b/redhat/docker/oss421/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss421
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/oss422/Dockerfile.x86_64 b/redhat/docker/oss422/Dockerfile.x86_64
new file mode 100644
index 000000000..ecb34f1ef
--- /dev/null
+++ b/redhat/docker/oss422/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:42.2
+
+ARG TDE_VERSION=14.0.4
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.2/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /etc/zypp/packages
+RUN zypper install -l -y $(</etc/zypp/packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss422/packages b/redhat/docker/oss422/packages
new file mode 100644
index 000000000..fe79c5038
--- /dev/null
+++ b/redhat/docker/oss422/packages
@@ -0,0 +1,183 @@
+alsa-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bdftopcf
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clucene-core-devel
+cmake
+commoncpp2-devel
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-utils
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gstreamer-0_10-devel
+gstreamer-0_10-plugins-base-devel
+gstreamer-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imlib2-devel
+intltool
+java-1_8_0-openjdk-devel
+libacl-devel
+libart_lgpl-devel
+libavahi-devel
+libavcodec-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libesd-devel
+libexempi-devel
+libexiv2-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblcms2-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpth-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtunepimp-devel
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+qt-devel
+recode
+rpm-build
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sudo
+sword-devel
+torsocks
+transfig
+udisks2-devel
+unixODBC-devel
+update-desktop-files
+usbutils
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss422/rpmmacros b/redhat/docker/oss422/rpmmacros
new file mode 100644
index 000000000..93ec36b2e
--- /dev/null
+++ b/redhat/docker/oss422/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss422
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/oss423/Dockerfile.x86_64 b/redhat/docker/oss423/Dockerfile.x86_64
new file mode 100644
index 000000000..ff70474da
--- /dev/null
+++ b/redhat/docker/oss423/Dockerfile.x86_64
@@ -0,0 +1,23 @@
+FROM opensuse:42.3
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.3/ packman
+RUN zypper refresh
+
+# Install Trinity build dependencies
+ADD packages /etc/zypp/packages
+RUN zypper install -l -y $(</etc/zypp/packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/oss423/packages b/redhat/docker/oss423/packages
new file mode 100644
index 000000000..fe79c5038
--- /dev/null
+++ b/redhat/docker/oss423/packages
@@ -0,0 +1,183 @@
+alsa-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bdftopcf
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+clucene-core-devel
+cmake
+commoncpp2-devel
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-utils
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gstreamer-0_10-devel
+gstreamer-0_10-plugins-base-devel
+gstreamer-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imlib2-devel
+intltool
+java-1_8_0-openjdk-devel
+libacl-devel
+libart_lgpl-devel
+libavahi-devel
+libavcodec-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libesd-devel
+libexempi-devel
+libexiv2-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms-devel
+liblcms2-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp3lame-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libmysqld-devel
+libneon-devel
+libnjb-devel
+libofx-devel
+libotr-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpth-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtool
+libtunepimp-devel
+libtwolame-devel
+libudev-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libxine-devel
+libxslt-devel
+libzrtpcpp-devel
+lilo
+lirc-devel
+make
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+mysql-devel
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+python-sip-devel
+qt-devel
+recode
+rpm-build
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sudo
+sword-devel
+torsocks
+transfig
+udisks2-devel
+unixODBC-devel
+update-desktop-files
+usbutils
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/oss423/rpmmacros b/redhat/docker/oss423/rpmmacros
new file mode 100644
index 000000000..48dda8fe4
--- /dev/null
+++ b/redhat/docker/oss423/rpmmacros
@@ -0,0 +1,3 @@
+%dist .oss423
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/osstw/Dockerfile.i686 b/redhat/docker/osstw/Dockerfile.i686
new file mode 100644
index 000000000..02f84bb8c
--- /dev/null
+++ b/redhat/docker/osstw/Dockerfile.i686
@@ -0,0 +1,25 @@
+FROM opensuse32:tumbleweed
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=i686
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
+RUN setarch ${ARCH} zypper refresh
+RUN setarch ${ARCH} zypper --non-interactive dup
+RUN setarch ${ARCH} zypper --non-interactive update
+
+# Install Trinity build dependencies
+ADD packages /packages
+RUN setarch ${ARCH} zypper install -l -y $(</packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/osstw/Dockerfile.x86_64 b/redhat/docker/osstw/Dockerfile.x86_64
new file mode 100644
index 000000000..156a3a1b8
--- /dev/null
+++ b/redhat/docker/osstw/Dockerfile.x86_64
@@ -0,0 +1,25 @@
+FROM opensuse:tumbleweed
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Add PACKMAN repository
+RUN zypper ar -f -G -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
+RUN zypper refresh
+RUN zypper --non-interactive dup
+RUN zypper --non-interactive update
+
+# Install Trinity build dependencies
+ADD packages /packages
+RUN zypper install -l -y $(</packages)
+
+# Add non-root user to build packages
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Add YUM repository for locally built packages
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/${ARCH} rpmbuild.${ARCH}
+RUN mkdir -p /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
+RUN zypper ar -C -G /home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION}/noarch rpmbuild.noarch
diff --git a/redhat/docker/osstw/packages b/redhat/docker/osstw/packages
new file mode 100644
index 000000000..f1cb04d23
--- /dev/null
+++ b/redhat/docker/osstw/packages
@@ -0,0 +1,195 @@
+alsa-devel
+aspell
+aspell-devel
+audiofile-devel
+automake
+bdftopcf
+bind-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+cdparanoia-devel
+chmlib-devel
+chrpath
+clamav
+cln-devel
+clucene-core-devel
+cmake
+createrepo
+cups-devel
+cyrus-sasl-devel
+dbus-1-devel
+dbus-1-glib-devel
+djvulibre
+docbook-utils
+docbook-xsl-stylesheets
+doxygen GraphicsMagick
+dssi-devel
+fdupes
+ffmpeg-devel
+fftw3-devel
+file-devel
+flac-devel
+flex
+font-util
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+giflib-devel
+glu-devel
+gmime-devel
+gmp-devel
+gnokii-devel
+gperf xmlto
+GraphicsMagick-devel
+gsl-devel
+gstreamer-devel
+gstreamer-plugins-base-devel
+gtk2-devel
+gtk3-devel
+gtk-doc
+htdig
+html2ps
+hunspell-devel
+ImageMagick-devel
+imake
+imlib2-devel
+intltool
+java-1_8_0-openjdk-devel
+less
+libacl-devel
+libart_lgpl-devel
+libavahi-devel
+libavcodec-devel
+libblkid-devel
+libbz2-devel
+libcap-devel
+libcdio-devel
+libcdio-paranoia-devel
+libconfig-devel
+libcryptsetup-devel
+libcurl-devel
+libdb-4_8-devel
+libdvdread-devel
+libexempi-devel
+libexiv2-devel
+libfontenc-devel
+libgadu-devel
+libgpgme-devel
+libgphoto2-devel
+libgpod-devel
+libical-devel
+libidn-devel
+libiw-devel
+libjack-devel
+libjasper-devel
+liblcms2-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmariadb-devel
+libmng-devel
+libmp3lame-devel
+libmpcdec-devel
+libmtp-devel
+libmusicbrainz-devel
+libneon-devel
+libnjb-devel
+libnsl-devel
+libofx-devel
+libopenssl-devel
+libotr-devel
+libpaper-devel
+libpisock-devel
+libpng16-devel
+libpoppler-devel
+libpqxx-devel
+libpulse-devel
+libqalculate-devel
+libraw1394-devel
+librsvg-devel
+libsamplerate-devel
+libSDL-devel
+libsmbclient-devel
+libsndfile-devel
+libtag-devel
+libtheora-devel
+libtiff-devel
+libtirpc-devel
+libtool
+libtwolame-devel
+libudev-devel
+libudisks2-0-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libXaw-devel
+libXdmcp-devel
+libxine-devel
+libxkbfile-devel
+libXmu-devel
+libxslt-devel
+libXss-devel
+libXt-devel
+libXtst-devel
+libXv-devel
+libXxf86dga-devel
+lilo
+lirc-devel
+make
+makeinfo
+meanwhile-devel
+Mesa-devel
+Mesa-libGL-devel
+mozilla-nspr-devel
+net-tools
+net-tools-deprecated
+NetworkManager-devel
+ocaml
+openexr-devel
+opensc
+openslp-devel
+opensp-devel
+openssl
+pam-devel
+patch
+pciutils-devel
+pcre-devel
+pcsc-lite-devel
+pkcs11-helper-devel
+postgresql
+postgresql-devel
+python-devel
+qt-devel
+rpcgen
+rpm-build
+rsvg-view
+ruby
+ruby-devel
+sane-backends-devel
+scons
+speex-devel
+sqlite3-devel
+subversion-devel
+sudo
+swig
+sword-devel
+torsocks
+transfig
+unixODBC-devel
+update-desktop-files
+usbutils
+utempter-devel
+valgrind
+wireless-tools
+wv2-devel
+xcb-proto-devel
+xscreensaver
+xscreensaver-data
+xscreensaver-data-extra
+xz-devel
diff --git a/redhat/docker/osstw/rpmmacros b/redhat/docker/osstw/rpmmacros
new file mode 100644
index 000000000..0f4902670
--- /dev/null
+++ b/redhat/docker/osstw/rpmmacros
@@ -0,0 +1,3 @@
+%dist .osstw
+%_smp_mflags -j8
+%jobs 8
diff --git a/redhat/docker/pclinuxos.sh b/redhat/docker/pclinuxos.sh
new file mode 100755
index 000000000..3791afc94
--- /dev/null
+++ b/redhat/docker/pclinuxos.sh
@@ -0,0 +1,173 @@
+#!/bin/bash
+
+NAME="pclinuxos"
+VERSION="$1" # E.g: '26'
+IMAGE="${NAME}:${VERSION}"
+INSTALLROOT="/dev/shm/${IMAGE}"
+
+sudo rm -rf "${INSTALLROOT}"
+sudo mkdir -p "${INSTALLROOT}"
+
+MIRROR="http://distrib-coffee.ipsl.jussieu.fr/pub/linux/pclinuxos/pclinuxos/apt/pclinuxos/64bit"
+
+cd /dev/shm
+wget -c \
+ "${MIRROR}/RPMS.x86_64/bash-4.3-48.1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/glibc-2.20-10pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rpm-4.8.1-10pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64readline6-6.3-4pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ncurses5-5.9-9pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rpm-helper-0.23.5-1pclos2015.noarch.rpm" \
+ "${MIRROR}/RPMS.x86_64/mktemp-1.7-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/setup-2.7.17-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/findutils-4.6.0-3pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/run-parts-3.2.1-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/shadow-utils-4.1.4.2-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/coreutils-8.27-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/chkconfig-1.3.37-4pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ncursesw5-5.9-9pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/gawk-4.1.2-1pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64rpm1-4.8.1-10pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/cpio-2.11-3pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/gawk-4.1.2-1pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/grep-2.28-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rpm-rambo-setup-1.1-2pclos2017.noarch.rpm" \
+ "${MIRROR}/RPMS.x86_64/rpm-pclinuxos-setup-1.135-4pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64popt0-1.16-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64tcb0-1.0.3-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64pam_userpass1-1.0.2-2pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/pam_tcb-1.0.3-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64lzma5-5.2.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/bzip2-1.0.6-2pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64audit1-2.1.2-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/update-alternatives-1.9.0-1pclos2011.noarch.rpm" \
+ "${MIRROR}/RPMS.x86_64/zlib1-1.2.10-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64bzip2_1-1.0.6-2pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/util-linux-ng-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64acl1-2.2.51-1pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64attr1-2.4.46-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64cap2-2.25-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64gmp10-6.1.2-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/info-install-5.0-2pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rmt-0.4b46-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64mpfr4-3.1.4-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64sigsegv2-2.10-2pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/dash-static-0.5.6.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/filesystem-2.1.9-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/dash-static-0.5.6.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64pcre2_0-10.23-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64pcre1-8.36-1pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/xz-5.2.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/ncurses-5.9-9pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/libgcc1-4.9.2-2pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/libstdc++6-4.9.2-2pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64uuid1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64udev0-168-6pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64smartcols1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64mount1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64fdisk1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64libcap-ng0-0.7.7-1pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64blkid1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/udev-168-6pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64iso9660_7-0.93-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64blkid1-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/diffutils-3.3-1pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64usb1.0_0-1.0.21-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/openssl-1.0.2l-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64cdio12-0.93-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64pcre-compatible0-8.21-1pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/popt-data-1.16-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64db4.8-4.8.30-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64elfutils1-0.166-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64lua5.1-5.1.5-1pclos2012.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64magic1-5.31-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64nspr4-4.14-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64nss3-3.28.4-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64sqlite3_0-3.1070-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rootcerts-20170401.00-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/ldetect-lst-0.2.8-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/nss-3.28.4-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/perl-base-5.22.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/gzip-1.8-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/usbutils-007-1pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64notify4-0.7.7-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/less-487-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64glib2.0_0-2.52.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64gio2.0_0-2.52.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/gdk-pixbuf2.0-2.36.7-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/tcb-1.0.3-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/pkgconfig-0.29-1pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64openssl1.0.0-1.0.2l-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/common-licenses-1.0-14pclos2017.noarch.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64gdk_pixbuf2.0_0-2.36.7-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64notify4-0.7.7-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/file-5.31-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ffi6-3.2.1-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/perl-5.22.3-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64tiff3-3.9.5-2pclos2012.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/libnotify-0.7.7-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64x11_6-1.6.5-2.1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64jasper1-1.900.1-3pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64jpeg8-1.4.2-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64png3-1.2.57-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/libxcb-1.12-3.1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64gdbm3-1.8.3-5pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/nss_tcb-1.0.3-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64usb-compat0.1_4-0.1.5-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64tiff5-4.0.6-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64openssl-engines1.0.0-1.0.2l-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64xau6-1.0.8-3.1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64xdmcp6-1.1.2-3.1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64jbig1-2.0-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64bsd0-0.8.3-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64icu56-56.1-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/icu56-data-56.1-1pclos2016.noarch.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64jpeg62-6b-48pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/cracklib-dicts-2.9.1-1pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64crack2-2.9.1-1pclos2014.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64dbnss4.8-4.8.30-1pclos2011.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/apt-0.5.15lorg3.95-10pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/gnupg-1.4.22-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64apt-pkg0-0.5.15lorg3.95-10pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/apt-sources-list-1.2-7pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64curl4-7.54.0-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ldap2.4_2-2.4.23-3pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/apt-common-0.5.15lorg3.95-10pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64xml2_2-2.9.4-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64rtmp1-2.4-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ssh2_1-1.6.0-1pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/openldap-2.4.23-3pclos2015.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64sasl2-2.1.23-3pclos2013.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64krb53-1.15.1-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/krb5-1.15.1-2pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64keyutils1-1.2-6pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64verto1-0.2.6-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64ext2fs2-1.43.1-2pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/e2fsprogs-1.43.1-2pclos2016.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/uuidd-2.30.1-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/lib64audit-devel-2.1.2-3pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/glibc-devel-2.20-10pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/glibc-headers-devel-4.9.4-1pclos2017.x86_64.rpm" \
+ "${MIRROR}/RPMS.x86_64/rpm-pclinuxos-setup-1.135-5pclos2017.x86_64.rpm" \
+ "http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/pclinuxos/64bit/RPMS.x86_64/lib64pam0-1.1.4-1pclos2011.x86_64.rpm" \
+ "http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/pclinuxos/64bit/RPMS.x86_64/pam-1.1.4-1pclos2011.x86_64.rpm" \
+ "http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/pclinuxos/64bit/RPMS.x86_64/lib64pam-devel-1.1.4-1pclos2011.x86_64.rpm" \
+ "http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/6/x86_64/media/core/release//fdupes-1.51-6.mga6.x86_64.rpm" \
+
+sudo mkdir -p "${INSTALLROOT}/var/lib/rpm"
+sudo rpmdb --initdb --root="${INSTALLROOT}"
+
+sudo rpm -Uvh \
+ --root="${INSTALLROOT}" \
+ *.rpm
+
+cd -
+
+sudo chroot "${INSTALLROOT}" rpmdb --rebuilddb
+sudo chroot "${INSTALLROOT}" rpmdb --rebuilddb
+
+sudo tar -C "${INSTALLROOT}" -c . >"${IMAGE}.tar"
+sudo rm -rf "${INSTALLROOT}"
+
+docker rmi -f "${IMAGE}"
+docker import "${IMAGE}.tar" "${IMAGE}"
diff --git a/redhat/docker/pclinuxos/Dockerfile.x86_64 b/redhat/docker/pclinuxos/Dockerfile.x86_64
new file mode 100644
index 000000000..67f7893d1
--- /dev/null
+++ b/redhat/docker/pclinuxos/Dockerfile.x86_64
@@ -0,0 +1,32 @@
+FROM pclinuxos:2017
+
+ARG TDE_VERSION=14.0.5
+ARG ARCH=x86_64
+
+# Update distribution
+RUN apt-get -y update
+RUN apt-get -y dist-upgrade
+
+# Install Trinity build dependencies
+ADD packages.${ARCH} /packages
+RUN apt-get -y install $(</packages)
+
+# Add rpmbuild repositories
+ADD rpmbuild.list /etc/apt/sources.list.d/rpmbuild.list
+RUN sed -i "/etc/apt/sources.list.d/rpmbuild.list" -e "s|\${ARCH}|${ARCH}|g" -e "s|\${TDE_VERSION}|${TDE_VERSION}|g"
+
+# Add non-root user to build packages
+RUN rm -rf /home/trinity
+RUN useradd -m -s /bin/bash -u 1000 trinity
+RUN echo "trinity ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
+ADD rpmmacros /home/trinity/.rpmmacros
+
+# Fix SUDO configuration
+RUN sed -i "/etc/pam.d/sudo" -e "/pam_limits.so/ s|^|#|"
+
+# Fix missing '.la' files
+ADD genla.sh /usr/bin/genla.sh
+RUN genla.sh libbluetooth && mv /usr/lib64/libbluetooth.la /lib64
+RUN genla.sh libjpeg
+RUN genla.sh liblcms
+RUN genla.sh libusb-1.0 && mv /usr/lib64/libusb-1.0.la /lib64 && cp /lib64/libusb-1.0.la /lib64/libusb.la
diff --git a/redhat/docker/pclinuxos/genla.sh b/redhat/docker/pclinuxos/genla.sh
new file mode 100755
index 000000000..ecc7ac98f
--- /dev/null
+++ b/redhat/docker/pclinuxos/genla.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+LIB="$1"
+LIBDIR="$(rpm -E %_libdir)"
+FILENAME="${LIB}.la"
+FILE="${LIBDIR}/${FILENAME}"
+
+if [ -r "${FILE}" ]; then
+ echo "Already exists !!! Abort"
+ exit 1
+fi
+
+LIBLONG="$(echo ${LIBDIR}/${LIB}.so.*.*)"
+LIBSHORT="$(echo ${LIBDIR}/${LIB}.so.?)"
+
+echo "Library: ${LIBLONG} | ${LIBSHORT}"
+
+
+cat <<EOF >/tmp/$LIB.$$
+# ${FILENAME} - a libtool library file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='${LIBSHORT}'
+
+# Names of this library.
+library_names='${LIBLONG} ${LIBSHORT} ${LIB}.so'
+
+# The name of the static archive.
+old_library='${LIB}.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -lm'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for ${LIB}.
+current=4
+age=2
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='${LIBDIR}'
+EOF
+
+[ $(whoami) = "root" ] || SUDO="sudo"
+$SUDO mv "/tmp/$LIB.$$" "${FILE}"
diff --git a/redhat/docker/pclinuxos/packages.x86_64 b/redhat/docker/pclinuxos/packages.x86_64
new file mode 100644
index 000000000..7079d8d65
--- /dev/null
+++ b/redhat/docker/pclinuxos/packages.x86_64
@@ -0,0 +1,174 @@
+alsa-lib-devel
+aspell-devel
+audiofile-devel
+audit-devel
+binutils-devel
+bison
+boost-devel
+ccache
+cdparanoia
+chmlib-devel
+chrpath
+cmake
+cups-devel
+desktop-file-utils
+djvulibre
+docbook-style-xsl
+doxygen
+drakconf
+dssi-devel
+esound-devel
+exempi-devel
+fdupes
+file-devel
+firebird-devel
+flex
+fontconfig-devel
+freetype-devel
+fribidi-devel
+gamin-devel
+gcc-c++
+gettext-devel
+glib2-devel
+gnokii-devel
+gnutls-devel
+gpgme-devel
+gphoto2-devel
+GraphicsMagick-devel
+gsl-devel
+gtk2-devel
+gtk+3.0-devel
+hspell-devel
+htdig
+ImageMagick-devel
+imake
+java-devel
+lcms-devel
+lib64cryptsetup-devel
+lib64dvdread-devel
+lib64exiv2-devel
+lib64gif-devel
+lib64idn-devel
+lib64inotifytools-devel
+lib64iw29-devel
+lib64nm-devel
+lib64mpcdec-devel
+lib64OpenSP5-devel
+lib64pkcs11-helper-devel
+lib64poppler-devel
+lib64readline-devel
+lib64sane1-devel
+lib64usb1.0-devel
+lib64usb-compat0.1-devel
+lib64wv2-devel
+lib64xaw-devel
+lib64xine1.2-devel
+lib64yaz-devel
+libcap-devel
+libcdda-devel
+libconfig-devel
+libcurl-devel
+libffmpeg-devel
+libflac-devel
+libflac++-devel
+libfontenc-devel
+libgadu-devel
+libgpod-devel
+libgstreamer0.10-devel
+libical-devel
+libice-devel
+libjack-devel
+libjasper-devel
+libjpeg-devel
+liblame-devel
+liblo-devel
+liblrdf-devel
+libmad-devel
+libmng-devel
+libmp4v2-devel
+libmtp-devel
+libmusicbrainz-devel
+libnjb-devel
+libofa-devel
+libofx-devel
+libotr-devel
+libpaper-devel
+lib64png1.6-devel
+libpqxx-devel
+libpthread-stubs
+libpulseaudio-devel
+libqalculate-devel
+libraw1394-devel
+librsvg
+librsync-devel
+libsmbclient-devel
+libsm-devel
+libt1lib-devel
+libtheora-devel
+libudev-devel
+libuuid-devel
+libv4l-devel
+libvisual-devel
+libvorbis-devel
+libwmf-devel
+libwpd-devel
+libx11-devel
+libxcb-devel
+libxcursor-devel
+libxext-devel
+libxft-devel
+libxi-devel
+lib64xine1.2-devel
+libxinerama-devel
+libxkbfile-devel
+libxmu-devel
+libxrandr-devel
+libxrender-devel
+libxscrnsaver-devel
+libxslt-devel
+libxxf86dga-devel
+lirc-devel
+lm_sensors-devel
+mesaglu-devel
+mysql-devel
+nas-devel
+neon-devel
+net-snmp-devel
+ocaml
+OpenEXR-devel
+openldap-devel
+opensc
+openslp-devel
+pam-devel
+perl-devel
+pilot-link-devel
+postgresql
+postgresql-devel
+pth-devel
+python-devel
+python-rpm
+recode
+rpm-build
+rpm-devel
+ruby-devel
+scons
+SDL-devel
+speex-devel
+sqlite3-devel
+sqlite-devel
+subversion-devel
+sudo
+sword-devel
+taglib-devel
+transfig
+udisks2-devel
+unixODBC-devel
+utempter-devel
+valgrind
+vim-enhanced
+x11-font-util
+xscreensaver
+xscreensaver-base
+xscreensaver-extrusion
+xscreensaver-gl
+yaz
diff --git a/redhat/docker/pclinuxos/rpmbuild.list b/redhat/docker/pclinuxos/rpmbuild.list
new file mode 100644
index 000000000..5b838caa9
--- /dev/null
+++ b/redhat/docker/pclinuxos/rpmbuild.list
@@ -0,0 +1 @@
+rpm file:/home/trinity/rpmbuild RPMS.tde-${TDE_VERSION} ${ARCH} noarch
diff --git a/redhat/docker/pclinuxos/rpmmacros b/redhat/docker/pclinuxos/rpmmacros
new file mode 100644
index 000000000..59b0e9d95
--- /dev/null
+++ b/redhat/docker/pclinuxos/rpmmacros
@@ -0,0 +1,4 @@
+%dist .pclos2018
+%_smp_mflags -j8
+%jobs 8
+%pclinuxos 2018
diff --git a/redhat/docker/run.sh b/redhat/docker/run.sh
new file mode 100755
index 000000000..30faba056
--- /dev/null
+++ b/redhat/docker/run.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+DISTRIB="$1"
+TDE_VERSION="$2"
+ARCH="$3"
+
+[ -z "${TDE_VERSION}" ] && TDE_VERSION="14.0.5"
+[ -z "${ARCH}" ] && ARCH="x86_64"
+
+IMAGE="trinity.${DISTRIB}.${ARCH}:${TDE_VERSION}"
+DIST="$(sed -n ${DISTRIB}/rpmmacros -e "/%dist/ s|.* ||p")"
+
+mkdir -p "${HOME}/rpmbuild/RPMS/RPMS${DIST}.tde-${TDE_VERSION}"
+mkdir -p "${HOME}/rpmbuild/SRPMS/SRPMS${DIST}.tde-${TDE_VERSION}"
+mkdir -p "/dev/shm/docker"
+
+docker run -t -i --rm --privileged \
+ -h "${IMAGE}" \
+ --name "${IMAGE//:/-}" \
+ -v /dev/shm/docker:/tmp:z \
+ -u trinity \
+ -e TMPPATH=/tmp \
+ -e TDE_VERSION=${TDE_VERSION} \
+ -w /home/trinity/tde/tde-packaging/redhat \
+ -v ${HOME}/.gnupg:/home/trinity/.gnupg \
+ -v ${HOME}/tde/tde-packaging:/home/trinity/tde/tde-packaging \
+ -v ${HOME}/tde/tde-tarballs:/home/trinity/tde/tde-tarballs \
+ -v ${HOME}/rpmbuild/RPMS/RPMS${DIST}.tde-${TDE_VERSION}:/home/trinity/rpmbuild/RPMS.tde-${TDE_VERSION} \
+ -v ${HOME}/rpmbuild/SRPMS/SRPMS${DIST}.tde-${TDE_VERSION}:/home/trinity/rpmbuild/SRPMS.tde-${TDE_VERSION} \
+ "${IMAGE}" setarch ${ARCH} bash