瀏覽代碼

Fix protoc release (#5615)

* Fix protoc release

* Update Dockerfile to include libatomic
Hao Nguyen 6 年之前
父節點
當前提交
30851ca266
共有 2 個文件被更改,包括 19 次插入8 次删除
  1. 14 3
      protoc-artifacts/Dockerfile
  2. 5 5
      protoc-artifacts/build-protoc.sh

+ 14 - 3
protoc-artifacts/Dockerfile

@@ -33,9 +33,20 @@ RUN wget http://people.centos.org/tru/devtools-2/devtools-2.repo -P /etc/yum.rep
     bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-2.repo' && \
     bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-2.repo' && \
     bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-2.repo > /etc/yum.repos.d/devtools-i386-2.repo" && \
     bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-2.repo > /etc/yum.repos.d/devtools-i386-2.repo" && \
     sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-2.repo && \
     sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-2.repo && \
-    rpm --rebuilddb && \
-    yum install -y devtoolset-2-gcc devtoolset-2-gcc-c++ devtoolset-2-binutils devtoolset-2-libstdc++-devel \
-                   devtoolset-2-gcc.i686 devtoolset-2-gcc-c++.i686 devtoolset-2-binutils.i686 devtoolset-2-libstdc++-devel.i686 && \
+    rpm --rebuilddb
+
+RUN yum install -y devtoolset-2-gcc \
+                   devtoolset-2-gcc-c++ \
+                   devtoolset-2-binutils \
+                   devtoolset-2-libstdc++-devel \
+                   devtoolset-2-libatomic-devel \
+                   libatomic \
+                   devtoolset-2-gcc.i686 \
+                   devtoolset-2-gcc-c++.i686 \
+                   devtoolset-2-binutils.i686 \
+                   devtoolset-2-libstdc++-devel.i686 \
+                   devtoolset-2-libatomic-devel.i686 \
+                   libatomic.i686 && \
     yum clean all
     yum clean all
 
 
 COPY scl-enable-devtoolset.sh /var/local/
 COPY scl-enable-devtoolset.sh /var/local/

+ 5 - 5
protoc-artifacts/build-protoc.sh

@@ -95,8 +95,8 @@ checkArch ()
         assertEq $format "elf64-little" $LINENO
         assertEq $format "elf64-little" $LINENO
       elif [[ "$ARCH" == ppcle_64 ]]; then
       elif [[ "$ARCH" == ppcle_64 ]]; then
 	if [[ $host_machine == ppc64le ]];then
 	if [[ $host_machine == ppc64le ]];then
-	  assertEq $format "elf64-powerpcle" $LINENO	
-	else	
+	  assertEq $format "elf64-powerpcle" $LINENO
+	else
           assertEq $format "elf64-little" $LINENO
           assertEq $format "elf64-little" $LINENO
 	fi
 	fi
       else
       else
@@ -140,11 +140,11 @@ checkDependencies ()
     host_machine="$(uname -m)";
     host_machine="$(uname -m)";
     dump_cmd='ldd '"$1"
     dump_cmd='ldd '"$1"
     if [[ "$ARCH" == x86_32 ]]; then
     if [[ "$ARCH" == x86_32 ]]; then
-      white_list="linux-gate\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux\.so\.2"
+      white_list="linux-gate\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux\.so\.2\|libatomic\.so\.1"
     elif [[ "$ARCH" == x86_64 ]]; then
     elif [[ "$ARCH" == x86_64 ]]; then
-      white_list="linux-vdso\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-x86-64\.so\.2"
+      white_list="linux-vdso\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-x86-64\.so\.2\|libatomic\.so\.1"
     elif [[ "$ARCH" == ppcle_64 ]]; then
     elif [[ "$ARCH" == ppcle_64 ]]; then
-      if [[ $host_machine != ppc64le ]];then      
+      if [[ $host_machine != ppc64le ]];then
         dump_cmd='objdump -p '"$1"' | grep NEEDED'
         dump_cmd='objdump -p '"$1"' | grep NEEDED'
       fi
       fi
       white_list="linux-vdso64\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|libz\.so\.1\|ld64\.so\.2"
       white_list="linux-vdso64\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|libz\.so\.1\|ld64\.so\.2"