mirror of
https://gitee.com/amber-ce/amber-pm
synced 2025-12-18 19:31:37 +08:00
update src/usr/bin/amber-pm-convert.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
This commit is contained in:
@@ -457,12 +457,26 @@ interactive_copy_entries() {
|
|||||||
|
|
||||||
|
|
||||||
# 函数:处理桌面文件内容
|
# 函数:处理桌面文件内容
|
||||||
|
# 函数:处理桌面文件内容(安全版本,避免重复处理)
|
||||||
process_desktop_file() {
|
process_desktop_file() {
|
||||||
local desktop_file="$1"
|
local desktop_file="$1"
|
||||||
local pkgname="$2"
|
local pkgname="$2"
|
||||||
|
|
||||||
log.info "处理桌面文件: $desktop_file"
|
log.info "处理桌面文件: $desktop_file"
|
||||||
|
|
||||||
|
# 检查文件是否已经处理过(避免重复添加 apm run)
|
||||||
|
if grep -q "^Exec=apm run $pkgname " "$desktop_file"; then
|
||||||
|
log.info "桌面文件已经处理过,跳过: $desktop_file"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 检查是否有其他包的 apm run 前缀(清理旧的)
|
||||||
|
if grep -q "^Exec=apm run [^ ]* " "$desktop_file"; then
|
||||||
|
log.info "发现旧的 apm run 前缀,清理后重新添加"
|
||||||
|
# 移除所有 apm run 前缀
|
||||||
|
sed -i "s|^Exec=apm run [^ ]* ||" "$desktop_file"
|
||||||
|
fi
|
||||||
|
|
||||||
# 尝试用 busybox dos2unix(若不存在则跳过转换)
|
# 尝试用 busybox dos2unix(若不存在则跳过转换)
|
||||||
if command -v busybox >/dev/null 2>&1; then
|
if command -v busybox >/dev/null 2>&1; then
|
||||||
busybox dos2unix "$desktop_file" 2>/dev/null || true
|
busybox dos2unix "$desktop_file" 2>/dev/null || true
|
||||||
@@ -486,8 +500,9 @@ process_desktop_file() {
|
|||||||
sed -i "s|^Icon=/|Icon=/var/lib/apm/apm/files/ace-env/var/lib/apm/$pkgname/files/core/|" "$desktop_file"
|
sed -i "s|^Icon=/|Icon=/var/lib/apm/apm/files/ace-env/var/lib/apm/$pkgname/files/core/|" "$desktop_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 添加 X-APM-APPID
|
# 添加 X-APM-APPID(如果不存在)
|
||||||
if ! grep -q "X-APM-APPID" "$desktop_file"; then
|
if ! grep -q "X-APM-APPID" "$desktop_file"; then
|
||||||
|
echo "" >> "$desktop_file"
|
||||||
echo "X-APM-APPID=$pkgname" >> "$desktop_file"
|
echo "X-APM-APPID=$pkgname" >> "$desktop_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -498,6 +513,7 @@ process_desktop_file() {
|
|||||||
log.warn "桌面文件可能未正确修改: $desktop_file"
|
log.warn "桌面文件可能未正确修改: $desktop_file"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# 4. 如果有 DEB 文件,进行自动化的检查、解包与修改
|
# 4. 如果有 DEB 文件,进行自动化的检查、解包与修改
|
||||||
if [ -n "$DEB_PATH" ]; then
|
if [ -n "$DEB_PATH" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user