diff --git a/docker/standard/CHANGELOG.md b/docker/standard/CHANGELOG.md index c6089a6645b5682d01ed582d7803e545f47614e3..42434adbdc1478b14f0e8c85a795053489ecb52f 100644 --- a/docker/standard/CHANGELOG.md +++ b/docker/standard/CHANGELOG.md @@ -1,3 +1,9 @@ + ### 0.0.4(2021/09/18) + +1、删除编译依赖的工具预装。 + +2、增加安装ruby。 + ### 0.0.3(2021/08/30) 1、更新llvm版本从10.0.1-62608更新到10.0.1-69957。 diff --git a/docker/standard/CHANGELOG_en.md b/docker/standard/CHANGELOG_en.md index fa141e90b6fee53f53ea3df510b8e2ea7fda7143..c14f7da669e47373428efeb2af817289c852c2e9 100644 --- a/docker/standard/CHANGELOG_en.md +++ b/docker/standard/CHANGELOG_en.md @@ -1,4 +1,10 @@ - ### 0.0.2(2021/08/11) + ### 0.0.4(2021/09/18) + +1\. dropped pre-installed build dependency tools. + +2\. Added the installation of ruby. + + ### 0.0.3(2021/08/30) 1\. Updated LLVM from 10.0.1-62608 to 10.0.1-69957. diff --git a/docker/standard/Readme-en.md b/docker/standard/Readme-en.md index 43c04b716bec16e4c86c932c25eca0a6b79ca815..679d8e054a1926763fa4f7eaed21efecaefef09f 100755 --- a/docker/standard/Readme-en.md +++ b/docker/standard/Readme-en.md @@ -10,11 +10,11 @@ The Docker image of OpenHarmony is hosted on [HUAWEI Cloud SWR](https://auth.hua 1. Obtain the Docker image. ``` -docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3 +docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.4 ``` 2. Go to the root directory of OpenHarmony code and run the following command to access the Docker build environment: ``` -docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3 +docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.4 ``` ##### **Method 2: Using the Dockerfile to Build a Local Docker Image** @@ -30,15 +30,12 @@ cd docs/docker/standard ``` 3. Go to the root directory of OpenHarmony code and run the following command to access the Docker build environment: ``` -docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.3 +docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.4 ``` ### Building for Standard-System Devices (reference memory ≥ 128 MB) -1. Run the preprocessing script in the root directory of the source code. -``` -../scripts/prepare.sh -``` -2. Run the following script to start building for Standard-System Devices (reference memory ≥ 128 MB) +Run the following script to start building for Standard-System Devices (reference memory ≥ 128 MB) + ``` ./build.sh --product-name {product_name} ``` diff --git a/docker/standard/Readme.md b/docker/standard/Readme.md index a68037a0ad106a804583d29eb72195c05278f8fb..81e6c8a965663531a31d37c64144e3f705839b77 100755 --- a/docker/standard/Readme.md +++ b/docker/standard/Readme.md @@ -10,11 +10,11 @@ OpenHarmony的Docker镜像托管在HuaweiCloud SWR上。开发者可以通过该 1. 获取Docker镜像。 ``` -docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3 +docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.4 ``` 2. 进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。 ``` -docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3 +docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.4 ``` ##### 方式二:通过Dockerfile 构建本地Docker镜像进行构建 @@ -30,15 +30,12 @@ cd docs/docker/standard ``` 3. 进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。 ``` -docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.3 +docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.4 ``` ### 编译源码-标准系统类设备(参考内存≥128MB) -1. 在源码的根目录执行预处理脚本。 -``` -../scripts/prepare.sh -``` -2. 通过如下编译脚本启动标准系统类设备(参考内存≥128MB)的编译。 +通过如下编译脚本启动标准系统类设备(参考内存≥128MB)的编译。 + ``` ./build.sh --product-name {product_name} ``` diff --git a/docker/standard/build.sh b/docker/standard/build.sh index 5371886ecb6afd1545d52c897fffe9674f095b85..7627d6123d56c009722ed946a9175818827a28e0 100755 --- a/docker/standard/build.sh +++ b/docker/standard/build.sh @@ -13,4 +13,4 @@ #!/bin/sh -docker build -t openharmony-docker-standard:0.0.3 . +docker build -t openharmony-docker-standard:0.0.4 . diff --git a/docker/standard/dockerfile b/docker/standard/dockerfile index 9f17b6c9c2bbd47baef5a992544c5412df05959f..6e4ef8c3f48a7053efbd268d7c7419200cf512b8 100755 --- a/docker/standard/dockerfile +++ b/docker/standard/dockerfile @@ -17,14 +17,11 @@ WORKDIR /home/openharmony ARG DEBIAN_FRONTEND=noninteractive ARG PREBUILTS_DIR=/home/prebuilts ARG HOME_TOOLS=/home/tools -ARG HOME_SCRIPTS=/home/scripts RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak COPY sources.list /etc/apt -COPY prebuilts_download.sh prepare.sh $HOME_SCRIPTS/ - RUN apt-get update \ && apt-get install -y \ apt-utils \ @@ -85,9 +82,10 @@ RUN apt-get update \ libc6-dev-i386 \ lib32z-dev \ openjdk-8-jdk \ + ruby \ && rm -rf /bin/sh \ && ln -s /bin/bash /bin/sh \ - && mkdir -p $PREBUILTS_DIR/prebuilts $HOME_TOOLS $HOME_SCRIPTS + && mkdir -p $PREBUILTS_DIR/prebuilts $HOME_TOOLS RUN wget -P $HOME_TOOLS https://mirrors.huaweicloud.com/nodejs/v12.18.4/node-v12.18.4-linux-x64.tar.gz \ && wget -P $HOME_TOOLS https://mirrors.huaweicloud.com/nodejs/v12.18.4/node-v12.18.4-darwin-x64.tar.gz \ @@ -98,7 +96,4 @@ RUN wget -P $HOME_TOOLS https://mirrors.huaweicloud.com/nodejs/v12.18.4/node-v12 && export PATH=$PATH:$PREBUILTS_DIR/prebuilts/node-v12.18.4-linux-x64/bin \ && export PATH=$PATH:$PREBUILTS_DIR/prebuilts/hc-gen \ && rm -rf $HOME_TOOLS \ - && chmod -R 777 $HOME_SCRIPTS/*.sh \ - && $HOME_SCRIPTS/prebuilts_download.sh \ - && rm -rf /tmp/prebuilts \ && npm install -g @ohos/hpm-cli --registry https://registry.npm.taobao.org diff --git a/docker/standard/prebuilts_download.sh b/docker/standard/prebuilts_download.sh deleted file mode 100755 index 307b7069210cef4592477adb384fa97f7fa4ba5b..0000000000000000000000000000000000000000 --- a/docker/standard/prebuilts_download.sh +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2020 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#!/bin/bash -# 代码下载目录 -code_dir=/home/prebuilts -# 二进制所在目录,用于临时存放二进制,二进制整个大小约10G,请确保有足够的空间 -bin_dir=/tmp/prebuilts -# 二进制关系 -copy_config=""" -prebuilts/cmake,https://repo.huaweicloud.com/harmonyos/compiler/cmake/3.16.5/darwin/cmake-darwin-x86-3.16.5.tar.gz -prebuilts/cmake,https://repo.huaweicloud.com/harmonyos/compiler/cmake/3.16.5/linux/cmake-linux-x86-3.16.5.tar.gz -prebuilts/cmake,https://repo.huaweicloud.com/harmonyos/compiler/cmake/3.16.5/windows/cmake-windows-x86-3.16.5.tar.gz -prebuilts/build-tools/darwin-x86/bin,https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/darwin/gn-darwin-x86-1717.tar.gz -prebuilts/build-tools/linux-x86/bin,https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz -prebuilts/build-tools/darwin-x86/bin,https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.10.1/darwin/ninja-darwin-x86-1.10.1.tar.gz -prebuilts/build-tools/linux-x86/bin,https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.10.1/linux/ninja-linux-x86-1.10.1.tar.gz -prebuilts/python,https://repo.huaweicloud.com/harmonyos/compiler/python/3.8.5/darwin/python-darwin-x86-3.8.5.tar.gz -prebuilts/python,https://repo.huaweicloud.com/harmonyos/compiler/python/3.8.5/linux/python-linux-x86-3.8.5.tar.gz -prebuilts/mingw-w64/ohos/linux-x86_64,https://repo.huaweicloud.com/harmonyos/compiler/mingw-w64/7.0.0/clang-mingw.tar.gz -prebuilts,https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar -prebuilts/gcc/linux-x86/arm,https://repo.huaweicloud.com/harmonyos/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi.tar.gz -prebuilts/gcc/linux-x86/aarch64,https://repo.huaweicloud.com/harmonyos/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/gcc-linaro-7.5.0-2019.12-x86_64-aarch64-linux-gnu.tar.xz -prebuilts/sdk/js-loader/build-tools,https://repo.huaweicloud.com/harmonyos/compiler/ace-loader/1.0/ace-loader.tar.gz -prebuilts/clang/ohos/linux-x86_64,https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-69957/linux/clang-69957-linux-x86_64.tar.bz2 -prebuilts/build-tools/common,https://repo.huaweicloud.com/harmonyos/compiler/restool/1.023-c/restool.tar.gz -""" -if [ ! -d "${bin_dir}" ];then - mkdir -p "${bin_dir}" -fi - -for i in `echo ${copy_config}` -do - unzip_dir=`echo $i|awk -F ',' '{print $1}'` - huaweicloud_url=`echo $i|awk -F ',' '{print $2}'` - md5_huaweicloud_url=`echo ${huaweicloud_url}|md5sum|awk '{print $1}'` - bin_file=`basename ${huaweicloud_url}` - bin_file_suffix=${bin_file#*.} - #huaweicloud_file_name=`echo ${huaweicloud_url}|awk -F '/' '{print $NF}'` - - if [ ! -d "${code_dir}/${unzip_dir}" ];then - mkdir -p "${code_dir}/${unzip_dir}" - fi - if [ ! -f "${bin_dir}/${md5_huaweicloud_url}.${bin_file_suffix}" ];then - # 代理不需要鉴权: wget -P ${bin_dir} -e "https_proxy=http://domain.com:port" ${huaweicloud_url} - # 代理需要鉴权(账号密码特殊字符均需要URL转义): wget -P ${bin_dir} -e "https_proxy=http://username:password@domain.com:port" ${huaweicloud_url} - # 不需要代理 - wget -O ${bin_dir}/${md5_huaweicloud_url}.${bin_file_suffix} ${huaweicloud_url} - fi - if [ "X${bin_file_suffix:0-3}" = "Xzip" ];then - unzip "${bin_dir}/${md5_huaweicloud_url}.${bin_file_suffix}" -d "${code_dir}/${unzip_dir}/" - elif [ "X${bin_file_suffix:0-6}" = "Xtar.gz" ];then - tar -xvzf "${bin_dir}/${md5_huaweicloud_url}.${bin_file_suffix}" -C "${code_dir}/${unzip_dir}" - else - tar -xvf "${bin_dir}/${md5_huaweicloud_url}.${bin_file_suffix}" -C "${code_dir}/${unzip_dir}" - fi -done diff --git a/docker/standard/prepare.sh b/docker/standard/prepare.sh deleted file mode 100755 index d3e3a1f65a764ec920ebac5cdc5201a48b22a0b4..0000000000000000000000000000000000000000 --- a/docker/standard/prepare.sh +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2020 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#!/bin/bash - -WORKDIR=/home/openharmony -TOOLSDIR=/home/prebuilts/prebuilts - -rm -rf /usr/bin/python -ln -s /usr/bin/python2.7 /usr/bin/python - -if [[ -d $WORKDIR/third_party/jsframework ]]; then - echo copy jsframework node_modules - cd $WORKDIR/third_party/jsframework - npm install --registry https://registry.npm.taobao.org -fi - -if [[ -d $TOOLSDIR/build-tools/common/js-framework ]]; then - rm -rf $TOOLSDIR/build-tools/common/js-framework -fi -mkdir -p $TOOLSDIR/build-tools/common/js-framework -cp -r $WORKDIR/third_party/jsframework/node_modules $TOOLSDIR/build-tools/common/js-framework - -if [[ -d $TOOLSDIR/build-tools/common/nodejs ]]; then - rm -rf $TOOLSDIR/build-tools/common/nodejs -fi - -mkdir -p $TOOLSDIR/build-tools/common/nodejs -cp -r $TOOLSDIR/node-v12.18.4-linux-x64 $TOOLSDIR/build-tools/common/nodejs -cp -r $TOOLSDIR/node-v12.18.4-darwin-x64 $TOOLSDIR/build-tools/common/nodejs - -if [[ -h $WORKDIR/prebuilts/cmake ]]; then - rm $WORKDIR/prebuilts/cmake -fi -echo link cmake -ln -s $TOOLSDIR/cmake $WORKDIR/prebuilts/cmake - -if [[ -h $WORKDIR/prebuilts/build-tools ]]; then - rm $WORKDIR/prebuilts/build-tools -fi -echo link build-tools -ln -s $TOOLSDIR/build-tools $WORKDIR/prebuilts/build-tools - -if [[ -h $WORKDIR/prebuilts/python ]]; then - rm $WORKDIR/prebuilts/python -fi -echo link python -ln -s $TOOLSDIR/python $WORKDIR/prebuilts/python - -if [[ -h $WORKDIR/prebuilts/mingw-w64 ]]; then - rm $WORKDIR/prebuilts/mingw-w64 -fi -echo link mingw-w64 -ln -s $TOOLSDIR/mingw-w64 $WORKDIR/prebuilts/mingw-w64 - -mv $TOOLSDIR/clang/ohos/linux-x86_64/clang-69957 $TOOLSDIR/clang/ohos/linux-x86_64/llvm -if [[ -h $WORKDIR/prebuilts/clang ]]; then - rm $WORKDIR/prebuilts/clang -fi -echo link clang -ln -snf 10.0.1 $TOOLSDIR/clang/ohos/linux-x86_64/llvm/lib/clang/current -ln -s $TOOLSDIR/clang $WORKDIR/prebuilts/clang - -mv $TOOLSDIR/gcc/linux-x86/arm/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi $TOOLSDIR/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi -if [[ -h $WORKDIR/prebuilts/gcc ]]; then - rm $WORKDIR/prebuilts/gcc -fi -echo link gcc -ln -s $TOOLSDIR/gcc $WORKDIR/prebuilts/gcc - -if [[ -h $WORKDIR/prebuilts/sdk ]]; then - rm $WORKDIR/prebuilts/sdk -fi -echo link sdk -ln -s $TOOLSDIR/sdk $WORKDIR/prebuilts/sdk -