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
+5 -5
View File
@@ -129,7 +129,7 @@ class TestLoggingManager:
manager = lm.LoggingManager(max_records=10)
try:
assert manager.logs_dir == tmp_path / "vocalinux" / "logs"
assert manager.logs_dir == tmp_path / "voculinux" / "logs"
assert manager.logs_dir.is_dir()
finally:
root_logger.removeHandler(manager.handler)
@@ -296,7 +296,7 @@ class TestLoggingManager:
record2 = LogRecord(
timestamp=datetime.now(),
level="INFO",
logger_name="vocalinux.speech.test",
logger_name="voculinux.speech.test",
message="Speech message",
)
logging_manager.add_log_record(record1)
@@ -353,7 +353,7 @@ class TestLoggingManager:
with open(filepath, "r") as f:
content = f.read()
assert "VocaLinux Log Export" in content
assert "Voculinux Log Export" in content
assert "Export test message" in content
finally:
if os.path.exists(filepath):
@@ -451,7 +451,7 @@ class TestLoggingManager:
record2 = LogRecord(
timestamp=timestamp2,
level="ERROR",
logger_name="vocalinux.speech.test",
logger_name="voculinux.speech.test",
message="Message 2",
)
logging_manager.add_log_record(record1)
@@ -462,7 +462,7 @@ class TestLoggingManager:
assert stats["total"] == 2
assert stats["by_level"]["INFO"] == 1
assert stats["by_level"]["ERROR"] == 1
assert "vocalinux" in stats["by_module"]
assert "voculinux" in stats["by_module"]
assert stats["oldest"] == timestamp1
assert stats["newest"] == timestamp2