==========================================
OBS 编译问题修复总结
==========================================

修复日期: 2025年10月19日
版本: v1.6.6
状态: ✅ 已修复，准备上传

==========================================
发现的问题
==========================================

1. spec 文件 %files 路径错误
   - 图标路径末尾有多余的 /
   - 使用了不存在的 pixmaps 路径

2. spec 文件 changelog 版本过旧
   - 最新条目是 1.6.5
   - 需要添加 1.6.6 条目

3. CMakeLists.txt 缺少安装规则
   - 只安装了可执行文件
   - 没有安装 desktop 文件
   - 没有安装图标
   - 没有安装 man 手册

4. desktop 文件位置错误
   - 文件在 resources/ 目录
   - spec 期望在 debian/ 目录

==========================================
修复内容
==========================================

1. 修复 spec 文件 %files 部分
   修改前:
   %{_datadir}/icons/hicolor/*/apps/%{name}.png/
   %{_datadir}/pixmaps/%{name}.png/
   
   修改后:
   %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg

2. 更新 spec 文件 changelog
   添加:
   * Sat Oct 19 2025 克亮 - 1.6.6-1
   - 修复部分扫描仪扫描图像为全黑的问题
   - 优化扫描数据读取逻辑
   - 修复 ADF 多页扫描黑屏问题
   - 性能提升 8.8 倍

3. 完善 CMakeLists.txt 安装规则
   添加:
   # 安装桌面文件
   install(FILES debian/lz-scan.desktop 
           DESTINATION share/applications)
   
   # 安装图标
   install(FILES lz-scan.svg 
           DESTINATION share/icons/hicolor/scalable/apps)
   
   # 安装 man 手册
   install(FILES debian/lz-scan.1 
           DESTINATION share/man/man1)

4. 复制 desktop 文件
   cp resources/lz-scan.desktop debian/

==========================================
修复后的文件
==========================================

已修改:
- lz-scan.spec
- CMakeLists.txt

已添加:
- debian/lz-scan.desktop (从 resources/ 复制)

已创建:
- OBS编译问题分析.md
- check_obs_package.sh
- OBS上传指南.md

==========================================
验证结果
==========================================

运行 ./check_obs_package.sh:

✅ 版本号一致性检查: 通过
✅ 必要文件检查: 通过
✅ CMakeLists.txt 安装规则: 通过
✅ spec 文件 %files 部分: 通过
✅ BuildRequires 检查: 通过
✅ OBS 打包文件: 已生成

错误数: 0
警告数: 2 (可忽略)

==========================================
OBS 打包文件
==========================================

obs_package/ 目录包含:
- lz-scan-1.6.6.tar.gz (6.8M) - 源码包
- debian.tar.gz (2.4M) - Debian 打包文件
- lz-scan.dsc (599 字节) - Debian 源码控制
- lz-scan.spec (3.7K) - RPM spec 文件

==========================================
上传步骤
==========================================

方法 1: Web 界面 (推荐)
1. 访问 https://build.opensuse.org/
2. 登录账号
3. 创建或进入项目
4. 创建包 "lz-scan"
5. 上传文件:
   - lz-scan-1.6.6.tar.gz
   - lz-scan.spec
6. 等待构建完成

方法 2: osc 命令行
1. osc co home:你的用户名
2. osc mkpac lz-scan
3. cp obs_package/* home:你的用户名/lz-scan/
4. cd home:你的用户名/lz-scan
5. osc add *
6. osc commit -m "Update to 1.6.6"

==========================================
预期结果
==========================================

✅ 构建应该成功
✅ 生成 RPM 包
✅ 生成 DEB 包 (如果配置了)
✅ 可以安装和运行

==========================================
如果构建失败
==========================================

1. 查看构建日志
   - 在 OBS 网页界面查看
   - 或使用: osc buildlog

2. 常见错误
   - File not found: 检查 CMakeLists.txt
   - Unpackaged files: 检查 spec %files
   - BuildRequires: 检查依赖包名

3. 参考文档
   - OBS编译问题分析.md
   - OBS上传指南.md

==========================================
相关文档
==========================================

- OBS编译问题分析.md - 详细问题分析
- OBS上传指南.md - 上传步骤指南
- check_obs_package.sh - 打包检查脚本
- package_for_obs.sh - OBS 打包脚本

==========================================
总结
==========================================

✅ 所有 OBS 编译问题已修复
✅ 打包文件已生成
✅ 验证检查通过
✅ 准备上传到 OBS

建议: 立即上传到 OBS 进行构建测试

==========================================
