首页
/ 4个步骤搞定Linux版wiliwili打包发布

4个步骤搞定Linux版wiliwili打包发布

2026-04-22 10:05:33作者:侯霆垣

从环境搭建到Debian软件包制作的全流程解析

wiliwili是一款专为手柄控制设计的跨平台B站客户端,支持多设备运行。本文将通过需求分析、核心流程、关键技巧和常见问题四个模块,详细介绍如何在Linux系统中完成该应用的Debian软件包制作,帮助开发者实现从源码到可安装软件的完整转化。

一、需求分析:明确打包核心要素

1.1 功能需求

  • 可执行程序完整性:确保编译后的二进制文件包含所有核心功能模块
  • 桌面环境集成:提供正确的桌面快捷方式和图标显示
  • 依赖管理:自动处理运行时所需的系统库文件
  • 架构适配:支持主流Linux架构(如amd64、arm64)

1.2 项目资源定位

  • 构建配置:[CMakeLists.txt](项目根目录构建脚本)
  • 桌面配置:[scripts/linux/cn.xfangfang.wiliwili.desktop](应用启动描述文件)
  • 图标资源:[scripts/linux/icons/](多尺寸应用图标集合)
  • 打包模板:[scripts/deb/switchroot-bionic/](Debian控制文件参考)

二、核心流程:从源码到软件包的转化

2.1 环境准备

🔧 操作要点

  1. 安装基础编译工具链:sudo apt install build-essential cmake git
  2. 安装依赖库:sudo apt install libmpv-dev libcurl4-openssl-dev libssl-dev libwebp-dev
  3. 获取源码:git clone https://gitcode.com/GitHub_Trending/wi/wiliwili

📝 注意事项

  • 确保系统已安装OpenGL开发库(如libgl1-mesa-dev)
  • 建议使用Ubuntu 20.04或Debian 11及以上版本

2.2 应用程序构建

🔧 操作要点

  1. 创建构建目录:mkdir -p build && cd build
  2. 生成Makefile:cmake .. -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release
  3. 编译项目:make -j$(nproc)

📝 注意事项

  • 编译过程需2GB以上内存,低配置系统建议减少并行任务数
  • 若出现依赖错误,检查[CMakeLists.txt]中的依赖声明是否完整

2.3 打包资源整理

🔧 操作要点

  1. 生成图标:cd scripts/linux && chmod +x gen_icons.sh && ./gen_icons.sh
  2. 创建Debian目录结构:
    wiliwili-deb/
    ├── DEBIAN/
    │   ├── control
    │   ├── postinst
    │   └── prerm
    └── usr/
        ├── bin/
        ├── share/applications/
        └── share/icons/hicolor/
    
  3. 复制文件到对应目录:
    • 可执行文件→usr/bin/
    • 桌面文件→usr/share/applications/
    • 图标文件→usr/share/icons/hicolor/[尺寸]/apps/

📝 注意事项

  • 确保所有文件权限正确(可执行文件设为755)
  • 图标尺寸需包含16x16、32x32、48x48、64x64、128x128和256x256

2.4 Debian包生成

🔧 操作要点

  1. 编辑控制文件:修改DEBIAN/control中的版本号和架构信息
  2. 添加维护脚本:编写postinst(安装后)和prerm(卸载前)脚本
  3. 构建软件包:dpkg-deb --build wiliwili-deb

📝 注意事项

  • 控制文件中Depends字段需根据目标系统调整依赖库版本
  • 生成的.deb文件需通过lintian工具检查潜在问题

wiliwili应用界面 图1:wiliwili客户端主界面展示,显示视频推荐和播放功能

三、关键技巧:提升打包质量的实用方法

3.1 依赖处理策略

  • 使用dpkg-shlibdeps自动分析运行时依赖:
    dpkg-shlibdeps -O wiliwili-deb/usr/bin/wiliwili
    
  • 对非标准依赖,可使用dh_make工具生成debian目录框架

3.2 版本管理规范

  • 版本号格式:主版本.次版本.修订号-发布号(如1.6.0-1)
  • 在控制文件中使用${DEB_VERSION_UPSTREAM}变量实现版本自动替换

3.3 测试验证方法

  • 本地安装测试:sudo dpkg -i wiliwili-deb.deb
  • 依赖检查:ldd /usr/bin/wiliwili确认所有库文件都能正确加载
  • 桌面集成测试:检查应用菜单是否显示、图标是否正常

四、常见问题:打包过程中的解决方案

4.1 编译错误

  • 问题:MPV库链接失败 解决:安装libmpv-dev并确保版本≥0.32.0,或在cmake时指定MPV路径

  • 问题:WebP支持缺失 解决:安装libwebp-dev并重新运行cmake

4.2 打包警告

  • 问题:"缺少依赖信息" 解决:使用dpkg-shlibdeps生成依赖列表并更新control文件

  • 问题:"图标缓存未更新" 解决:在postinst脚本中添加update-icon-caches /usr/share/icons/hicolor/*

五、兼容性测试清单

  • ✅ Debian 11 (Bullseye) amd64
  • ✅ Ubuntu 20.04 LTS amd64
  • ✅ Ubuntu 22.04 LTS amd64
  • ✅ Debian 11 arm64 (树莓派4)
  • ⚠️ Ubuntu 18.04 LTS (需手动安装部分依赖)

六、版本迭代记录

  • v1.5.0:初始打包支持,基础功能实现
  • v1.5.2:修复图标显示问题,完善依赖声明
  • v1.6.0:增加arm64架构支持,优化桌面集成
  • v1.6.1:修复postinst脚本权限问题,提升兼容性

通过以上步骤,开发者可以系统地完成wiliwili的Debian软件包制作。建议在每次版本更新时,同步更新控制文件中的版本信息和依赖声明,确保软件包的质量和兼容性。如有复杂场景需求,可参考项目中提供的Dockerfile进行自动化构建流程设计。

登录后查看全文
热门项目推荐
相关项目推荐