From 68a4a6cc220820d0bc4d067f8709d8892fd1275e Mon Sep 17 00:00:00 2001 From: Spencer Bull Date: Sun, 6 Sep 2026 01:59:58 -0500 Subject: [PATCH] Keep in-app updates on the verified Hermes CLI --- pkgbuilds/hermes-desktop/PKGBUILD | 2 +- pkgbuilds/hermes-desktop/hermes-desktop.sh | 1 + test/hermes-desktop-test.py | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgbuilds/hermes-desktop/PKGBUILD b/pkgbuilds/hermes-desktop/PKGBUILD index f00eee3..f75815b 100644 --- a/pkgbuilds/hermes-desktop/PKGBUILD +++ b/pkgbuilds/hermes-desktop/PKGBUILD @@ -30,7 +30,7 @@ source=("install-${_commit}.sh::https://raw.githubusercontent.com/NousResearch/h 'hermes-desktop.png') sha256sums=('5854b15670b51a8daae8f59ddfa917062de9f74be261eb73b4b8d719710f8968' '821556e6336796450ab852d375117b48a4887e71d255794fd6318d99982a5ab6' - '5113ba692fe00b0f4806f799ce16b85a44bb2bd901ca17577ba64c887b1fb33d' + '259547e64eda2fd6514bc5bd9e6637de063a0ac5e2739d4c873f18838fe26b3a' 'c37d4cfa4801eccbd769fddaebb2115d54faa49a5b7bc0f305f563e3cefd9bd8' 'd60d164e24fdcf6532133b8ea43c77a201e4b9e9dbc396187b58d51d8590ef52') diff --git a/pkgbuilds/hermes-desktop/hermes-desktop.sh b/pkgbuilds/hermes-desktop/hermes-desktop.sh index e8a1716..2de3f09 100644 --- a/pkgbuilds/hermes-desktop/hermes-desktop.sh +++ b/pkgbuilds/hermes-desktop/hermes-desktop.sh @@ -228,6 +228,7 @@ if ! ready; then fi export HERMES_DESKTOP_HERMES_ROOT="$root" +export PATH="$HOME/.local/bin:$PATH" export HERMES_DESKTOP_PASSWORD_STORE="${HERMES_DESKTOP_PASSWORD_STORE:-gnome-libsecret}" unset ELECTRON_RUN_AS_NODE PYTHONPATH PYTHONHOME diff --git a/test/hermes-desktop-test.py b/test/hermes-desktop-test.py index 15f0335..05bcd36 100644 --- a/test/hermes-desktop-test.py +++ b/test/hermes-desktop-test.py @@ -71,10 +71,11 @@ class LauncherTests(unittest.TestCase): self.write(self.base / 'installer', INSTALLER) self.write(self.base / 'python', '#!/bin/bash\n[[ ${FAIL_READY:-} != 1 ]]\n') self.write(self.base / 'gui', '''#!/usr/bin/env python3 -import json,os,sys,time -json.dump({'pid':os.getpid(),'args':sys.argv[1:],'root':os.environ['HERMES_DESKTOP_HERMES_ROOT'],'node':os.environ.get('ELECTRON_RUN_AS_NODE'),'password':os.environ['HERMES_DESKTOP_PASSWORD_STORE']},open(os.environ['TEST_OUTPUT'],'w')) +import json,os,sys,time,shutil +json.dump({'selected_cli':shutil.which('hermes'),'pid':os.getpid(),'args':sys.argv[1:],'root':os.environ['HERMES_DESKTOP_HERMES_ROOT'],'node':os.environ.get('ELECTRON_RUN_AS_NODE'),'password':os.environ['HERMES_DESKTOP_PASSWORD_STORE']},open(os.environ['TEST_OUTPUT'],'w')) if os.environ.get('TEST_GUI_WAIT'): time.sleep(30) ''') + self.write(self.bin / 'hermes', '#!/bin/bash\nexit 99\n') self.write(self.bin / 'unshare', '#!/bin/bash\nexit 0\n') self.write(self.bin / 'xdg-terminal-exec', '#!/bin/bash\nprintf "%s\\n" "$@" > "$TEST_OUTPUT"\n') source = SOURCE.read_text().replace('/usr/share/hermes-desktop/install.sh', str(self.base / 'installer')) @@ -111,6 +112,7 @@ if os.environ.get('TEST_GUI_WAIT'): time.sleep(30) observed = json.loads(self.output.read_text()) self.assertEqual(observed['args'], ['--ozone-platform=wayland','--disable-setuid-sandbox','hermes://test?a=b','two words']) self.assertEqual(observed['root'],str(self.root)) + self.assertEqual(observed['selected_cli'],str(self.home/'.local/bin/hermes')) self.assertIsNone(observed['node']) self.assertEqual(observed['password'],'gnome-libsecret') self.assertEqual(before,self.log.read_bytes())