Merge pull request #4447 from ejona86/cleaner-protoc-artifacts

Cleaner protoc artifacts
pull/4532/head
Feng Xiao 7 years ago committed by GitHub
commit 4274e6af2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      protoc-artifacts/Dockerfile
  2. 8
      protoc-artifacts/README.md
  3. 13
      protoc-artifacts/scl-enable-devtoolset.sh

@ -11,7 +11,9 @@ RUN yum install -y git \
libtool \ libtool \
glibc-static.i686 \ glibc-static.i686 \
glibc-devel \ glibc-devel \
glibc-devel.i686 glibc-devel.i686 \
&& \
yum clean all
# Install Java 8 # Install Java 8
RUN wget -q --no-cookies --no-check-certificate \ RUN wget -q --no-cookies --no-check-certificate \
@ -27,15 +29,17 @@ RUN wget -q http://apache.cs.utah.edu/maven/maven-3/3.3.9/binaries/apache-maven-
ENV PATH /var/local/apache-maven-3.3.9/bin:$PATH ENV PATH /var/local/apache-maven-3.3.9/bin:$PATH
# Install GCC 4.7 to support -static-libstdc++ # Install GCC 4.7 to support -static-libstdc++
RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d && \
RUN bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo' bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo' && \
RUN bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-1.1.repo > /etc/yum.repos.d/devtools-i386-1.1.repo" bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-1.1.repo > /etc/yum.repos.d/devtools-i386-1.1.repo" && \
RUN sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-1.1.repo sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-1.1.repo && \
RUN rpm --rebuilddb && yum install -y devtoolset-1.1 \ rpm --rebuilddb && \
yum install -y devtoolset-1.1 \
devtoolset-1.1-libstdc++-devel \ devtoolset-1.1-libstdc++-devel \
devtoolset-1.1-libstdc++-devel.i686 devtoolset-1.1-libstdc++-devel.i686 && \
yum clean all
RUN git clone --depth 1 https://github.com/google/protobuf.git COPY scl-enable-devtoolset.sh /var/local/
# Start in devtoolset environment that uses GCC 4.7 # Start in devtoolset environment that uses GCC 4.7
CMD ["scl", "enable", "devtoolset-1.1", "bash"] ENTRYPOINT ["/var/local/scl-enable-devtoolset.sh"]

@ -140,10 +140,14 @@ $ docker build -t protoc-artifacts .
To run the image: To run the image:
``` ```
$ docker run -it --rm=true protoc-artifacts $ docker run -it --rm=true protoc-artifacts bash
``` ```
The Protobuf repository has been cloned into ``/protobuf``. To checkout protobuf (run within the container):
```
$ # Replace v3.5.1 with the version you want
$ wget -O - https://github.com/google/protobuf/archive/v3.5.1.tar.gz | tar xvzp
```
### Tips for deploying on Windows ### Tips for deploying on Windows
Under Windows the following error may occur: ``gpg: cannot open tty `no tty': Under Windows the following error may occur: ``gpg: cannot open tty `no tty':

@ -0,0 +1,13 @@
#!/bin/bash
set -eu -o pipefail
quote() {
local arg
for arg in "$@"; do
printf "'"
printf "%s" "$arg" | sed -e "s/'/'\\\\''/g"
printf "' "
done
}
exec scl enable devtoolset-1.1 "$(quote "$@")"
Loading…
Cancel
Save