@@ -85,35 +85,33 @@ jobs:
8585 set -e
8686 PKG="build/deb/${APP_NAME}"
8787
88- # 目录结构
88+ # 1. 先在工作目录创建 .venv 并安装依赖
89+ uv sync
90+
91+ # 2. 创建 deb 包目录结构
8992 mkdir -p "${PKG}/opt/${APP_NAME}"
9093 mkdir -p "${PKG}/usr/bin"
9194 mkdir -p "${PKG}/usr/share/applications"
9295 mkdir -p "${PKG}/DEBIAN"
9396
94- # 复制项目文件
97+ # 3. 复制项目文件(包括 .venv)
9598 cp *.py "${PKG}/opt/${APP_NAME}/"
96- for item in icons htmls saying desktop_widgets font.ttf icon.ico introduce banner.png LICENSE README.md pyproject.toml; do
99+ for item in icons htmls saying desktop_widgets font.ttf icon.ico introduce banner.png LICENSE README.md pyproject.toml uv.lock ; do
97100 [ -e "$item" ] && cp -r "$item" "${PKG}/opt/${APP_NAME}/"
98101 done
102+ # 复制 .venv
103+ cp -r .venv "${PKG}/opt/${APP_NAME}/"
99104
100- # 用 uv 创建 venv 并安装依赖
101- cd "${PKG}/opt/${APP_NAME}"
102- uv venv venv
103- uv sync
104- cd -
105-
106- # 启动脚本 (注意这里用 'EOF' 防止 $@ 被过早解析)
105+ # 4. 创建启动脚本(使用 .venv)
107106 cat > "${PKG}/usr/bin/${APP_NAME}" <<'EOF'
108107 #!/bin/bash
109108 export GI_TYPELIB_PATH=/usr/lib/x86_64-linux-gnu/girepository-1.0
110109 cd /opt/assignsticker
111- exec /opt/assignsticker/venv/bin/python main.py "$@"
110+ exec /opt/assignsticker/. venv/bin/python main.py "$@"
112111 EOF
113-
114112 chmod +x "${PKG}/usr/bin/${APP_NAME}"
115113
116- # Desktop Entry (使用 EOF 允许环境变量解析)
114+ # 5. 创建 Desktop Entry
117115 cat > "${PKG}/usr/share/applications/${APP_NAME}.desktop" <<EOF
118116 [Desktop Entry]
119117 Name=AssignSticker
@@ -126,10 +124,8 @@ jobs:
126124 StartupWMClass=assignsticker
127125 EOF
128126
129- # 计算大小
127+ # 6. 计算大小并创建 control 文件
130128 SIZE=$(du -sk "${PKG}" | cut -f1)
131-
132- # Control (修复了 Description 下方长描述的空格缩进问题)
133129 cat > "${PKG}/DEBIAN/control" <<EOF
134130 Package: ${APP_NAME}
135131 Version: ${APP_VERSION}
@@ -152,7 +148,7 @@ jobs:
152148 application for classroom use.
153149 EOF
154150
155- # 打包
151+ # 7. 打包
156152 dpkg-deb --root-owner-group --build "${PKG}"
157153 mv "build/deb/${APP_NAME}.deb" "AssignSticker-${APP_VERSION}-amd64.deb"
158154
0 commit comments