Package Release
Build distribution packages (deb, rpm) for voxtype releases.
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}/
Quick Package
If binaries already exist:
./scripts/package.sh --skip-build ${VERSION}
Full Build + Package
Build binaries and create packages:
./scripts/package.sh ${VERSION}
Options
Flag Description
--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
Output
Packages are created in releases/${VERSION}/ :
-
voxtype_${VERSION}-1_amd64.deb
-
voxtype-${VERSION}-1.x86_64.rpm
Validation
The script automatically:
-
Validates binaries for CPU instruction contamination
-
Checks deb package structure for duplicate fields
-
Verifies required control file fields
Workflow
-
Build binaries (Docker for AVX2/Vulkan, local for AVX-512)
-
Verify binary versions match expected version
-
Run ./scripts/package.sh --skip-build ${VERSION}
-
Test package installation in a VM or container
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:
gem install fpm
Validation failed: Check the specific error. Usually means Docker cache is stale.