Files
voculinux/packaging/native/tool_checksums.txt
T
4b7d57c077 feat(packaging): build thin .deb and .rpm and attach them to releases (#913)
* feat(packaging): build thin .deb and .rpm with nfpm and attach them to releases

Adds packaging/native: an nfpm config that produces a .deb and an .rpm
from the release wheel. The packages stay thin - Python, GTK, PyGObject
and the typelibs are distro Depends; only pywhispercpp and pynput are
vendored because the first is unpackaged on both distros and the second
is missing on Fedora. The Debian 12 build image and the nfpm download
are pinned in tool_checksums.txt.

just native-packages builds both in the pinned container, and
native-smoke installs the built package per distro: debian:12 and
ubuntu:24.04 exercise the .deb, fedora:42 the .rpm, then each runs
vocalinux --version plus an import smoke of the app and the vendored
extension. unified-pipeline.yml gates on the same three-distro matrix,
and release.yml attaches both arches to the release and covers them in
SHA256SUMS and the provenance manifest.

Refs #600

* fix(packaging): preserve launcher args and document Wayland input group

The launcher joined $* into an unquoted exec, re-splitting file paths
that contain spaces before argparse saw them. Exec "$@" directly and
re-quote each argument for the inner shell of 'sg input -c'.

On Wayland the packages could not grant the 'input' group membership
evdev hotkeys need; name the usermod step and its caveat in INSTALL.md
and the release notes.

* test(packaging): add return types to the native packaging tests

---------

Co-authored-by: Jatin K Malik <jatinkrmalik@gmail.com>
2026-10-07 17:10:00 -07:00

24 lines
1.5 KiB
Plaintext

# Pinned build inputs for packaging/native/build.sh.
#
# Same contract as packaging/appimage/tool_checksums.txt: everything the
# package build downloads is pinned and verified here, so two builds of the
# same commit cannot differ.
#
# Columns: name, kind, value, source — parseable by awk.
#
# sha256 the file downloaded from <source> must hash to <value>
# docker build inside image <value>; <source> records the tag it came from
# version recorded for humans; the hash pins pin the artifacts themselves
#
# To bump nfpm: change the version in the <source> URLs, download the
# tarballs, and replace <value> with `sha256sum` of each. The base image
# digest comes from `docker buildx imagetools inspect debian:12` (use the
# index digest, not a per-architecture one — the same line has to work on
# x86_64 and aarch64).
base-image docker docker.io/library/debian@sha256:2c037a04925515fdd6ea85ea14a682d0e79931f5e9f5d07b6dbfc6ba12f9e858 debian:12
nfpm version 2.47.0 https://github.com/goreleaser/nfpm/releases/tag/v2.47.0
nfpm-x86_64 sha256 0660ca602b2d2d2ae4781a06c692b3eeb9d437ffea05b831d76e41f4a3188783 https://github.com/goreleaser/nfpm/releases/download/v2.47.0/nfpm_2.47.0_Linux_x86_64.tar.gz
nfpm-aarch64 sha256 1c0f5f2999b9a974bfb04fdb0cc3306096de530ac5dbb25d739cc5f5219c919c https://github.com/goreleaser/nfpm/releases/download/v2.47.0/nfpm_2.47.0_Linux_arm64.tar.gz