更新 build.sh
This commit is contained in:
parent
8dcd19c97d
commit
d880ae5cd4
114
build.sh
114
build.sh
@ -1,10 +1,9 @@
|
||||
|
||||
# config editor 一键构建脚本 - 修复虚拟环境安装问题
|
||||
set -e
|
||||
|
||||
# 配置变量
|
||||
PACKAGE_NAME="config-editor"
|
||||
VERSION="1.1"
|
||||
VERSION="1.2"
|
||||
ARCHITECTURE="amd64"
|
||||
MAINTAINER="hjy <hjy@pw.com>"
|
||||
|
||||
@ -66,6 +65,72 @@ StartupNotify=true
|
||||
StartupWMClass=ConfigEditor
|
||||
EOF
|
||||
|
||||
# 创建快捷方式创建脚本
|
||||
echo "创建快捷方式创建脚本..."
|
||||
cat > "$BUILD_DIR/usr/share/config-editor/create_desktop_shortcut.sh" << 'EOF'
|
||||
#!/bin/bash
|
||||
# 桌面快捷方式创建脚本
|
||||
|
||||
# 检查是否有图形环境
|
||||
if [ -z "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
echo "未检测到图形环境,跳过创建桌面快捷方式"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "正在创建桌面快捷方式..."
|
||||
|
||||
# 获取当前用户(如果是sudo运行,使用SUDO_USER)
|
||||
CURRENT_USER="${SUDO_USER:-$USER}"
|
||||
USER_HOME=$(getent passwd "$CURRENT_USER" | cut -d: -f6)
|
||||
|
||||
if [ -z "$USER_HOME" ] || [ ! -d "$USER_HOME" ]; then
|
||||
echo "无法确定用户主目录,跳过创建桌面快捷方式"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 检测桌面目录(支持不同语言的桌面目录名)
|
||||
DESKTOP_DIR=""
|
||||
for possible_dir in "Desktop" "桌面" "Escritorio" "Bureau" "Schreibtisch"; do
|
||||
if [ -d "$USER_HOME/$possible_dir" ]; then
|
||||
DESKTOP_DIR="$USER_HOME/$possible_dir"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# 如果没有找到标准桌面目录,尝试创建Desktop目录
|
||||
if [ -z "$DESKTOP_DIR" ]; then
|
||||
DESKTOP_DIR="$USER_HOME/Desktop"
|
||||
mkdir -p "$DESKTOP_DIR"
|
||||
chown "$CURRENT_USER:$CURRENT_USER" "$DESKTOP_DIR"
|
||||
echo "创建桌面目录: $DESKTOP_DIR"
|
||||
fi
|
||||
|
||||
# 创建桌面快捷方式
|
||||
DESKTOP_FILE="$DESKTOP_DIR/config-editor.desktop"
|
||||
cat > "$DESKTOP_FILE" << 'DESKTOP_EOF'
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Config Editor
|
||||
Comment=Configuration Management Tool
|
||||
Exec=/usr/bin/config-editor
|
||||
Icon=config-editor
|
||||
Categories=Development;Utility;Settings;
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
StartupWMClass=ConfigEditor
|
||||
DESKTOP_EOF
|
||||
|
||||
# 设置权限
|
||||
chown "$CURRENT_USER:$CURRENT_USER" "$DESKTOP_FILE"
|
||||
chmod 755 "$DESKTOP_FILE"
|
||||
|
||||
echo "桌面快捷方式已创建: $DESKTOP_FILE"
|
||||
echo "如果快捷方式没有立即显示,请刷新桌面或重新登录"
|
||||
EOF
|
||||
|
||||
chmod +x "$BUILD_DIR/usr/share/config-editor/create_desktop_shortcut.sh"
|
||||
|
||||
# 创建虚拟环境安装脚本 - 修复版本
|
||||
echo "创建虚拟环境安装脚本..."
|
||||
cat > "$BUILD_DIR/usr/share/config-editor/setup_venv.sh" << 'EOF'
|
||||
@ -225,12 +290,54 @@ update-desktop-database /usr/share/applications 2>/dev/null || true
|
||||
# 设置权限
|
||||
chmod 755 /usr/bin/config-editor
|
||||
chmod 755 /usr/share/config-editor/setup_venv.sh
|
||||
chmod 755 /usr/share/config-editor/create_desktop_shortcut.sh
|
||||
|
||||
# 尝试创建桌面快捷方式(如果图形环境可用)
|
||||
echo "正在尝试创建桌面快捷方式..."
|
||||
/usr/share/config-editor/create_desktop_shortcut.sh 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "安装完成!您可以通过以下方式启动:"
|
||||
echo "1. 桌面快捷方式 (如果已创建)"
|
||||
echo "2. 应用程序菜单中的 'Config Editor'"
|
||||
echo "3. 命令行: config-editor"
|
||||
echo ""
|
||||
echo "如需手动创建桌面快捷方式,请运行:"
|
||||
echo " /usr/share/config-editor/create_desktop_shortcut.sh"
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
|
||||
chmod +x "$BUILD_DIR/DEBIAN/postinst"
|
||||
|
||||
# 创建卸载前脚本
|
||||
echo "创建卸载前脚本..."
|
||||
cat > "$BUILD_DIR/DEBIAN/prerm" << 'EOF'
|
||||
#!/bin/bash
|
||||
# 卸载前脚本
|
||||
|
||||
echo "清理桌面快捷方式..."
|
||||
|
||||
# 获取当前用户
|
||||
CURRENT_USER="${SUDO_USER:-$USER}"
|
||||
USER_HOME=$(getent passwd "$CURRENT_USER" | cut -d: -f6 2>/dev/null || echo "")
|
||||
|
||||
if [ -n "$USER_HOME" ] && [ -d "$USER_HOME" ]; then
|
||||
# 删除可能的桌面快捷方式
|
||||
for possible_dir in "Desktop" "桌面" "Escritorio" "Bureau" "Schreibtisch"; do
|
||||
DESKTOP_FILE="$USER_HOME/$possible_dir/config-editor.desktop"
|
||||
if [ -f "$DESKTOP_FILE" ]; then
|
||||
rm -f "$DESKTOP_FILE"
|
||||
echo "移除桌面快捷方式: $DESKTOP_FILE"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
|
||||
chmod +x "$BUILD_DIR/DEBIAN/prerm"
|
||||
|
||||
# 构建deb包
|
||||
echo "构建deb包..."
|
||||
dpkg-deb --build "$BUILD_DIR" "${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
|
||||
@ -256,5 +363,6 @@ echo "1. 卸载旧版本: sudo dpkg -r config-editor"
|
||||
echo "2. 安装新版本: sudo dpkg -i ${PACKAGE_NAME}_${VERSION}_${ARCHITECTURE}.deb"
|
||||
echo "3. 修复虚拟环境: sudo /usr/share/config-editor/setup_venv.sh"
|
||||
echo ""
|
||||
echo "新功能: 自动创建桌面快捷方式"
|
||||
echo "重要: 新版本修复了虚拟环境安装问题"
|
||||
echo "=========================================="
|
||||
echo "=========================================="
|
||||
Loading…
x
Reference in New Issue
Block a user