mirror of https://github.com/docker/docs.git
Merge pull request #19169 from Djelibeybi/fix-ol6-build
Restoring the RPM build process for Oracle Linux 6
This commit is contained in:
commit
b69243e951
|
@ -51,6 +51,7 @@ for version in "${versions[@]}"; do
|
||||||
;;
|
;;
|
||||||
oraclelinux:*)
|
oraclelinux:*)
|
||||||
# get "Development Tools" packages and dependencies
|
# 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"
|
echo 'RUN yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
||||||
;;
|
;;
|
||||||
opensuse:*)
|
opensuse:*)
|
||||||
|
@ -140,6 +141,18 @@ for version in "${versions[@]}"; do
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
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"
|
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 '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"
|
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:]]*$//' )
|
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
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
|
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 AUTO_GOPATH 1
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS selinux
|
ENV DOCKER_BUILDTAGS selinux
|
||||||
|
|
||||||
|
|
|
@ -47,9 +47,9 @@ Requires: xz
|
||||||
# Resolves: rhbz#1165615
|
# Resolves: rhbz#1165615
|
||||||
Requires: device-mapper-libs >= 1.02.90-1
|
Requires: device-mapper-libs >= 1.02.90-1
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?oraclelinux} == 6
|
%if 0%{?oraclelinux} >= 6
|
||||||
# Require Oracle Unbreakable Enterprise Kernel R3 and newer device-mapper
|
# Require Oracle Unbreakable Enterprise Kernel R4 and newer device-mapper
|
||||||
Requires: kernel-uek >= 3.8
|
Requires: kernel-uek >= 4.1
|
||||||
Requires: device-mapper >= 1.02.90-2
|
Requires: device-mapper >= 1.02.90-2
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ for deploying and scaling web apps, databases, and backend services without
|
||||||
depending on a particular stack or provider.
|
depending on a particular stack or provider.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%if 0%{?centos} <= 6
|
%if 0%{?centos} <= 6 || 0%{?oraclelinux} <=6
|
||||||
%setup -n %{name}
|
%setup -n %{name}
|
||||||
%else
|
%else
|
||||||
%autosetup -n %{name}
|
%autosetup -n %{name}
|
||||||
|
|
Loading…
Reference in New Issue