зеркало из https://github.com/microsoft/docker.git
Merge pull request #19169 from Djelibeybi/fix-ol6-build
Restoring the RPM build process for Oracle Linux 6
This commit is contained in:
Коммит
b69243e951
|
@ -51,6 +51,7 @@ for version in "${versions[@]}"; do
|
|||
;;
|
||||
oraclelinux:*)
|
||||
# get "Development Tools" packages and dependencies
|
||||
# we also need yum-utils for yum-config-manager to pull the latest repo file
|
||||
echo 'RUN yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
||||
;;
|
||||
opensuse:*)
|
||||
|
@ -140,6 +141,18 @@ for version in "${versions[@]}"; do
|
|||
*) ;;
|
||||
esac
|
||||
|
||||
case "$from" in
|
||||
oraclelinux:6)
|
||||
# We need a known version of the kernel-uek-devel headers to set CGO_CPPFLAGS, so grab the UEKR4 GA version
|
||||
# This requires using yum-config-manager from yum-utils to enable the UEKR4 yum repo
|
||||
echo "RUN yum install -y yum-utils && curl -o /etc/yum.repos.d/public-yum-ol6.repo http://yum.oracle.com/public-yum-ol6.repo && yum-config-manager -q --enable ol6_UEKR4" >> "$version/Dockerfile"
|
||||
echo "RUN yum install -y kernel-uek-devel-4.1.12-32.el6uek" >> "$version/Dockerfile"
|
||||
echo >> "$version/Dockerfile"
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
|
||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../Dockerfile >> "$version/Dockerfile"
|
||||
echo 'RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
||||
|
@ -154,4 +167,22 @@ for version in "${versions[@]}"; do
|
|||
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
||||
|
||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
||||
echo >> "$version/Dockerfile"
|
||||
|
||||
case "$from" in
|
||||
oraclelinux:6)
|
||||
# We need to set the CGO_CPPFLAGS environment to use the updated UEKR4 headers with all the userns stuff.
|
||||
# The ordering is very important and should not be changed.
|
||||
echo 'ENV CGO_CPPFLAGS -D__EXPORTED_HEADERS__ \' >> "$version/Dockerfile"
|
||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/generated/uapi \' >> "$version/Dockerfile"
|
||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/uapi \' >> "$version/Dockerfile"
|
||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/generated/uapi \' >> "$version/Dockerfile"
|
||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/uapi \' >> "$version/Dockerfile"
|
||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include' >> "$version/Dockerfile"
|
||||
echo >> "$version/Dockerfile"
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
|
||||
done
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
#
|
||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"!
|
||||
#
|
||||
|
||||
FROM oraclelinux:6
|
||||
|
||||
RUN yum groupinstall -y "Development Tools"
|
||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel libtool-ltdl-devel selinux-policy selinux-policy-devel sqlite-devel tar
|
||||
|
||||
RUN yum install -y yum-utils && curl -o /etc/yum.repos.d/public-yum-ol6.repo http://yum.oracle.com/public-yum-ol6.repo && yum-config-manager -q --enable ol6_UEKR4
|
||||
RUN yum install -y kernel-uek-devel-4.1.12-32.el6uek
|
||||
|
||||
ENV GO_VERSION 1.5.2
|
||||
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
||||
ENV PATH $PATH:/usr/local/go/bin
|
||||
|
||||
ENV AUTO_GOPATH 1
|
||||
|
||||
ENV DOCKER_BUILDTAGS selinux
|
||||
|
||||
ENV CGO_CPPFLAGS -D__EXPORTED_HEADERS__ \
|
||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/generated/uapi \
|
||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/uapi \
|
||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/generated/uapi \
|
||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/uapi \
|
||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include
|
||||
|
|
@ -14,3 +14,4 @@ ENV PATH $PATH:/usr/local/go/bin
|
|||
ENV AUTO_GOPATH 1
|
||||
|
||||
ENV DOCKER_BUILDTAGS selinux
|
||||
|
||||
|
|
|
@ -47,9 +47,9 @@ Requires: xz
|
|||
# Resolves: rhbz#1165615
|
||||
Requires: device-mapper-libs >= 1.02.90-1
|
||||
%endif
|
||||
%if 0%{?oraclelinux} == 6
|
||||
# Require Oracle Unbreakable Enterprise Kernel R3 and newer device-mapper
|
||||
Requires: kernel-uek >= 3.8
|
||||
%if 0%{?oraclelinux} >= 6
|
||||
# Require Oracle Unbreakable Enterprise Kernel R4 and newer device-mapper
|
||||
Requires: kernel-uek >= 4.1
|
||||
Requires: device-mapper >= 1.02.90-2
|
||||
%endif
|
||||
|
||||
|
@ -105,7 +105,7 @@ for deploying and scaling web apps, databases, and backend services without
|
|||
depending on a particular stack or provider.
|
||||
|
||||
%prep
|
||||
%if 0%{?centos} <= 6
|
||||
%if 0%{?centos} <= 6 || 0%{?oraclelinux} <=6
|
||||
%setup -n %{name}
|
||||
%else
|
||||
%autosetup -n %{name}
|
||||
|
|
Загрузка…
Ссылка в новой задаче