package-release

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Package Release

发布包构建

Build distribution packages (deb, rpm) for voxtype releases.
为voxtype版本构建发行版包(deb、rpm)。

Prerequisites

前提条件

  • fpm
    - Install with
    gem install fpm
  • rpmbuild
    - Install with
    sudo dnf install rpm-build
    or
    sudo pacman -S rpm-tools
  • Pre-built binaries in
    releases/${VERSION}/
  • fpm
    - 使用
    gem install fpm
    安装
  • rpmbuild
    - 使用
    sudo dnf install rpm-build
    sudo pacman -S rpm-tools
    安装
  • 预构建的二进制文件位于
    releases/${VERSION}/
    目录下

Quick Package

快速打包

If binaries already exist:
bash
./scripts/package.sh --skip-build ${VERSION}
如果二进制文件已存在:
bash
./scripts/package.sh --skip-build ${VERSION}

Full Build + Package

完整构建+打包

Build binaries and create packages:
bash
./scripts/package.sh ${VERSION}
构建二进制文件并创建包:
bash
./scripts/package.sh ${VERSION}

Options

选项

FlagDescription
--skip-build
Use existing binaries, don't rebuild
--deb-only
Build only Debian package
--rpm-only
Build only RPM package
--no-validate
Skip package validation
--release N
Set package release number (default: 1)
--arch ARCH
Target architecture: x86_64 or aarch64
标识描述
--skip-build
使用已有的二进制文件,不重新构建
--deb-only
仅构建Debian包
--rpm-only
仅构建RPM包
--no-validate
跳过包验证
--release N
设置包的发布编号(默认:1)
--arch ARCH
目标架构:x86_64或aarch64

Output

输出

Packages are created in
releases/${VERSION}/
:
  • voxtype_${VERSION}-1_amd64.deb
  • voxtype-${VERSION}-1.x86_64.rpm
包将创建在
releases/${VERSION}/
目录下:
  • voxtype_${VERSION}-1_amd64.deb
  • voxtype-${VERSION}-1.x86_64.rpm

Validation

验证

The script automatically:
  1. Validates binaries for CPU instruction contamination
  2. Checks deb package structure for duplicate fields
  3. Verifies required control file fields
脚本会自动执行以下操作:
  1. 验证二进制文件是否存在CPU指令污染
  2. 检查deb包结构是否存在重复字段
  3. 验证所需的控制文件字段是否齐全

Workflow

工作流程

  1. Build binaries (Docker for AVX2/Vulkan, local for AVX-512)
  2. Verify binary versions match expected version
  3. Run
    ./scripts/package.sh --skip-build ${VERSION}
  4. Test package installation in a VM or container
  1. 构建二进制文件(使用Docker构建AVX2/Vulkan版本,本地构建AVX-512版本)
  2. 验证二进制文件版本是否与预期版本匹配
  3. 运行
    ./scripts/package.sh --skip-build ${VERSION}
  4. 在虚拟机或容器中测试包的安装

Common Issues

常见问题

Binary not found:
Error: Binary not found: releases/0.4.14/voxtype-0.4.14-linux-x86_64-avx2
Build binaries first or check the version number.
fpm not found:
bash
gem install fpm
Validation failed: Check the specific error. Usually means Docker cache is stale.
未找到二进制文件:
Error: Binary not found: releases/0.4.14/voxtype-0.4.14-linux-x86_64-avx2
请先构建二进制文件,或检查版本号是否正确。
未找到fpm:
bash
gem install fpm
验证失败: 查看具体错误信息。通常意味着Docker缓存已过期。