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:
@@ -108,10 +108,10 @@ echo "== Satisfy the AUR-resolved depends for dependency resolution =="
|
||||
STUB="$WORKDIR/stub"
|
||||
mkdir -p "$STUB"
|
||||
cat >"$STUB/PKGBUILD" <<EOF
|
||||
pkgname=vocalinux-gate-stub
|
||||
pkgname=voculinux-gate-stub
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
pkgdesc="Satisfies the AUR-resolved depends of the vocalinux build gate"
|
||||
pkgdesc="Satisfies the AUR-resolved depends of the voculinux build gate"
|
||||
arch=('any')
|
||||
provides=('python-pywhispercpp' 'python-pynput')
|
||||
EOF
|
||||
@@ -169,12 +169,12 @@ pacman -U --noconfirm "$BUILD"/*.pkg.tar.* >/dev/null
|
||||
# The console script proves the wheel's entry points landed; the imports walk
|
||||
# every depends entry the package declares (gi/Gtk/AppIndicator, IBus, cairo,
|
||||
# pyaudio, numpy, requests, tqdm, psutil, evdev, xlib, pynput).
|
||||
vocalinux --version
|
||||
voculinux --version
|
||||
python - "$_version" <<'PY' || fail "the installed package does not import or has the wrong version"
|
||||
import sys
|
||||
from importlib.metadata import version
|
||||
|
||||
assert version("vocalinux") == sys.argv[1], "installed distribution version differs from the sdist"
|
||||
assert version("voculinux") == sys.argv[1], "installed distribution version differs from the sdist"
|
||||
|
||||
import vocalinux.main
|
||||
import vocalinux.ui.tray_indicator
|
||||
@@ -196,13 +196,13 @@ if [ "${AUR_SOURCE_ONLY:-0}" = 1 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "== Build vocalinux-bin against a stub AppImage =="
|
||||
echo "== Build voculinux-bin against a stub AppImage =="
|
||||
# The -bin package's arch sources are the published release assets, which do
|
||||
# not exist for an untagged HEAD. A placeholder exercises the same package()
|
||||
# install path on this arch; the pinned sums still describe the real assets,
|
||||
# so this stage skips checksum verification — release.yml's updpkgsums keeps
|
||||
# the published PKGBUILD pinned to the actual files.
|
||||
BINPKGDIR="$REPO/packaging/aur/vocalinux-bin"
|
||||
BINPKGDIR="$REPO/packaging/aur/voculinux-bin"
|
||||
[ -f "$BINPKGDIR/PKGBUILD" ] || fail "$BINPKGDIR/PKGBUILD not found"
|
||||
# shellcheck source=/dev/null
|
||||
source "$BINPKGDIR/PKGBUILD"
|
||||
@@ -214,10 +214,10 @@ pacman_retry -S --needed --noconfirm --asdeps "${depends[@]}" >/dev/null
|
||||
# directory as that user — makepkg writes into it as `builder`.
|
||||
BINBUILD="$WORKDIR/binpkg"
|
||||
runuser -u builder -- mkdir -p "$BINBUILD"
|
||||
cp "$BINPKGDIR/PKGBUILD" "$BINPKGDIR/vocalinux.desktop" \
|
||||
"$BINPKGDIR/vocalinux.svg" "$BINPKGDIR/LICENSE" "$BINBUILD/"
|
||||
cp "$BINPKGDIR/PKGBUILD" "$BINPKGDIR/voculinux.desktop" \
|
||||
"$BINPKGDIR/voculinux.svg" "$BINPKGDIR/LICENSE" "$BINBUILD/"
|
||||
CARCH="$(uname -m)"
|
||||
printf 'aur gate stub\n' >"$BINBUILD/Vocalinux-${_tag}-${CARCH}.AppImage"
|
||||
printf 'aur gate stub\n' >"$BINBUILD/Voculinux-${_tag}-${CARCH}.AppImage"
|
||||
|
||||
(
|
||||
cd "$BINBUILD"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Maintainer: Jatin K Malik <jatinkrmalik@gmail.com>
|
||||
# Updated by .github/workflows/release.yml on v* tags. Setup: docs/AUR.md
|
||||
|
||||
pkgname=vocalinux-bin
|
||||
pkgname=voculinux-bin
|
||||
# AUR pkgver cannot contain hyphens (v0.14.0-beta -> 0.14.0beta).
|
||||
pkgver=0.17.0
|
||||
_tag=0.17.0
|
||||
@@ -28,17 +28,17 @@ optdepends=(
|
||||
'wl-clipboard: Wayland clipboard (wl-copy/wl-paste) injection fallbacks'
|
||||
'ydotool: uinput keystroke injection fallback'
|
||||
)
|
||||
provides=('vocalinux')
|
||||
conflicts=('vocalinux' 'vocalinux-git')
|
||||
provides=('voculinux')
|
||||
conflicts=('voculinux' 'voculinux-git')
|
||||
# Stripping would rewrite the runtime header of a self-mounting ELF.
|
||||
options=('!strip')
|
||||
source=(
|
||||
'vocalinux.desktop'
|
||||
'vocalinux.svg'
|
||||
'voculinux.desktop'
|
||||
'voculinux.svg'
|
||||
'LICENSE'
|
||||
)
|
||||
source_x86_64=("Vocalinux-${_tag}-x86_64.AppImage::https://github.com/VocaHQ/vocalinux/releases/download/v${_tag}/Vocalinux-${_tag}-x86_64.AppImage")
|
||||
source_aarch64=("Vocalinux-${_tag}-aarch64.AppImage::https://github.com/VocaHQ/vocalinux/releases/download/v${_tag}/Vocalinux-${_tag}-aarch64.AppImage")
|
||||
source_x86_64=("Voculinux-${_tag}-x86_64.AppImage::https://github.com/VocaHQ/vocalinux/releases/download/v${_tag}/Voculinux-${_tag}-x86_64.AppImage")
|
||||
source_aarch64=("Voculinux-${_tag}-aarch64.AppImage::https://github.com/VocaHQ/vocalinux/releases/download/v${_tag}/Voculinux-${_tag}-aarch64.AppImage")
|
||||
sha256sums=('837006a9c689146308eae8c57cba1cdcc06673a108e72f39231837c6f63ae487'
|
||||
'128b8939ffc00314a55d0600ab29c6a92dfb116138e088c59579a086616ec8ec'
|
||||
'8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef')
|
||||
@@ -46,16 +46,16 @@ sha256sums_x86_64=('1a87408bf5bd8f9176c395a4da9ce28c68a1a7585bd67f125ff6037c4328
|
||||
sha256sums_aarch64=('b256fe8577e2733a4da3ae4f9c2b9717f10017ad8328b832070ce04edc996a7d')
|
||||
|
||||
package() {
|
||||
install -Dm755 "Vocalinux-${_tag}-${CARCH}.AppImage" \
|
||||
"${pkgdir}/opt/${pkgname}/Vocalinux-${_tag}-${CARCH}.AppImage"
|
||||
install -Dm755 "Voculinux-${_tag}-${CARCH}.AppImage" \
|
||||
"${pkgdir}/opt/${pkgname}/Voculinux-${_tag}-${CARCH}.AppImage"
|
||||
|
||||
install -Dm644 vocalinux.desktop \
|
||||
"${pkgdir}/usr/share/applications/vocalinux.desktop"
|
||||
install -Dm644 vocalinux.svg \
|
||||
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/vocalinux.svg"
|
||||
install -Dm644 voculinux.desktop \
|
||||
"${pkgdir}/usr/share/applications/voculinux.desktop"
|
||||
install -Dm644 voculinux.svg \
|
||||
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/voculinux.svg"
|
||||
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
|
||||
install -dm755 "${pkgdir}/usr/bin"
|
||||
ln -s "/opt/${pkgname}/Vocalinux-${_tag}-${CARCH}.AppImage" \
|
||||
"${pkgdir}/usr/bin/vocalinux"
|
||||
ln -s "/opt/${pkgname}/Voculinux-${_tag}-${CARCH}.AppImage" \
|
||||
"${pkgdir}/usr/bin/voculinux"
|
||||
}
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Vocalinux
|
||||
Name=Voculinux
|
||||
Comment=Seamless voice dictation system for Linux
|
||||
GenericName=Voice Typing
|
||||
Exec=vocalinux
|
||||
Icon=vocalinux
|
||||
Exec=voculinux
|
||||
Icon=voculinux
|
||||
Terminal=false
|
||||
Categories=Utility;Accessibility;AudioVideo;
|
||||
Keywords=voice;typing;dictation;speech;recognition;transcription;accessibility;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 460" width="460" height="460" role="img" aria-label="Vocalinux">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 460" width="460" height="460" role="img" aria-label="Voculinux">
|
||||
<circle cx="229" cy="231.5" r="221.5" fill="#0F6B57"/>
|
||||
<path d="M 164 127 A 65 65 0 0 1 294 127 L 294 224 A 65 65 0 0 1 164 224 Z" fill="#F2F6F2"/>
|
||||
<path d="M 144.87 202.02 A 87 87 0 1 0 312.13 202.02" fill="none" stroke="#F2F6F2" stroke-width="18" stroke-linecap="round"/>
|
||||
|
Before Width: | Height: | Size: 887 B After Width: | Height: | Size: 887 B |
@@ -1,7 +1,7 @@
|
||||
# Maintainer: Jatin K Malik <jatinkrmalik@gmail.com>
|
||||
# Updated by .github/workflows/release.yml on v* tags. Setup: docs/AUR.md
|
||||
|
||||
pkgname=vocalinux
|
||||
pkgname=voculinux
|
||||
# AUR pkgver cannot contain hyphens (v0.14.0-beta -> 0.14.0beta).
|
||||
pkgver=0.18.4
|
||||
_tag=0.18.4
|
||||
@@ -58,7 +58,7 @@ optdepends=(
|
||||
'wtype: Wayland keystroke injection fallback'
|
||||
'gtk-layer-shell: dictation overlay as a layer surface on KDE and wlroots Wayland'
|
||||
)
|
||||
conflicts=('vocalinux-git')
|
||||
conflicts=('voculinux-git')
|
||||
source=("${pkgname}-${_version}.tar.gz::https://github.com/VocaHQ/vocalinux/releases/download/v${_tag}/${pkgname}-${_version}.tar.gz")
|
||||
# Canonical release sdist, also published on PyPI. prepare_aur_source.py verifies
|
||||
# its checksum/provenance before pinning the next version; publication never rehashes.
|
||||
@@ -74,7 +74,7 @@ package() {
|
||||
python -m installer --destdir="${pkgdir}" dist/*.whl
|
||||
|
||||
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
install -Dm644 vocalinux.desktop "${pkgdir}/usr/share/applications/vocalinux.desktop"
|
||||
install -Dm644 voculinux.desktop "${pkgdir}/usr/share/applications/voculinux.desktop"
|
||||
|
||||
for icon in resources/icons/scalable/*.svg; do
|
||||
install -Dm644 "$icon" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/$(basename "$icon")"
|
||||
Reference in New Issue
Block a user