fix: 移除env.sh中某个deb包安装失败后替换源retry;

Description:

Log:
This commit is contained in:
mikigo 2023-12-08 17:38:12 +08:00
parent 9c76edbac7
commit 78340dfbd2
3 changed files with 17 additions and 66 deletions

View File

@ -13,29 +13,11 @@ whitelist="/usr/share/deepin-elf-verify/whitelist"
pypi_mirror="https://pypi.tuna.tsinghua.edu.cn/simple"
echo "${PASSWORD}" | sudo -S su > /dev/null 2>&1
sources_list(){
cat > "sources.list" <<- EOF
deb [by-hash=force] https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free
deb-src https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free
deb http://pools.corp.deepin.com/ppa/dde-eagle eagle main contrib non-free
deb-src http://pools.corp.deepin.com/ppa/dde-eagle eagle main contrib non-free
deb http://pools.corp.deepin.com/ppa/dde-eagle experimental main contrib non-free
EOF
}
community_sources_list(){
cat > "sources.list" <<- EOF
deb https://community-packages.deepin.com/deepin apricot main contrib non-free
EOF
}
check_status(){
if [ $? = 0 ]; then
echo -e "$1\t安装成功 √"
else
echo -e "$1\t安装失败 ×"
env_retry=true
cat /tmp/env.log
fi
}
@ -80,7 +62,6 @@ wayland_env(){
echo "export GDMSESSION=Wayland" >> $HOME/.bashrc
echo 'export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"' >> $HOME/.bashrc
fi
# 将 wayland_autotool 写入到安全管控白名单
wayland_cmd_path="/usr/local/bin/wayland_autotool"
result=`sudo cat ${whitelist} | grep ${wayland_cmd_path}`
if [ -z "$result" ]; then
@ -101,10 +82,7 @@ wayland_env(){
nohup wayland_autotool > /dev/null 2>&1 &
}
env_retry=false
system_env(){
# 添加一些有用的环境变量
echo "${PASSWORD}" | sudo -S su > /dev/null 2>&1
sudo sed -i "s/#PubkeyAuthentication yes/PubkeyAuthentication yes/g" /etc/ssh/sshd_config > /dev/null 2>&1
sudo sed -i "s/# StrictHostKeyChecking ask/ StrictHostKeyChecking no/g" /etc/ssh/ssh_config > /dev/null 2>&1
@ -125,3 +103,10 @@ system_env(){
sudo systemctl enable ssh > /dev/null 2>&1
sudo systemctl start ssh > /dev/null 2>&1
}
init_pip(){
sudo pip3 cache purge > /tmp/env.log 2>&1
sudo pip3 config set global.timeout 10000 > /tmp/env.log 2>&1
sudo pip3 config set global.index-url ${pypi_mirror} > /tmp/env.log 2>&1
sudo pip3 install -U pip > /tmp/env.log 2>&1
}

25
env.sh
View File

@ -28,7 +28,6 @@ env(){
at-spi2-core
python3-opencv
)
# 裁剪基础环境
cd ${ROOT_DIR}/src/utils
BASICENV=$(python3 sub_env_cut.py)
if [ "${BASICENV}" = "BASICENV" ]; then
@ -52,24 +51,10 @@ env(){
fi
}
env
if [ "${env_retry}" = "true" ]; then
source /etc/os-release
if [ "${NAME}" = "Deepin" ]; then
community_sources_list
else
sources_list
fi
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp sources.list /etc/apt/sources.list && rm -rf sources.list
env
sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
fi
echo -e "${flag_feel}安装 pip 包\n"
sudo pip3 cache purge
sudo pip3 install -U pip > /tmp/env.log 2>&1
sudo pip3 config set global.timeout 10000 > /tmp/env.log 2>&1
sudo pip3 config set global.index-url ${pypi_mirror} > /tmp/env.log 2>&1
echo -e "${flag_feel}安装 pip 包\n"
init_pip
sudo pip3 install pipenv > /tmp/env.log 2>&1
if [ $? = 0 ]; then
echo -e "pipenv\t安装成功 √"
@ -165,8 +150,8 @@ if [ "${requirements}" != "" ]; then
done
fi
pipenv run pip install -U auto_uos --extra-index-url ${pypi_mirror} \
-i http://10.20.52.221:8081 --trusted-host=10.20.52.221 > /tmp/env.log 2>&1
pipenv run pip install -U auto_uos --extra-index-url ${pypi_mirror} -i http://10.20.52.221:8081 --trusted-host=10.20.52.221 \
> /tmp/env.log 2>&1
check_status auto_uos
pip_show=$(pipenv run pip show auto_uos | grep Location)
public_location=$(echo "${pip_show}" | cut -d ":" -f2 | python3 -c "s=input();print(s.strip())")

View File

@ -43,23 +43,10 @@ env(){
wayland_env
fi
}
# 默认源直接安装
env
# 如果安装过程中存在失败的情况,替换一下源再试一下
if [ "${env_retry}" = "true" ]; then
# 适配专业版或社区版仓库源
source /etc/os-release
if [ "${NAME}" = "Deepin" ]; then
community_sources_list
else
sources_list
fi
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp sources.list /etc/apt/sources.list && rm -rf sources.list
# 替换源之后再执行
env
sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
fi
echo -e "${flag_feel}安装 pip 包\n"
init_pip
pip_array=(
pyscreeze==0.1.28
@ -85,10 +72,6 @@ if [ "${ENV_CUT_FLAG}" = "cut" ]; then
funnylog
)
fi
echo -e "${flag_feel}安装 pip 包\n"
sudo pip3 install -U pip > /tmp/env.log 2>&1
sudo pip3 config set global.timeout 10000 > /tmp/env.log 2>&1
sudo pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple > /tmp/env.log 2>&1
for p in ${pip_array[*]}
do
@ -96,9 +79,7 @@ do
check_status ${p}
pip3 list | grep -v grep | grep ${p}
done
# 前面安装可能比较耗时sudo免密可能出现过期再输一把密码
echo "${PASSWORD}" | sudo -S su > /dev/null 2>&1
# 应用库新增Python依赖环境
cd ${ROOT_DIR}/src/utils/
requirements=$(python3 sub_depends.py)
if [ "${requirements}" != "" ]; then
@ -110,8 +91,8 @@ if [ "${requirements}" != "" ]; then
done
fi
sudo pip3 install -U auto_uos --extra-index-url ${pypi_mirror} \
-i http://10.20.52.221:8081 --trusted-host=10.20.52.221 > /tmp/env.log 2>&1
sudo pip3 install -U auto_uos --extra-index-url ${pypi_mirror} -i http://10.20.52.221:8081 --trusted-host=10.20.52.221 \
> /tmp/env.log 2>&1
check_status auto_uos
pip_show=$(pip3 show auto_uos | grep Location)
public_location=$(echo "${pip_show}" | cut -d ":" -f2 | python3 -c "s=input();print(s.strip())")