首页
/ Debian软件包制作:为wiliwili构建Linux发行版安装包

Debian软件包制作:为wiliwili构建Linux发行版安装包

2026-04-21 11:22:10作者:昌雅子Ethen

wiliwili作为专为手柄控制设计的第三方跨平台B站客户端,支持多设备运行。本文将详细介绍如何在Linux环境下制作Debian软件包,通过"核心价值→环境准备→模块化实施→验证与优化"的四阶段框架,帮助开发者将应用程序打包为标准的Debian安装包,实现便捷的分发与安装。

核心价值:为何选择Debian软件包

Debian软件包(.deb文件)是Debian及其衍生系统(如Ubuntu)的标准安装格式,具有依赖管理、版本控制和系统集成等优势。为wiliwili创建Debian软件包可带来三大核心价值:

  • 简化安装流程:用户无需手动编译,通过dpkg -i命令即可完成安装
  • 系统级集成:自动处理桌面快捷方式、图标和MIME类型关联
  • 版本管理:支持软件包的更新、回滚和卸载,符合Linux用户使用习惯

wiliwili应用界面

图1:wiliwili客户端主界面展示,体现应用在Linux系统上的运行效果

环境准备:从依赖到编译

开发环境搭建:安装必要工具链

在开始打包前,需要确保系统中安装了Debian打包工具和编译依赖。当遇到"命令未找到"错误时,可通过以下命令安装基础工具集:

# 安装Debian打包工具(dpkg-deb:Debian系包打包工具)
sudo apt-get update && sudo apt-get install -y dpkg-dev dh-make build-essential

# 安装wiliwili编译依赖
sudo apt-get install -y cmake libsdl2-dev libmpv-dev libcurl4-openssl-dev

[!TIP] 不同Linux发行版的依赖包名称可能不同,Ubuntu用户可直接使用上述命令,其他发行版需调整包名(如Fedora使用dnf install)。

源代码获取:克隆与目录结构

获取wiliwili源代码并了解项目结构是打包的基础:

# 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/wi/wiliwili
cd wiliwili

# 查看Linux打包相关关键文件
ls -l scripts/linux scripts/deb

关键资源清单

文件路径 功能描述
scripts/linux/cn.xfangfang.wiliwili.desktop 桌面快捷方式定义文件
scripts/linux/gen_icons.sh 图标生成脚本
scripts/deb/switchroot-bionic/control Debian包控制文件模板
wiliwili/source 应用程序源代码目录

模块化实施:构建与打包流程

应用构建:编译可执行文件

wiliwili使用CMake构建系统,需针对Linux桌面环境进行配置:

# 创建构建目录并进入
mkdir -p build && cd build

# 生成多架构Makefile(支持amd64/arm64)
cmake .. -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release

# 并行编译(使用所有CPU核心)
make -j$(nproc)

编译完成后,可在build/wiliwili目录找到可执行文件。

[!TIP] 若编译失败,检查是否安装了所有依赖库。特别注意libmpv-dev版本需≥0.34.0,可通过apt-cache policy libmpv-dev检查版本。

资源准备:图标与桌面文件

图标生成与安装

项目提供的gen_icons.sh脚本可生成多分辨率图标,适配不同桌面环境:

# 进入脚本目录并执行图标生成
cd scripts/linux
chmod +x gen_icons.sh
./gen_icons.sh

# 查看生成的图标尺寸
ls -l icons/*x*/cn.xfangfang.wiliwili.png

该脚本会生成16x16至256x256的多种尺寸图标,满足不同显示需求。

桌面文件配置

桌面文件定义了应用在桌面环境中的显示和行为,关键配置如下:

[Desktop Entry]
Name=wiliwili
Comment=A 3rd party bilibili client
Exec=wiliwili
Icon=cn.xfangfang.wiliwili
Terminal=false
Type=Application
Categories=AudioVideo;Audio;Video;

需要将此文件安装到/usr/share/applications目录,使系统能够识别应用。

软件包构建:Debian包制作

构建目录结构

创建符合Debian规范的目录结构是打包的关键步骤:

wiliwili-deb/
├── DEBIAN/
│   ├── control       # 包元数据和依赖信息
│   ├── postinst      # 安装后执行脚本
│   └── prerm         # 卸载前执行脚本
└── usr/
    ├── bin/
    │   └── wiliwili  # 可执行文件
    ├── share/
    │   ├── applications/
    │   │   └── cn.xfangfang.wiliwili.desktop
    │   └── icons/
    │       └── hicolor/
    │           ├── 16x16/apps/
    │           │   └── cn.xfangfang.wiliwili.png
    │           └── ... (其他尺寸图标)

使用以下命令创建上述结构:

# 创建基础目录
mkdir -p wiliwili-deb/{DEBIAN,usr/bin,usr/share/applications,usr/share/icons/hicolor}

# 复制可执行文件
cp build/wiliwili wiliwili-deb/usr/bin/

# 复制桌面文件
cp scripts/linux/cn.xfangfang.wiliwili.desktop wiliwili-deb/usr/share/applications/

# 复制图标
cp -r scripts/linux/icons/* wiliwili-deb/usr/share/icons/hicolor/

控制文件编写

DEBIAN/control文件是Debian包的核心,定义了包的元数据和依赖关系:

Section: video
Priority: optional
Maintainer: Your Name <your.email@example.com>
Version: 1.5.2-1
Homepage: https://example.com/wiliwili
Package: wiliwili
Architecture: amd64
Depends: libass9, libdbus-1-3, libx11-6, libmpv1, libcurl4
Description: A third-party Bilibili client designed for controller users

[!TIP] 版本号遵循主版本.次版本.修订号-发行号格式,如1.5.2-1表示1.5.2版本的第一个发行版。

生成Debian软件包

使用dpkg-deb工具构建最终的.deb文件:

# 构建Debian软件包
dpkg-deb --build wiliwili-deb

# 查看生成的包文件
ls -l wiliwili-deb.deb

成功构建后,将生成名为wiliwili-deb.deb的软件包。

验证与优化:确保包质量

软件包验证:安装与功能测试

打包完成后,需要进行全面测试以确保质量:

# 安装测试(会实际安装到系统)
sudo dpkg -i wiliwili-deb.deb

# 检查安装的文件
dpkg -L wiliwili

# 验证依赖是否满足
ldd /usr/bin/wiliwili | grep "not found"

# 启动应用测试功能
wiliwili

[!TIP] 若出现依赖缺失错误,使用sudo apt-get -f install可自动安装缺失的依赖包。

架构适配指南:跨平台支持

wiliwili支持多种硬件架构,打包时需注意:

  1. 架构声明:修改control文件的Architecture字段,支持的选项包括:

    • amd64:64位x86架构
    • arm64:64位ARM架构(如树莓派4)
    • i386:32位x86架构(老旧系统)
  2. 交叉编译:为其他架构构建时,需配置交叉编译工具链:

    # 为arm64架构交叉编译示例
    cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/arm64-linux-gnu.cmake
    

桌面集成优化:提升用户体验

良好的桌面集成能显著提升用户体验:

  1. 图标缓存更新:在postinst脚本中添加图标缓存更新:

    #!/bin/bash
    update-desktop-database /usr/share/applications
    gtk-update-icon-cache -f /usr/share/icons/hicolor
    
  2. MIME类型支持:添加视频文件关联,让wiliwili成为视频文件的打开选项。

  3. 应用程序菜单分类:确保desktop文件中的Categories字段正确,使应用出现在正确的菜单分类中。

自动化构建建议:CI/CD流程

为提高打包效率,建议设置自动化构建流程:

  1. GitHub Actions配置:创建.github/workflows/deb-package.yml,包含以下步骤:

    • 检出代码
    • 安装依赖
    • 编译应用
    • 构建Debian包
    • 上传制品
  2. 多架构构建:使用Docker的多架构支持,一次配置构建多种架构的软件包。

  3. 版本管理:使用git标签管理版本号,自动生成对应的Debian包版本。

总结

通过本文介绍的四阶段框架,我们完成了wiliwili的Debian软件包制作过程。从环境准备到模块化实施,再到验证与优化,每个阶段都关注实际操作和问题解决。Debian软件包制作不仅是应用分发的基础,也是开源项目标准化的重要一步。

希望本文能帮助开发者顺利为Linux系统构建wiliwili的Debian软件包,让更多用户能够便捷地体验这款优秀的手柄控制B站客户端。随着项目的发展,持续优化打包流程和软件质量,将为用户带来更好的体验。

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