From be214172873f625e6d9235dc9c27862b9c9fc6ff Mon Sep 17 00:00:00 2001 From: shenmo Date: Fri, 24 Apr 2026 21:34:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=89=93=E5=8C=85=E5=B7=A5=E5=85=B7):=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=B4=E6=8A=A4=E8=80=85=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96addons=E5=8C=85=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新amber-pm-convert和amber-pm-addons-maker中的维护者邮箱 将addons标记文件直接打包而非通过postinst脚本创建,由dpkg统一管理 简化postrm脚本,移除手动删除标记文件的逻辑 --- src/usr/bin/amber-pm-addons-maker | 18 +++++++----------- src/usr/bin/amber-pm-convert | 2 +- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/usr/bin/amber-pm-addons-maker b/src/usr/bin/amber-pm-addons-maker index 7a78d37..c78c254 100755 --- a/src/usr/bin/amber-pm-addons-maker +++ b/src/usr/bin/amber-pm-addons-maker @@ -325,23 +325,19 @@ sudo cp -r "$CRAFT_DIR"/core "$PKG_BUILD_DIR/var/lib/apm/${NEW_PKGNAME}/files/" sudo cp -r "$CRAFT_DIR"/work "$PKG_BUILD_DIR/var/lib/apm/${NEW_PKGNAME}/files/" 2>/dev/null || true sudo chmod -R 755 "$PKG_BUILD_DIR/var/lib/apm/${NEW_PKGNAME}/files/" 2>/dev/null || true -# 创建 postinst 脚本:安装时创建 info_layer_addons.d 标记 -cat > "$PKG_BUILD_DIR/DEBIAN/postinst" << EOF -#!/bin/bash -# 创建 addons 标记 -mkdir -p /var/lib/apm/${BASE_NAME}/info_layer_addons.d -echo "${NEW_PKGNAME}" > /var/lib/apm/${BASE_NAME}/info_layer_addons.d/50-${NEW_PKGNAME} -EOF -chmod +x "$PKG_BUILD_DIR/DEBIAN/postinst" +# 将 addons 标记文件直接放入包内,由 dpkg 统一管理 +# 安装时自动释放到 base 的 info_layer_addons.d/,卸载时自动清理 +mkdir -p "$PKG_BUILD_DIR/var/lib/apm/${BASE_NAME}/info_layer_addons.d" +echo "${NEW_PKGNAME}" > "$PKG_BUILD_DIR/var/lib/apm/${BASE_NAME}/info_layer_addons.d/50-${NEW_PKGNAME}" -# 创建 postrm 脚本:卸载时删除标记和包目录 +# 创建 postrm 脚本:卸载时清理包目录和用户目录残留 +# 注意:info_layer_addons.d 中的标记文件由 dpkg 自动删除,无需手动处理 cat > "$PKG_BUILD_DIR/DEBIAN/postrm" << EOF #!/bin/bash PACKAGE_NAME="\$DPKG_MAINTSCRIPT_PACKAGE" if [ "\$1" = "remove" ] || [ "\$1" = "purge" ]; then echo "清理卸载残留" - rm -f "/var/lib/apm/${BASE_NAME}/info_layer_addons.d/50-\${PACKAGE_NAME}" rm -rf "/var/lib/apm/\${PACKAGE_NAME}" for username in \$(ls /home); do if [ -d "/home/\${username}/.apm/\${PACKAGE_NAME}" ]; then @@ -373,7 +369,7 @@ cat > "${PKG_BUILD_DIR}/DEBIAN/control" << EOF Package: $NEW_PKGNAME Version: $NEW_VERSION Architecture: $ORIG_ARCH -Maintainer: APM Addons Maker +Maintainer: APM Addons Maker Depends: $BASE_NAME Installed-Size: $(calculate_directory_size "$PKG_BUILD_DIR") Description: APM addons package for ${BASE_NAME} diff --git a/src/usr/bin/amber-pm-convert b/src/usr/bin/amber-pm-convert index f67c06b..d2b1e99 100755 --- a/src/usr/bin/amber-pm-convert +++ b/src/usr/bin/amber-pm-convert @@ -872,7 +872,7 @@ cat > "${PKG_BUILD_DIR}/DEBIAN/control" << EOF Package: $NEW_PKGNAME Version: $NEW_VERSION Architecture: $ORIG_ARCH -Maintainer: APM Converter +Maintainer: APM Converter Depends: $DEPENDS_STR Installed-Size: $(calculate_directory_size "$PKG_BUILD_DIR") Description: APM converted package from ${ORIG_PKGNAME:-original}