348 lines
7.9 KiB
Markdown
348 lines
7.9 KiB
Markdown
|
|
# DEB 打包检查清单
|
|||
|
|
|
|||
|
|
## 📋 打包前检查
|
|||
|
|
|
|||
|
|
### 环境检查
|
|||
|
|
- [ ] linuxdeployqt 工具存在:`$HOME/dev/sunvpack-py/bin/linuxdeployqt`
|
|||
|
|
- [ ] Qt 5.15.2 已安装:`$HOME/sdk/qt-5.15.2`
|
|||
|
|
- [ ] dpkg-dev 已安装:`dpkg-deb --version`
|
|||
|
|
- [ ] 项目可以正常编译:`./build.sh`
|
|||
|
|
- [ ] 程序可以正常运行:`./run.sh`
|
|||
|
|
|
|||
|
|
### 文件检查
|
|||
|
|
- [ ] `screenlockdemo.desktop` 文件存在且配置正确
|
|||
|
|
- [ ] `debian/control` 包信息完整
|
|||
|
|
- [ ] `debian/copyright` 版权信息正确
|
|||
|
|
- [ ] `debian/changelog` 版本号正确
|
|||
|
|
- [ ] 图标文件准备好(可选):`icon.png`
|
|||
|
|
|
|||
|
|
### 版本检查
|
|||
|
|
- [ ] 版本号已更新(如果是新版本)
|
|||
|
|
- [ ] `make_deb.sh` 中的 VERSION
|
|||
|
|
- [ ] `build_deb.sh` 中的 VERSION
|
|||
|
|
- [ ] `debian/changelog` 中的版本号
|
|||
|
|
- [ ] `CMakeLists.txt` 中的 VERSION
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔨 打包过程检查
|
|||
|
|
|
|||
|
|
### 执行打包
|
|||
|
|
- [ ] 脚本有执行权限:`chmod +x make_deb.sh`
|
|||
|
|
- [ ] 运行打包脚本:`./make_deb.sh`
|
|||
|
|
- [ ] 打包过程无错误
|
|||
|
|
- [ ] DEB 文件生成成功:`deb_package/screenlockdemo_1.0.0_amd64.deb`
|
|||
|
|
|
|||
|
|
### 包内容检查
|
|||
|
|
```bash
|
|||
|
|
# 查看包信息
|
|||
|
|
dpkg -I deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
|
|||
|
|
# 查看文件列表
|
|||
|
|
dpkg -c deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 包信息正确(名称、版本、架构、依赖)
|
|||
|
|
- [ ] 包含主程序:`./opt/screenlockdemo/bin/ScreenLockDemo`
|
|||
|
|
- [ ] 包含 Qt 库:`./opt/screenlockdemo/lib/libQt5*.so*`
|
|||
|
|
- [ ] 包含 Qt 插件:`./opt/screenlockdemo/plugins/platforms/libqxcb.so`
|
|||
|
|
- [ ] 包含启动脚本:`./opt/screenlockdemo/screenlockdemo.sh`
|
|||
|
|
- [ ] 包含系统命令:`./usr/bin/screenlockdemo`
|
|||
|
|
- [ ] 包含 desktop 文件:`./usr/share/applications/screenlockdemo.desktop`
|
|||
|
|
- [ ] 包含图标:`./usr/share/icons/hicolor/256x256/apps/screenlockdemo.png`
|
|||
|
|
- [ ] 包含控制脚本:`./DEBIAN/control`, `./DEBIAN/postinst`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 安装测试
|
|||
|
|
|
|||
|
|
### 基本安装
|
|||
|
|
```bash
|
|||
|
|
sudo dpkg -i deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 安装成功,无错误
|
|||
|
|
- [ ] 如有依赖问题,运行:`sudo apt-get install -f`
|
|||
|
|
- [ ] 文件已安装到正确位置
|
|||
|
|
|
|||
|
|
### 文件验证
|
|||
|
|
```bash
|
|||
|
|
# 检查安装的文件
|
|||
|
|
ls -la /opt/screenlockdemo/
|
|||
|
|
ls -la /usr/bin/screenlockdemo
|
|||
|
|
ls -la /usr/share/applications/screenlockdemo.desktop
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] `/opt/screenlockdemo/` 目录存在
|
|||
|
|
- [ ] `/opt/screenlockdemo/bin/ScreenLockDemo` 可执行
|
|||
|
|
- [ ] `/opt/screenlockdemo/lib/` 包含所有 Qt 库
|
|||
|
|
- [ ] `/usr/bin/screenlockdemo` 命令存在
|
|||
|
|
- [ ] 桌面文件已安装
|
|||
|
|
|
|||
|
|
### 依赖验证
|
|||
|
|
```bash
|
|||
|
|
# 检查库依赖
|
|||
|
|
ldd /opt/screenlockdemo/bin/ScreenLockDemo
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 所有依赖都能找到(not found = 0)
|
|||
|
|
- [ ] Qt 库指向 `/opt/screenlockdemo/lib/`
|
|||
|
|
- [ ] 系统库正确链接
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 功能测试
|
|||
|
|
|
|||
|
|
### 启动测试
|
|||
|
|
- [ ] 命令行启动:`screenlockdemo` 成功
|
|||
|
|
- [ ] 直接运行:`/opt/screenlockdemo/screenlockdemo.sh` 成功
|
|||
|
|
- [ ] 无错误信息,无崩溃
|
|||
|
|
- [ ] 窗口正常显示
|
|||
|
|
|
|||
|
|
### 界面测试
|
|||
|
|
- [ ] 主窗口正常显示
|
|||
|
|
- [ ] 动画正常播放(旋转圆圈、波浪效果)
|
|||
|
|
- [ ] 状态信息显示正确
|
|||
|
|
- [ ] 按钮响应正常
|
|||
|
|
|
|||
|
|
### 功能测试
|
|||
|
|
- [ ] **锁屏检测**:锁定屏幕(Ctrl+Alt+L)
|
|||
|
|
- [ ] 检测器状态显示正常
|
|||
|
|
- [ ] 屏幕锁定状态显示为 "🔒 LOCKED"
|
|||
|
|
- [ ] 动画自动停止(Paint 事件禁用)
|
|||
|
|
|
|||
|
|
- [ ] **解锁检测**:解锁屏幕
|
|||
|
|
- [ ] 屏幕锁定状态显示为 "🔓 UNLOCKED"
|
|||
|
|
- [ ] 动画自动恢复(Paint 事件启用)
|
|||
|
|
|
|||
|
|
- [ ] **手动控制**
|
|||
|
|
- [ ] "Disable Painting" 按钮可以停止动画
|
|||
|
|
- [ ] "Enable Painting" 按钮可以恢复动画
|
|||
|
|
- [ ] "Reset Frame Count" 按钮可以重置计数器
|
|||
|
|
|
|||
|
|
- [ ] **帧数统计**:计数器正常工作
|
|||
|
|
|
|||
|
|
### DBus 连接测试
|
|||
|
|
```bash
|
|||
|
|
# 查看程序输出
|
|||
|
|
screenlockdemo 2>&1 | grep -i "dbus\|screensaver\|connected"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 至少一个 DBus 接口连接成功
|
|||
|
|
- [ ] GNOME ScreenSaver 或 systemd-logind 连接正常
|
|||
|
|
- [ ] 无致命错误
|
|||
|
|
|
|||
|
|
### 应用菜单测试
|
|||
|
|
- [ ] 在应用程序菜单中可以找到 "Screen Lock Demo"
|
|||
|
|
- [ ] 图标显示正常(或默认图标)
|
|||
|
|
- [ ] 从菜单启动成功
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🖼️ 界面测试
|
|||
|
|
|
|||
|
|
### 桌面集成
|
|||
|
|
- [ ] 桌面快捷方式可用
|
|||
|
|
- [ ] 应用图标显示(更新图标缓存:`sudo gtk-update-icon-cache -f /usr/share/icons/hicolor`)
|
|||
|
|
- [ ] 窗口标题正确
|
|||
|
|
- [ ] 任务栏图标正确
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔄 卸载测试
|
|||
|
|
|
|||
|
|
### 卸载
|
|||
|
|
```bash
|
|||
|
|
sudo dpkg -r screenlockdemo
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 卸载成功,无错误
|
|||
|
|
- [ ] `/opt/screenlockdemo/` 已删除
|
|||
|
|
- [ ] `/usr/bin/screenlockdemo` 已删除
|
|||
|
|
- [ ] 桌面文件已删除
|
|||
|
|
- [ ] 图标已删除
|
|||
|
|
|
|||
|
|
### 清理验证
|
|||
|
|
```bash
|
|||
|
|
# 检查残留文件
|
|||
|
|
ls -la /opt/screenlockdemo/
|
|||
|
|
ls -la /usr/bin/screenlockdemo
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 无残留文件
|
|||
|
|
- [ ] 应用菜单中已移除
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🌍 兼容性测试
|
|||
|
|
|
|||
|
|
### 不同 Ubuntu 版本
|
|||
|
|
- [ ] Ubuntu 18.04 LTS
|
|||
|
|
- [ ] Ubuntu 20.04 LTS
|
|||
|
|
- [ ] Ubuntu 22.04 LTS
|
|||
|
|
- [ ] Ubuntu 23.10 / 24.04
|
|||
|
|
|
|||
|
|
### 不同桌面环境
|
|||
|
|
- [ ] GNOME
|
|||
|
|
- [ ] KDE Plasma
|
|||
|
|
- [ ] XFCE
|
|||
|
|
- [ ] Unity(如适用)
|
|||
|
|
|
|||
|
|
### 架构
|
|||
|
|
- [ ] x86_64 (amd64)
|
|||
|
|
- [ ] 其他架构(如需要)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 性能测试
|
|||
|
|
|
|||
|
|
### 资源占用
|
|||
|
|
```bash
|
|||
|
|
# 监控资源使用
|
|||
|
|
top -p $(pgrep ScreenLockDemo)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] CPU 使用率合理(空闲时 < 5%,动画时 < 20%)
|
|||
|
|
- [ ] 内存使用合理(< 100MB)
|
|||
|
|
- [ ] 无内存泄漏(长时间运行)
|
|||
|
|
|
|||
|
|
### 稳定性
|
|||
|
|
- [ ] 运行 1 小时无崩溃
|
|||
|
|
- [ ] 多次锁屏/解锁循环测试(> 10 次)
|
|||
|
|
- [ ] 快速锁定/解锁测试
|
|||
|
|
- [ ] 无僵死进程
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 包质量检查
|
|||
|
|
|
|||
|
|
### 包大小
|
|||
|
|
```bash
|
|||
|
|
du -h deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 包大小合理(通常 50-80MB)
|
|||
|
|
- [ ] 如需优化,考虑 strip 符号
|
|||
|
|
|
|||
|
|
### 包结构
|
|||
|
|
```bash
|
|||
|
|
# 检查 Lintian(Debian 包检查工具)
|
|||
|
|
lintian deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- [ ] 无严重错误(E:)
|
|||
|
|
- [ ] 警告(W:)可接受
|
|||
|
|
- [ ] 信息(I:)已知晓
|
|||
|
|
|
|||
|
|
### 元数据
|
|||
|
|
- [ ] 包名称正确:`screenlockdemo`
|
|||
|
|
- [ ] 版本号正确:`1.0.0`
|
|||
|
|
- [ ] 架构正确:`amd64`
|
|||
|
|
- [ ] 维护者信息完整
|
|||
|
|
- [ ] 描述清晰准确
|
|||
|
|
- [ ] 依赖列表正确
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 文档检查
|
|||
|
|
|
|||
|
|
### 用户文档
|
|||
|
|
- [ ] README.md 完整且最新
|
|||
|
|
- [ ] DEB_PACKAGE.md 说明清晰
|
|||
|
|
- [ ] PACKAGING_README.md 快速入门完整
|
|||
|
|
|
|||
|
|
### 技术文档
|
|||
|
|
- [ ] 打包脚本有注释
|
|||
|
|
- [ ] desktop 文件配置正确
|
|||
|
|
- [ ] control 文件信息准确
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚢 发布准备
|
|||
|
|
|
|||
|
|
### 最终检查
|
|||
|
|
- [ ] 所有功能正常
|
|||
|
|
- [ ] 无已知 bug
|
|||
|
|
- [ ] 文档完整
|
|||
|
|
- [ ] 版本号正确
|
|||
|
|
- [ ] changelog 已更新
|
|||
|
|
|
|||
|
|
### 发布材料
|
|||
|
|
- [ ] DEB 包文件
|
|||
|
|
- [ ] 校验和(MD5/SHA256)
|
|||
|
|
```bash
|
|||
|
|
md5sum deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
sha256sum deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
- [ ] 安装说明
|
|||
|
|
- [ ] 发布说明
|
|||
|
|
- [ ] 已知问题列表(如有)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 最终确认
|
|||
|
|
|
|||
|
|
在发布前,确认以下声明:
|
|||
|
|
|
|||
|
|
- [ ] ✓ 我已在测试环境中完整安装并测试了 DEB 包
|
|||
|
|
- [ ] ✓ 所有核心功能都经过验证并正常工作
|
|||
|
|
- [ ] ✓ 包可以正常安装和卸载,无残留
|
|||
|
|
- [ ] ✓ 至少在一个目标 Ubuntu 版本上测试通过
|
|||
|
|
- [ ] ✓ 文档准确反映了当前版本的功能
|
|||
|
|
- [ ] ✓ 版本号和 changelog 已更新
|
|||
|
|
- [ ] ✓ 无已知的严重 bug
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 问题跟踪
|
|||
|
|
|
|||
|
|
如果发现问题,记录以下信息:
|
|||
|
|
|
|||
|
|
- 问题描述:
|
|||
|
|
- 重现步骤:
|
|||
|
|
- 系统环境:
|
|||
|
|
- 错误信息:
|
|||
|
|
- 解决方案:
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 快速命令参考
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 打包
|
|||
|
|
./make_deb.sh
|
|||
|
|
|
|||
|
|
# 查看包信息
|
|||
|
|
dpkg -I deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
dpkg -c deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
|
|||
|
|
# 安装
|
|||
|
|
sudo dpkg -i deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
sudo apt-get install -f # 如有依赖问题
|
|||
|
|
|
|||
|
|
# 测试
|
|||
|
|
screenlockdemo
|
|||
|
|
ldd /opt/screenlockdemo/bin/ScreenLockDemo
|
|||
|
|
|
|||
|
|
# 卸载
|
|||
|
|
sudo dpkg -r screenlockdemo
|
|||
|
|
|
|||
|
|
# 校验和
|
|||
|
|
md5sum deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
sha256sum deb_package/screenlockdemo_1.0.0_amd64.deb
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**检查完成日期**: ___________
|
|||
|
|
|
|||
|
|
**测试人员**: ___________
|
|||
|
|
|
|||
|
|
**版本号**: ___________
|
|||
|
|
|
|||
|
|
**测试环境**: ___________
|
|||
|
|
|
|||
|
|
**结果**: □ 通过 □ 失败 □ 有条件通过
|
|||
|
|
|
|||
|
|
**备注**:
|