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
+4 -4
View File
@@ -77,7 +77,7 @@ jobs:
run: |
set -euo pipefail
VERSION="${TAG#v}"
/snap/bin/snapcraft status vocalinux | tee /tmp/snap-status.txt
/snap/bin/snapcraft status voculinux | tee /tmp/snap-status.txt
# POSIX: mawk has no \S — use a literal non-space class.
row=$(awk '/^[^ \t]/ { track = $1 }
track == "latest" && $1 == "candidate" { print $2, $3; exit }
@@ -110,7 +110,7 @@ jobs:
row=$(awk '/^[^ \t]/ { track = $1 }
track == "latest" && $1 == "candidate" { print $2, $3; exit }
track == "latest" && $3 == "candidate" { print $4, $5; exit }' \
<(/snap/bin/snapcraft status vocalinux))
<(/snap/bin/snapcraft status voculinux))
read -r seen_version revision <<<"$row"
if [ "${revision:-}" != "$REVISION" ] || [ "$seen_version" != "$VERSION" ]; then
echo "latest/candidate moved on (now version=${seen_version:-none} revision=${revision:-none}); aborting instead of promoting the stale revision" >&2
@@ -123,5 +123,5 @@ jobs:
REVISION: ${{ steps.candidate.outputs.revision }}
run: |
set -euo pipefail
/snap/bin/snapcraft release vocalinux "$REVISION" latest/stable
/snap/bin/snapcraft status vocalinux
/snap/bin/snapcraft release voculinux "$REVISION" latest/stable
/snap/bin/snapcraft status voculinux