feat(identity): rename user-visible identity to voculinux with one-time legacy import

The fork takes its own name everywhere a user can see it: binaries
(voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus
namespace (com.voculinux.Voculinux, no alias for the old name),
config/data/cache dirs, single-instance lock, IBus engine identity,
tray icons, resource prefixes, VOCULINUX_* environment names, and the
update-checker user agent. The internal Python module stays vocalinux
and the distribution metadata keeps the upstream URLs as provenance.

On first run a previous Vocalinux install's config.json, custom
dictionary, and portal restore token are copied once into the new
locations (new config always wins, no merge, no write-back); models
re-resolve through the pinned-checksum download path. An offline
naming-sweep test proves no old-name strings remain on user-visible
surfaces outside the allowlist.

Refs #18
This commit is contained in:
soubarnak
2026-11-06 01:29:39 +05:30
parent c565e6d946
commit ea7be5f111
251 changed files with 2449 additions and 1991 deletions
+7 -7
View File
@@ -8,8 +8,8 @@
# the gi typelibs come from the distribution, and so do every Python
# dependency the distros package. Only pywhispercpp and pynput are vendored —
# pywhispercpp is not packaged by Debian or Fedora at all, and pynput is
# missing from Fedora — both under /usr/lib/vocalinux/vendor/, on sys.path via
# the launcher in /usr/bin/vocalinux. Vendoring the pywhispercpp wheel per
# missing from Fedora — both under /usr/lib/voculinux/vendor/, on sys.path via
# the launcher in /usr/bin/voculinux. Vendoring the pywhispercpp wheel per
# supported CPython is what keeps the package free of a bundled interpreter.
#
# Version: VOCA_VERSION is the tag without its leading v and without a
@@ -17,7 +17,7 @@
# nfpm maps a prerelease to 0.19.0~beta-1, which orders before the stable
# 0.19.0-1 in both formats.
name: vocalinux
name: voculinux
arch: ${VOCA_ARCH}
platform: linux
version: ${VOCA_VERSION}
@@ -31,12 +31,12 @@ description: |
transcribe speech locally (whisper.cpp by default), and type into the
focused window. GTK, PyGObject and the interpreter come from the
distribution; pywhispercpp and pynput are vendored under
/usr/lib/vocalinux/vendor because neither distro packages them.
/usr/lib/voculinux/vendor because neither distro packages them.
homepage: https://github.com/VocaHQ/vocalinux
license: AGPL-3.0-only
contents:
# The staged payload tree: /usr/lib/vocalinux/{app,vendor}, the launchers in
# The staged payload tree: /usr/lib/voculinux/{app,vendor}, the launchers in
# /usr/bin, the desktop file and the hicolor icon. build.sh writes it.
- src: ./payload/
dst: /
@@ -45,10 +45,10 @@ contents:
# License placement differs between the formats: Debian policy wants the
# copyright file under /usr/share/doc, Fedora marks /usr/share/licenses.
- src: ./pkg-doc/LICENSE
dst: /usr/share/doc/vocalinux/copyright
dst: /usr/share/doc/voculinux/copyright
packager: deb
- src: ./pkg-doc/LICENSE
dst: /usr/share/licenses/vocalinux/LICENSE
dst: /usr/share/licenses/voculinux/LICENSE
packager: rpm
overrides: