fix23
This commit is contained in:
13
PKGBUILD
13
PKGBUILD
@@ -4,7 +4,7 @@
|
||||
_pkgname="calamares"
|
||||
pkgname="$_pkgname"
|
||||
pkgver=3.4.2
|
||||
pkgrel=2
|
||||
pkgrel=5
|
||||
pkgdesc="Distribution-independent installer framework"
|
||||
url="https://codeberg.org/Calamares/calamares"
|
||||
license=("GPL-3.0-or-later")
|
||||
@@ -27,8 +27,15 @@ makedepends=(
|
||||
|
||||
_pkgsrc="$_pkgname"
|
||||
_pkgext="tar.gz"
|
||||
source=("calamares.zip")
|
||||
sha256sums=('57b3b36d8cf67393ee8e81871106b2f4a5925c120173f92c6d77c8f6003f79d5')
|
||||
source=("calamares.zip"
|
||||
"calamares_polkit"
|
||||
"49-nopasswd-calamares.rules"
|
||||
"calamares.desktop")
|
||||
|
||||
sha256sums=('d3c0e93e4103f602598eba446a1712f373c4feb83950aee4a283e7395232dc21'
|
||||
'b7f932912d33cfa188c0d06a25fb144ae6e0c69636ce90ed0a04ed2df0ae6ef3'
|
||||
'56d85ff6bf860b9559b8c9f997ad9b1002f3fccc782073760eca505e3bddd176'
|
||||
'c9f38c31882f506306a771028ee70b5cc5b8c81eca3e252502151055a43a5e6c')
|
||||
|
||||
build() {
|
||||
local _skip_modules=(
|
||||
|
||||
@@ -10,7 +10,7 @@ Comment[da]=Installer styresystemet på disk
|
||||
Comment[de]=Manjaro Linux installieren
|
||||
Exec=/usr/bin/calamares_polkit %f
|
||||
Icon=calamares
|
||||
Terminal=false
|
||||
Terminal=true
|
||||
StartupNotify=true
|
||||
Type=Application
|
||||
Categories=Qt;System;
|
||||
|
||||
@@ -1,6 +1,65 @@
|
||||
#!/bin/bash
|
||||
if [ $(which pkexec) ]; then
|
||||
sudo "/usr/bin/calamares" "$@" "-d"
|
||||
|
||||
# 函数:检查网络连接
|
||||
# 尝试ping Google DNS,-c 1 只发送一个包,-W 2 超时2秒
|
||||
has_internet() {
|
||||
ping -c 1 -W 2 8.8.8.8 > /dev/null 2>&1
|
||||
return $? # 返回ping的退出状态码 (0表示成功)
|
||||
}
|
||||
|
||||
echo "正在检查网络连接..."
|
||||
|
||||
NETWORK_STATUS="offline" # 初始状态为离线
|
||||
|
||||
if has_internet; then
|
||||
NETWORK_STATUS="online"
|
||||
echo "网络已连接。"
|
||||
else
|
||||
/usr/bin/calamares "$@" "-d"
|
||||
echo "未检测到网络连接,将尝试等待最多30秒..."
|
||||
for i in $(seq 1 30); do
|
||||
echo "等待网络... ($i/30秒)"
|
||||
if has_internet; then
|
||||
NETWORK_STATUS="online"
|
||||
echo "网络已连接。"
|
||||
break # 成功连接,跳出循环
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [ "$NETWORK_STATUS" == "offline" ]; then
|
||||
echo "在30秒内未能检测到网络连接。"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 如果网络在线,尝试更新 Calamares
|
||||
if [ "$NETWORK_STATUS" == "online" ]; then
|
||||
echo "网络在线,尝试更新 Calamares..."
|
||||
# 检查 pacman 是否存在,虽然在 Arch 系系统中通常都有
|
||||
if command -v pacman &> /dev/null; then
|
||||
if sudo pacman -Sy --noconfirm tms-calamares-config; then
|
||||
echo "Calamares 更新成功或已是最新版本。"
|
||||
else
|
||||
echo "Calamares 更新失败。可能会使用旧版本启动。"
|
||||
fi
|
||||
else
|
||||
echo "未找到 pacman 包管理器,无法更新 Calamares。"
|
||||
fi
|
||||
else
|
||||
echo "网络离线,跳过 Calamares 更新。"
|
||||
fi
|
||||
|
||||
# 启动 Calamares
|
||||
echo "启动 Calamares 安装程序..."
|
||||
|
||||
# 原始的 Calamares 启动逻辑
|
||||
if [ $(which pkexec) ]; then
|
||||
# 如果 pkexec 存在,通过 sudo 运行 calamares
|
||||
# 注意:这里沿用您原脚本的写法,即检查 pkexec 但仍使用 sudo。
|
||||
# 如果您希望通过 pkexec 提升权限,应改为 pkexec "/usr/bin/calamares" "$@" "-d"
|
||||
sudo "/usr/bin/calamares" "$@" "-d"
|
||||
else
|
||||
# 否则,直接运行 calamares
|
||||
/usr/bin/calamares "$@" "-d"
|
||||
fi
|
||||
|
||||
echo "Calamares 启动命令已执行。"
|
||||
|
||||
Reference in New Issue
Block a user