fix(amber-pm-addons-maker): 优化包名和版本号的默认生成逻辑

重构包名和版本号的默认生成逻辑,当存在DEB文件时优先使用DEB包的名称和版本号作为默认值
将apt缓存清理操作移到条件判断外,确保无论是否有DEB文件都会执行清理
This commit is contained in:
2026-04-25 20:13:25 +08:00
parent 0a94f1a854
commit 682e987816

View File

@@ -264,13 +264,14 @@ if [ -n "$DEB_PATH" ]; then
exit 1
fi
log.info "DEB 包安装完成ssaudit"
fi
# 清理 apt 缓存
# 清理 apt 缓存和包列表(无论是否有 DEB 文件或是否 manual 模式)
log.info "清理 apt 缓存..."
sudo -E chrootEnvPath="$chrootEnvPath" /var/lib/apm/apm/files/ace-run-pkg aptss clean || true
sudo -E chrootEnvPath="$chrootEnvPath" /var/lib/apm/apm/files/ace-run-pkg rm -vfr /var/lib/apt/lists || true
sudo -E chrootEnvPath="$chrootEnvPath" /var/lib/apm/apm/files/ace-run-pkg rm -vfr /var/lib/aptss/lists || true
sudo -E chrootEnvPath="$chrootEnvPath" /var/lib/apm/apm/files/ace-run-pkg rm -vfr /var/cache/apt/archives/* || true
fi
# 5. 清理 .dpkg-new 文件
log.info "搜索并清理 .dpkg-new 文件..."
@@ -292,18 +293,43 @@ ORIG_ARCH="$(dpkg --print-architecture 2>/dev/null || echo "unknown")"
if [ -z "$PKGNAME" ]; then
if [ "$MANUAL_MODE" = true ]; then
read -r -p "请输入要创建的 addons 包名 (建议格式: ${BASE_NAME}-<描述>-addons): " PKGNAME
else
if [ -n "$DEB_PATH" ]; then
DEB_PKG_NAME=$(dpkg-deb -f "$DEB_PATH" Package 2>/dev/null || echo "")
if [ -n "$DEB_PKG_NAME" ]; then
log.info "未指定包名,使用 Deb 包名生成默认格式: ${BASE_NAME}-${DEB_PKG_NAME}-addons"
PKGNAME="${BASE_NAME}-${DEB_PKG_NAME}-addons"
else
log.warn "无法读取 Deb 包名,使用默认格式: ${BASE_NAME}-addons"
PKGNAME="${BASE_NAME}-addons"
fi
else
log.warn "未指定包名,使用默认格式: ${BASE_NAME}-addons"
PKGNAME="${BASE_NAME}-addons"
fi
fi
fi
# 确定版本
if [ -z "$VERSION" ]; then
if [ "$MANUAL_MODE" = true ]; then
read -r -p "请输入要创建的版本 (Version) [默认 1.0.0-apm]: " VERSION
fi
VERSION="${VERSION:-1.0.0-apm}"
else
if [ -n "$DEB_PATH" ]; then
DEB_PKG_VERSION=$(dpkg-deb -f "$DEB_PATH" Version 2>/dev/null || echo "")
if [ -n "$DEB_PKG_VERSION" ]; then
log.info "未指定版本,使用 Deb 版本号: ${DEB_PKG_VERSION}"
VERSION="$DEB_PKG_VERSION"
else
log.warn "无法读取 Deb 版本号,使用默认版本: 1.0.0-apm"
VERSION="1.0.0-apm"
fi
else
log.warn "未指定版本,使用默认版本: 1.0.0-apm"
VERSION="1.0.0-apm"
fi
fi
fi
NEW_PKGNAME="$PKGNAME"