1#!/bin/bash 2 3# Copyright (c) 2021 Huawei Device Co., Ltd. 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14 15set -e 16 17cp ./docs/docker/Dockerfile ./build/build_scripts/ 18 19sed -i "s@\t@@g" ./build/build_scripts/Dockerfile 20sed -i "s@\\\@@g" ./build/build_scripts/Dockerfile 21 22sed -i "s@FROM ubuntu:18.04@@g" ./build/build_scripts/Dockerfile 23sed -i "s@WORKDIR /home/openharmony@@g" ./build/build_scripts/Dockerfile 24sed -i "s@ENV LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8@@g" ./build/build_scripts/Dockerfile 25sed -i "s@RUN @@g" ./build/build_scripts/Dockerfile 26sed -i "s@&& @@g" ./build/build_scripts/Dockerfile 27 28sed -i 's@rm -rf /bin/sh.*\s@@' ./build/build_scripts/Dockerfile 29sed -i 's@ln -s /bin.*\s@@g' ./build/build_scripts/Dockerfile 30sed -i 's@ln -s /usr.*\s@@g' ./build/build_scripts/Dockerfile 31sed -i 's@locale-gen .*\s@@g' ./build/build_scripts/Dockerfile 32sed -i 's@^export PATH=.*\s@@g' ./build/build_scripts/Dockerfile 33 34sed -i 's@ruby\S*\s@ruby @' ./build/build_scripts/Dockerfile 35sed -i 's@python3\S*\s@@g' ./build/build_scripts/Dockerfile 36sed -i "s@git-core@git@g" ./build/build_scripts/Dockerfile 37sed -i "s@zlib*@zlib@g" ./build/build_scripts/Dockerfile 38 39sed -i "s@cd /home/openharmony@cd /../..@g" ./build/build_scripts/Dockerfile 40sed -i '/chmod +x /a python3 -m pip install --user build/lite' ./build/build_scripts/Dockerfile 41sed -i '/pip3 install six/i pip3 install testresources' ./build/build_scripts/Dockerfile 42 43 44sed -i "s@\t@@g" ./build/build_scripts/Dockerfile 45sed -i "s@\\\@@g" ./build/build_scripts/Dockerfile 46 47result1=$(echo $SHELL | grep "bash" || true) 48result2=$(echo $SHELL | grep "zsh" || true) 49 50userhome=~ 51if [[ "$result1" != "" ]] 52then 53 sed -i "s@/root/.bashrc@"$userhome"/.bashrc@g" ./build/build_scripts/Dockerfile 54elif [[ "$result2" != "" ]] 55then 56 sed -i "s@/root/.bashrc@"$userhome"/.zshrc@g" ./build/build_scripts/Dockerfile 57else 58 echo "Shell is not default, please configure the PATH variable manually" 59fi 60 61archive='sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list' 62security='sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list' 63 64while true 65do 66 read -p "Will modify /etc/apt/sources.list, Backup to /etc/apt/sources.list.bak(y/n):" sign_value 67 68 if [[ "$sign_value" == "n" ]] 69 then 70 sed -i -e "s|$archive||" ./build/build_scripts/Dockerfile 71 sed -i -e "s|$security||" ./build/build_scripts/Dockerfile 72 break 73 elif [[ "$sign_value" == "y" || $sign_value == "" ]] 74 then 75 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 76 break 77 fi 78done 79 80mv ./build/build_scripts/Dockerfile ./build/build_scripts/rundocker.sh 81chmod +x ./build/build_scripts/rundocker.sh 82sudo ./build/build_scripts/rundocker.sh 83 84echo "--------------------------------------------------------------------------------" 85echo "Please execute source ~/.bashrc or source ~/.zshrc, or restart the shell window" 86echo "--------------------------------------------------------------------------------" 87