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
+10 -10
View File
@@ -3,13 +3,13 @@
## Users
```bash
yay -S vocalinux # canonical release sdist, built against Arch dependencies
yay -S vocalinux-git # community package; tracks main
yay -S voculinux # canonical release sdist, built against Arch dependencies
yay -S voculinux-git # community package; tracks main
```
`vocalinux`, `vocalinux-bin` and `vocalinux-git` conflict; install only one.
`voculinux`, `voculinux-bin` and `voculinux-git` conflict; install only one.
`packaging/aur/vocalinux-bin/` builds a `-bin` variant that installs the
`packaging/aur/voculinux-bin/` builds a `-bin` variant that installs the
prebuilt AppImage from the release — no Python, engine, or GPU dependency
builds, since the bundle carries them (#817). Its publication waits only for
release creation and both AppImages, not the source-package gate or other
@@ -19,7 +19,7 @@ then pushes to AUR in the `Publish AUR -bin package` step.
## Maintainers (one-time setup)
Release tags prepare and test the source PKGBUILD from
`packaging/aur/vocalinux/PKGBUILD`, then auto-push the verified file when these
`packaging/aur/voculinux/PKGBUILD`, then auto-push the verified file when these
secrets exist:
| Secret | Value |
@@ -30,16 +30,16 @@ secrets exist:
```bash
# 1. AUR account + SSH pubkey: https://aur.archlinux.org/register
ssh-keygen -t ed25519 -C "vocalinux-aur" -f ./aur_ed25519 -N ""
ssh-keygen -t ed25519 -C "voculinux-aur" -f ./aur_ed25519 -N ""
# upload aur_ed25519.pub on AUR; put aur_ed25519 in AUR_SSH_PRIVATE_KEY
# 2. Create empty package once
git clone ssh://aur@aur.archlinux.org/vocalinux.git
git clone ssh://aur@aur.archlinux.org/voculinux.git
# 3. Next v* tag runs Publish to AUR (skipped if secret missing)
```
Sources: `packaging/aur/vocalinux/PKGBUILD`. Community git package: https://aur.archlinux.org/packages/vocalinux-git
Sources: `packaging/aur/voculinux/PKGBUILD`. Community git package: https://aur.archlinux.org/packages/voculinux-git
## Source archive and trust model
@@ -91,7 +91,7 @@ Only after this succeeds is `aur-source-pkgbuild` uploaded for `publish-aur`.
Publication downloads that exact file; there is no version rewrite or
`updpkgsums` afterwards. The gate runs even without AUR credentials; only the
final push is secret-gated. This intentionally makes source publication wait
for the release's checksums and attestations. `vocalinux-bin` uses a separate
for the release's checksums and attestations. `voculinux-bin` uses a separate
AppImage publication path independent of this source gate and the global
checksum job; its PR smoke still uses a stub AppImage.
@@ -107,7 +107,7 @@ What those providers actually ship remains a separate monitoring question.
**`ERROR Missing dependencies: setuptools<82`**
The AUR package builds with `python -m build --wheel --no-isolation`, so it uses Arch extra `python-setuptools` (currently 84). Vocalinux 0.16.1 drops the `<82` cap in `pyproject.toml`. Rebuild 0.16.1 or later.
The AUR package builds with `python -m build --wheel --no-isolation`, so it uses Arch extra `python-setuptools` (currently 84). Voculinux 0.16.1 drops the `<82` cap in `pyproject.toml`. Rebuild 0.16.1 or later.
**`'_pywhispercpp.whisper_full_params' object has no attribute 'context_params'`**